计算订单总价
一个商品订单中包含若干种不同的商品,每个商品包含商口名,单价,个数,请实现 sum_order 函数,计算订单需支付的总价。
函数定义
double sum_order(ORDER *order);
函数说明
sum_order函数的功能是计算购物车中的商品总价,并将总价格保存至order的total_price中,同时将总价格作为sum_order的返回值返回。
#include <stdio.h>
/* ITEM 表示订单中的一项商品,包含商品名,价格,数量 */
typedef struct order_item {
char name[64];
double price;
int num;
} ORDER_ITEM;
/* ORDER 表示订单,items表示详细的商品列表,items_num 表示商品数量, total_price 表示总价*/
typedef struct order {
int items_num;
ORDER_ITEM items[3];
double total_price;
}ORDER;
/*
请实现此函数,计算参数 order 代表的购物车中的商品总价
并把总价保存至 order->total_price 中,同时从函数返回总价
*/
double sum_order(ORDER *order) {
int i=0;
for(i=0;i<3;i++)
{
(order->total_price)+=(order->items[i].price)*(order->items[i].num);
}
return order->total_price;
}
int main (void) {
double total_price;
ORDER order = {3, {{"苹果", 3.5, 2},{"香蕉", 4.2, 4},{"梨", 1.9, 3}}, 0};
total_price = sum_order(&order);
printf("%.2f", total_price);
return 0;
}
如有错误,欢迎大家指正。