您的位置:首页 > 其它

C primer plus 第七章 练习8:修改练习7,假设a,使程序提供一个选择工资等级的菜单,用switch选择工资等级,程序运行的开头应该像下面这样:

2016-05-19 23:59 651 查看
请先择一个工资等级:

1) 8.75/小时2)8.75/小时 2) 9.33/小时

3) 10.0/小时4)10.0/小时 4) 11.20/小时

5) quit

#include <stdio.h>
#define SL15 0.15
#define SL20 0.20
#define SL25 0.25
#define GZ1 8.75
#define GZ2 9.33
#define GZ3 10.00
#define GZ4 11.20
void gzdj(void);
int main(void)
{
int x, n;
double gzh, gz, shui, jgz;

gzdj();

while((scanf("%d", &x) != 0))
{
switch (x) {
case 1: gzh = GZ1; break;
case 2: gzh = GZ2; break;
case 3: gzh = GZ3; break;
case 4: gzh = GZ4; break;
}
if(x < 5) {
printf("请输入您工作的时间: ");
scanf_s("%d", &n);
if(n <= 40)
gz = n * gzh;
else
gz = ((n - 40) * 1.5 + 40) * gzh;
if(gz <= 300)
shui = gz * SL15;
else if(gz <= 450)
shui = (gz - 300) * SL20 + 300 * SL15;
else
shui = (gz - 450) * SL25 + 300 * SL15 + 150 * SL20;
jgz = gz - shui;
printf("您工资总额为:$%6.2f,税金为:$%6.2f,净工资为:$%6.2f.\n\n\n", gz, shui, jgz);
printf("请输入您工作的时间: \n");
gzdj();
}else if(x == 5) {
break;
}else{
printf("输入有误,请重新输入.\n");
gzdj();
}
}
return 0;
}

void gzdj(void)
{
printf("*****************************************************************\n");
printf("Enter the number corresponding to the desired pay rate or action:\n");
printf("1)$8.75/hr                      2)$9.33/hr\n");
printf("3)$10.00/hr                     4)$11.20/hr\n");
printf("5)quit\n");
printf("*****************************************************************\n\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: