《C Primer Plus(第5版)中文版》第7章编程练习第8题
来源:互联网 发布:最新在线报名系统源码 编辑:程序博客网 时间:2024/04/25 11:32
修改练习7中的假设a,使程序提供一个选择工资等级的菜单。用switch选择工资等级。程序运行的开头应该像这样:
Enter the number corresponding to the desired pay rate or action:
1) $8.75/hr 2)$9.33/hr
3) $l0.00/hr 4)$11.20/hr
5) Quit
如果选择1到4.那么程序应该请求输入工作小时数。程序应该一直循环运行,直到输入5。如果输入1到5以外的选项,那么程序应该提醒用户合适的选项是哪些,然后再循环。用#define为各种工资等级和税率定义常量。
*( 第7题原题如下:
编写程序,要求输入一周中的工作小时数,然后打印工资总额、税金以及净工资。作如下假设:
a.基本工资等级=10.00单位/小时
b.加班(超过40小时)=1.5倍的时间
c.税率 前300单位为15%
下一个150单位为20%
余下的为25%
用#define定义常量,不必关心本例是否符合当前的税法。)*
#include <stdio.h>#define C1 8.75 //时薪选项1 #define C2 9.33 //时薪选项1 #define C3 10.00 //时薪选项1 #define C4 11.20 //时薪选项1 #define OVERTIME 40 //超时阈值 #define OTRATE 1.5 //加班工资倍率#define LV0 300 //基本税率阈值#define LV0RATE 0.15 //基本税率#define LV1 150 //第一阶梯阈值 #define LV1RATE 0.20 //第一阶梯税率 #define LVUPRATE 0.25 //更高阶梯税率void clearbuffered(void);int main(void){ float hour,salary,tax,pay,hourly; int choose; printf("*****************************************************************\n\n"); printf("1)$%.2f/hr\t\t\t\t2)$%.2f/hr\n\n3)$%.2f/hr\t\t\t\t4)$%.2f/hr\n\n5)Quit\n\n",C1,C2,C3,C4); printf("*****************************************************************\n\n"); while(printf("请输入序号:"),(choose=getchar())!='5'){ switch(choose){ case '1':hourly=C1;break; case '2':hourly=C2;break; case '3':hourly=C3;break; case '4':hourly=C4;break; default:clearbuffered(); printf("输入有误,请输入1~5。\n"); continue; } clearbuffered(); while(printf("请输入工作时间:")){ if(scanf("%f",&hour)&&hour>0){ if(OVERTIME>=hour){ pay=hourly*hour; }else{ pay=hourly*OVERTIME+(hour-OVERTIME)*hourly*OTRATE; } salary=pay; if(pay<=LV0){ tax=pay*LV0RATE; }else if(pay<=LV0+LV1){ tax=LV0*LV0RATE+(pay-LV0)*LV1RATE; }else{ tax=LV0*LV0RATE+LV1*LV1RATE+(pay-LV0-LV1)*LVUPRATE; } pay-=tax; printf("工资总额:%.2f\t税金:%.2f\t净工资:%.2f\n\n",salary,tax,pay); clearbuffered(); break; }else{ printf("工作时间输入有误,请输入正确的值.\n"); clearbuffered(); continue; } } } printf("感谢使用,程序退出!\n"); return 0;}void clearbuffered(void){ while(getchar()!='\n')continue;}
0 0
- 《C Primer Plus(第5版)中文版》第7章编程练习第8题
- 《C Primer Plus(第5版)中文版》第7章编程练习第7题
- 《C Primer Plus(第5版)中文版》第7章编程练习第5题
- 《C Primer Plus(第5版)中文版》第7章编程练习第1题
- 《C Primer Plus(第5版)中文版》第7章编程练习第2题
- 《C Primer Plus(第5版)中文版》第7章编程练习第3题
- 《C Primer Plus(第5版)中文版》第7章编程练习第4题
- 《C Primer Plus(第5版)中文版》第7章编程练习第6题
- 《C Primer Plus(第5版)中文版》第7章编程练习第9题
- 《C Primer Plus(第5版)中文版》第7章编程练习第10题
- 《C Primer Plus(第5版)中文版》第7章编程练习第11题
- 《C Primer Plus(第5版)中文版》第6章编程练习第1题
- 《C Primer Plus(第5版)中文版》第6章编程练习第14题
- 《C Primer Plus(第5版)中文版》第6章编程练习第15题
- 《C Primer Plus(第5版)中文版》第6章编程练习第16题
- C++ Primer Plus 第6版 中文版 第7章编程练习
- C++ Primer Plus 第6版 中文版 第5章编程练习
- 记录——《C Primer Plus(第五版)》 第7章编程练习第5题
- 使用Ibatis操作MySQL数据库
- Andriod SDK出现Failed to parse the output of 'adb version'问题
- leetcode 11 -- Container With Most Water
- USACO--3.3A Game+dp
- 我的Cocos2d-x学习笔记(十)定时调度器(scheduleUpdate、scheduleOnce、schedule)
- 《C Primer Plus(第5版)中文版》第7章编程练习第8题
- html+css注意事项
- 大二学生一枚 写下自己学51和PCB的感想 与各位刚开始学习的盆友共勉 一起加油
- mahout 协同过滤 参数大全
- 汇编实验10-2 解决除法溢出的问题
- Oracle学习(3):单行函数
- 从底层理解Python的执行
- 职工有薪水了---动态字符串
- MongoDB对图片进行CRUD操作——与JAVA结合