ABC邮购杂货店出售的洋蓟售价为2.05美元/磅,甜菜售价为1.15美元/磅,胡萝卜售价为1.09美元/磅。在添加运费之前,100美元的订单有5%的打折优惠。少于或等于5磅的订单收取6.5美元的运费和包装费,5磅-20磅的订单收取14美元的运费和包装费,超过20磅的订单在14美元吗的基础上每续1磅增加0.5美元。编写一个程序,在循环中用switch语句实现用户输入不同的字母时有不同的响应,即输入a的响应是让用户输入洋蓟的磅数,b是甜菜的磅数,c是胡萝卜的磅数,q是退出订购。程序要记录累计的重量。即,如果用户输入4磅的甜菜,然后输入5磅的甜菜,程序应该报告9磅的甜菜。然后,该程序要计算货物总价、折扣(涂过油的话)、运费和包装费。随后,程序应显示所有的购买信息:武平售价、订购的重量(单位:磅)、订购的蔬菜费用、订单的总费用、折扣(如果有的哈)、运费和宝篆非、以及所有的费用总额。


#include <stdio.h>
#define BREAK1 5 //磅数第一个判断点
#define BREAK2 20 //磅数第二个判断点
#define Break1 100 //蔬菜价格总额判断点
#define discount 0.05 //折扣
#define charge1 6.5 //一阶运费和包装费
#define charge2 14 //二阶运费和包装费
#define charge3_per 0.5 //三阶运费和包装费(每磅)
#define price1 2.05 //洋蓟单价
#define price2 1.15 //甜菜单价
#define price3 1.09 //胡萝卜单价 int main(void)
{double pound = 0.0; //用户输入磅数 double pound1 = 0.0; //洋蓟磅数 double pound2 = 0.0; //甜菜磅数 double pound3 = 0.0; //胡萝卜磅数 double totalpound = 0.0; //总磅数 char choice; //用户选择的字母 double Discount = 0.0; //折扣 double veg_fee = 0.0; //蔬菜总价 double trans_fee = 0.0;  //运费和包装费 printf("Enter the number corresponding to the vegetable you want to purchase:\n");printf("a) 洋蓟                            b) 甜菜\n");printf("c) 胡萝卜                          q) quit\n");while((choice = getchar()) != 'q') //q退出订购 {if(choice < 'a' || choice > 'c') //判断有效输入 {printf("Enter the right letter\n");getchar();continue;}printf("Enter how much do you want to purchase(pounds):");scanf("%lf", &pound);totalpound += pound; //加总磅数 switch (choice){ //加各个菜的磅数 case 'a': veg_fee += pound * price1;pound1 += pound;break;case 'b': veg_fee += pound * price2;pound2 += pound;break;case 'c': veg_fee += pound * price3;pound3 += pound;break;}printf("Enter the number corresponding to the vegetable you want to purchase:\n");printf("a) 洋蓟                            b) 甜菜\n");printf("c) 胡萝卜                          q) quit\n");getchar();}if(totalpound <= BREAK1) //判断运费和包装费 trans_fee = charge1;else if(totalpound > BREAK1 && totalpound <= BREAK2)trans_fee = charge2;else trans_fee = charge2 + (totalpound - BREAK2) * charge3_per;if(veg_fee >= Break1) //判断折扣情况 {Discount = discount * veg_fee;}printf("your purchase information is as the following:\n");printf("洋蓟: %.2lf pound(s), $%.2lf/pound\n", pound1, price1);printf("甜菜: %.2lf pound(s), $%.2lf/pound\n", pound2, price2);printf("胡萝卜: %.2lf pound(s), $%.2lf/pound\n", pound3, price3);printf("your vegetable fee is $%.2lf, transport and wrapper fee is $%.2lf, fee before discount(if you have) is $%.2lf\n", veg_fee, trans_fee, veg_fee + trans_fee); if(Discount > 0)printf("your discount is $%.2lf for your purchase is above $100\n", Discount);printf("you should pay $%.2lf in the end", veg_fee + trans_fee - Discount);return 0;} 

C PRIMER PLUS第七章11题相关推荐

  1. C++ Primer Plus 第七章编程题练习

    C++ Primer Plus 第七章编程题练习 第一题 题目描述 编写一个程序,不断要求用户输入两个数,直到其中的一个为0.对于每两个数,程序将使用一个 函数来计算它们的调和平均数,并将结果返回给m ...

  2. c++primer plus 第13章 编程题第2题

    c++primer plus 第13章 编程题第2题 #pragma once #ifndef CD_H_ #define CD_H_ //base classclass Cd { private:c ...

  3. C++学习之路(六),C++primer plus 第七章 函数--C++的编程模块

    第 7 章 函数---C++的编程模块 本章内容包括: 函数基本知识. 函数原型. 按值传递函数参数. 设计处理数组的函数. 使用 const 指针参数. 设计处理文本字符串的函数. 设计处理结构的函 ...

  4. c语言第七章函数调用题库,c语言题库7-函数.doc

    c语言题库7-函数 主要考核内容:函数 序号题目答案选择题1有以下程序 int f(int a) { return a%2; } main() { int s[8]={1,3,5,2,4,6},i,d ...

  5. python嵩天第七章课后题答案_python语言程序设计嵩天第七章答案

    参考答案如下 直流负反馈可以稳定电路的静态工作点,嵩天交流负反馈可以改善放大器的动态性能. 餐厅环境准备包括:程序( ).背景音乐.通风及温度的准备. 设计下列代码的输出结果是______var a ...

  6. 【C++ primer】第七章 函数-C++的编程模块

    1,函数的基本知识        C++对于返回值的类型有一定的限制:不能是数组,但可以使其他任何类型,甚至可以使结构和对象.        有趣的是,虽然数组不可以作为返回对象,但是数组可以作为结构 ...

  7. 编译原理陈火旺第三版第七章课后题答案

    下面的答案仅供参考! 1. 给出下面表达式的逆波兰表示(后缀式): a*(-b+c)                               not A or not (C or not D) a ...

  8. C Primer Plus第七章:控制

    1.用遍历找约数时,只用找到平方根,判断条件用检测变量的平方比较快速. 2.找素数,可以定一个变量为0,写一个if语句,令其等于1,若最后,没有变,则说明没有进入过if,这是标记! 3.逻辑运算符:与 ...

  9. 华科CPP慕课SPOC第七章 编程题3

    请完整戏票类的实现代码.并使用测试代码测试该类,测试代码的运行结果应和输出样例完全相同 注意, 1. booking函数的购票失败提示示例如下,编写代码时请复制其中的标点符号,以免由于中英文编码问题导 ...

最新文章

  1. “编程能力差,90%的人会输在这点上!”谷歌开发:其实都是在瞎努力
  2. Xamarin iOS开发实战1.1.3Xamarin版本
  3. 心得体悟帖---17、于迷茫低落处找到本心
  4. Acwing第 3 场周赛【完结】
  5. LightOJ - 1071 Baker Vai(最大费用最大流+拆点)
  6. Unity3D中关于场景销毁时事件调用顺序的一点记录
  7. C语言手写快排算法,两个值时也可以使用哦!
  8. ucoreOS_lab8 实验报告
  9. java开发搭建环境搭建_Java开发环境搭建
  10. Linux 2.4 NAT (网络地址转换) HOWTO(二)
  11. 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
  12. 玩转EXCEL系列-选择性粘贴几个实用技巧
  13. cocos2d - JS Sprite 镜像反转显示 ( Flipped )
  14. Python:实现binomial distribution二项分布算法(附完整源码)
  15. labelImg安装所遇到的那些坑
  16. 前端实现文件在线预览
  17. 制作官方 win10 U盘启动盘
  18. 腾讯云服务器到期未续费,CVM实例被释放还能找回文件吗?
  19. Servlet_Jsp学习笔记:
  20. 概率统计笔记:共轭分布

热门文章

  1. 『征文精选』技术翻译与术语管理技术:专业人说专业话
  2. “浪潮信息龙蜥联合实验室”正式成立!2万+人在线,带你一文读懂MeetUp精彩瞬间
  3. 台式电脑w ndows7密钥,windows7品牌机各版本oem密钥
  4. iOS5完美越狱箭在弦上 Android更赚钱
  5. 市场调研报告-全球与中国关键字研究工具市场现状及未来发展趋势
  6. ABAP使用BDC录屏实现供应商付款功能(F-02)
  7. 创建 Swift 自定义集合类
  8. flowable+springboot的使用
  9. 数据可视化-echarts入门、常见图表案例、超详细配置解析及项目案例
  10. B. Nezzar and Lucky Number