修改练习7中的假设a,使程序提供一个选择工资等级的菜单。用switch选择工资等级。程序运行的开头应该像这样:*****************************************************************Enter the number corresponding to the desired pay rate or acion:1)$8.75/hr          2) $9.33/hr            3) $10.00/hr         4) $11.20/hr  5) quit   *****************************************************************    如果选择1到4,那么程序应该请求输入工作小时数。程序应该一直循环运行,直到输入5.如果输入1到5以外的选项,那么程序应该提醒用户合适的选项是哪些,然后再循环。用#define为各种工资等级和税率定义常量。
# include <stdio.h># define GRADE1 8.75   //  工资
# define GRADE2 9.33
# define GRADE3 10.00
# define GRADE4 11.20
# define RATE1 0.15    //  税率
# define RATE2 0.20
# define RATE3 0.25void wagefn(double, int); // 计算工资和税金的函数int main(void)
{int grade;double hour;printf("****************************************************************\n");printf("Enter the number corresponding to the desired pay rate or acion:\n");printf("1')' $8.75'/'hr                2')' $9.33'/'hr\n");printf("1')' $10.00'/'hr                2')' $11.20'/'hr\n");printf("5')' quit\n");printf("****************************************************************\n");while(1){  printf("请输入工资等级:\n");scanf("%d", &grade);   //输入工资等级if(grade <= 0 || grade>5){printf("请输入1到5以内的数!\n");}switch(grade)          //  不同等级分开计算{case 1 : printf("请输入工作小时数:\n");scanf("%lf", &hour);wagefn(hour,grade);break;case 2 : printf("请输入工作小时数:\n");scanf("%lf", &hour);wagefn(hour,grade);break;case 3 : printf("请输入工作小时数:\n");scanf("%lf", &hour);wagefn(hour,grade);break;case 4 : printf("请输入工作小时数:\n");scanf("%lf", &hour);wagefn(hour,grade);}if(5 == grade)break;}return 0;
}void wagefn(double hour, int grade)
{double wage, tax;switch(grade){case 1: wage = GRADE1;break;case 2: wage = GRADE2;break;case 3: wage = GRADE3;break;case 4: wage = GRADE4;}if(hour < 0)return ;if(hour <= 40){wage = wage * hour;if(wage > 450)tax = 70 + (wage - 450) * RATE3;else if(wage > 300)tax = 45 + (wage - 300) * RATE2;else if(wage >= 0)tax = wage * RATE1;}else if(hour > 40){wage = wage * (40 + (hour-40) * 1.5);if(wage > 450)tax = 70 + (wage - 450) * RATE3;else if(wage > 300)tax = 45 + (wage - 300) * RATE2;else if(wage >= 0)tax = wage * RATE1;}printf("工资总额:%.3lf 税金:%.3lf 净工资:%.3lf\n", wage, tax, wage-tax);}

记录——《C Primer Plus (第五版)》第七章编程练习第八题相关推荐

  1. C++ Primer Plus第六版第六章编程练习 第4题, 加入Benevolent Order of Programmer后,在BOP大会上

    /*************************************************************************************************** ...

  2. C Primer Plus第六版第七章编程题目与参考答案⭐

    1.编写一个程序读取输入,读到#字符停止,然后报告读取的空格数.换行符数和所有其他字符的数量. #include <stdio.h> #define STOP '#' #define SP ...

  3. 数值分析李庆杨第五版第七章习题

    数值分析李庆杨第五版第七章习题 7 用牛顿法 用xuan截法 用抛物线法 11 普通牛顿法 加m牛顿法 求重根迭代法法 7 用牛顿法 // An highlighted blocksyms xf(x) ...

  4. C++ Primer(第五版)第七章 类 部分答案

    第七章 类 练习7.2 练习7.3 练习7.4 练习7.6 练习7.7 练习7.9 练习7.14.7.15.7.22 练习7.23.7.24.7.26 练习7.27 练习7.2 曾在 2.6.2 节的 ...

  5. java2 实用教程第五版 第四章课本案例及课后题

    第五天 java2 实用教程第五版 耿祥义 张跃平编著 第四章代码 代码1:课本P80 package java课本项目;import java.util.*;public class Example ...

  6. 记录——《C Primer Plus (第五版)》第九章编程练习第八题

    第八题:用递归函数重做第七题. # include <stdio.h>double recur(double num, int cnt);int main(void) {double nu ...

  7. 记录——《C Primer Plus (第五版)》第七章编程练习第十一题

    ABC Mail Order Grocery朝鲜蓟的售价是1.25美元/磅,甜菜的售价是0.65美元/磅,胡萝卜的售价是0.89美元/磅.在添加运输费用之前,他们为100美元的订单提供5%的打折优惠. ...

  8. 记录——《C Primer Plus (第五版)》第七章编程练习第六题

    编写一个程序读取输入,直到#,并报告序列ei出现的次数. # include <stdio.h>int main(void) {int cnt=0, j=1; //cnt记ei出现的次数 ...

  9. 记录——《C Primer Plus (第五版)》第七章编程练习第四题

    利用if else 语句编写程序读取输入,直到#.用以感叹号代替每个句号,将原有的每个感叹号用两个感叹号代替,最后报告进行了多少次替代. # include <stdio.h># defi ...

最新文章

  1. java学mybatis还用学jdbc吗,mybatis系统学习(二)——使用基础mybatis代替原始jdbc
  2. 15℃!人类首次实现高压下室温超导,研究登上Nature封面
  3. 编程基础python学习2完结
  4. eclipse html自动对齐,MyEclipse和Eclipse中jsp、html格式化自动排版问题
  5. PAT_B_1007_Java(20分)
  6. 尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!
  7. 前端学习(2706):重读vue电商网站26之JSON格式的配置文件
  8. IT人员看待和预防癌症十大建议
  9. linux redis-trib.rb,linux 关于redis-trib.rb构建redis集群
  10. InfluxDB-Python 操作实践
  11. CSS 笔记之 CSS 选择器
  12. c how to program; 习题:3.25 编写一个利用循环打印表格数据的程序.
  13. 劝你别再闷头自学NLP了!!!请收下这套自然语言处理(NLP)算法学习路线!
  14. gnome-shell 扩展
  15. 单片机控制步进电机-电路连接
  16. [资讯]北京二套学区房奋斗目标
  17. Maximo 密码加密传送
  18. lvgl cont(容器)
  19. 【bzoj2724】[Violet 6]蒲公英 (注意:题面有毒!)
  20. 华南师大软件学院软件工程专硕机试(2019年考研)

热门文章

  1. 定点数和浮点数_Simulink模型中定点数的介绍
  2. _如何在各种Linux发行版中安装zip压缩与解压缩程序
  3. 可能是阿里云学生成长计划续费资格考试最全的答案资料
  4. ubuntu14.04设置sublime text3为默认文本编辑器
  5. torch.nn.Embedding()的固定化
  6. Java 1.2.3 文件输入与输出
  7. Python之定义默认参数
  8. [转]awsome-java
  9. [转]awesome-tensorflow-chinese
  10. Altium AD20电源分割的方法,AD内电层的电源分割,AD电源层电源分割