记录——《C Primer Plus (第五版)》第七章编程练习第十一题
来源:互联网 发布:知乎推广技巧 编辑:程序博客网 时间:2024/05/01 14:45
ABC Mail Order Grocery朝鲜蓟的售价是1.25美元/磅,甜菜的售价是0.65美元/磅,胡萝卜的售价是0.89美元/磅。在添加运输费用之前,他们为100美元的订单提供5%的打折优惠。对5磅或以下的定单收取3.50美元的运输和装卸费用;超过5磅而不足20磅的定单收取1O.OO美元的运输和装卸费用:20磅或以上的运输,在8美元基础上每磅加收0.1美元。编写程序,在循环中使用switch语句,以便对输入的响应是让用户输入所需的a朝鲜蓟磅数,b甜菜的磅数,c胡萝卜的磅数,而q允许用户退出订购过程。然后程序计算总费用、折扣和运输费用(如果有运输费的话),以及总数。随后程序应该显示所有的购买信息:每磅的费用、订购的磅数、该订单每种蔬菜的费用、订单的总费用、折扣,如果有的话加上运输费用,以及所有费用的总数。
# include <stdio.h># define PRICEA 1.25 //a物品的单价# define PRICEB 0.65# define PRICEC 0.89# define COST_POUND_LV1 3.50 //一级运费# define COST_POUND_LV2 10.00# define COST_POUND_LV3 8.00# define COST_POUND_LV3_ADD 0.10# define DISCOUNT 0.05double getweight(double);void clear();int main(void){ char ch; double pounds[3] = {0}; //物品重量 double cost_total=0; // 总费用 double cost_transport=0; //总运输费用 double cost_discount=0; //折扣 double pound_total = 0; //总磅数 double order = 0; //总订单 double cost_a_total=0; //朝鲜蓟的总价 double cost_b_total=0; double cost_c_total=0; printf("请输入要选择的商品的序号:\n"); printf("a 朝鲜蓟, b 甜菜, c 胡萝卜\n"); while(printf("\n请选择您要订购的货品:"),(ch=getchar())!='q'){ switch(ch){ case 'a': pounds[0]=getweight(pounds[0]); break; case 'b': pounds[1]=getweight(pounds[1]); break; case 'c': pounds[2]=getweight(pounds[2]); break; default: printf("输入有误,请重新选择货品。\n"); clear(); break; } } pound_total = pounds[0] + pounds[1] + pounds[2]; //总磅数 cost_a_total = pounds[0] * PRICEA; cost_b_total = pounds[1] * PRICEB; cost_c_total = pounds[2] * PRICEC; order = cost_a_total + cost_b_total + cost_c_total;// 总订单钱数 if(pound_total >= 20.00) { cost_transport = COST_POUND_LV3 + COST_POUND_LV3_ADD * pound_total; } else if(pound_total >5) cost_transport = COST_POUND_LV2; else if(pound_total >=0) cost_transport = COST_POUND_LV1; if(order >= 100.00) { cost_discount = order * DISCOUNT; // order = order - cost_discount ; } cost_total = order + cost_transport - cost_discount; printf(" 朝鲜蓟每磅%.3lf,订购了%.3lf磅 \n甜菜每磅%.3lf,订购了%.3lf磅 \n胡萝卜每磅%.3lf订购了%.3lf磅\n",PRICEA, pounds[0], PRICEB, pounds[1], PRICEC, pounds[2]); printf("订购朝鲜蓟花费 %.3lf 订购甜菜花费 %.3lf 订购胡萝卜花费%.3lf\n",cost_a_total, cost_b_total, cost_c_total); printf("你总共订购花费了%.3lf 打折后费用为%.3lf\n", order, cost_discount); printf("你花费的运费为%.3lf\n", cost_transport); printf("你总共花费了%.3lf\n", cost_total); return 0;}double getweight(double pounds){ double weight; printf("请输入所需磅数:"); scanf("%lf", &weight); pounds += weight; printf("你已购买 %.3lf 磅!\n", pounds); clear(); //清空输入的字符 return pounds;}void clear(){ while(getchar() != '\n') continue;}
0 0
- 记录——《C Primer Plus (第五版)》第七章编程练习第十一题
- 记录——《C Primer Plus (第五版)》第十章编程练习第十一题
- 记录——《C Primer Plus (第五版)》第十一章编程练习第一题
- 记录——《C Primer Plus (第五版)》第十一章编程练习第二题
- 记录——《C Primer Plus (第五版)》第十一章编程练习第三题
- 记录——《C Primer Plus (第五版)》第十一章编程练习第四题
- 记录——《C Primer Plus (第五版)》第七章编程练习第三题
- 记录——《C Primer Plus (第五版)》第七章编程练习第四题
- 记录——《C Primer Plus (第五版)》第七章编程练习第六题
- 记录——《C Primer Plus (第五版)》第七章编程练习第八题
- 记录——《C Primer Plus (第五版)》第七章编程练习第九题
- 记录——《C Primer Plus (第五版)》第十章编程练习第七题
- 记录——《C Primer Plus (第五版)》第十一章编程练习第5-12题
- 记录——《C Primer Plus (第五版)》第八章编程练习第五题
- 记录——《C Primer Plus (第五版)》第十章编程练习第五题
- C primer plus(第五版)编程练习第十一章
- 记录——《C Primer Plus (第五版)》第八章编程练习第二题
- 记录——《C Primer Plus (第五版)》第八章编程练习第三题
- 顺序表A和B的合并与排序
- iOS开发之UITableView添加数据源的两种方式
- 结对编程小感悟
- (第2课第1.1.7节)myuvc(2th)
- 树_二叉排序树
- 记录——《C Primer Plus (第五版)》第七章编程练习第十一题
- TFTP简单文件传送协议
- Ofbiz使用原生Sql
- 一
- JDK windows环境变量配置
- (第2课第1.1.7节)myuvc(3th)
- IOS开发文档汇总
- JSP实现页面URL传递
- hihocoder1015-kmp