[求助]我自己写的,编译不通过
#include <stdio.h>#define BREAK1 300
#define BREAK2 450
#define FIRST 0.15
#define NEXT 0.2
#define REST 0.25
int get_int(void);
int get_first(void);
int get_choice(void);
float get_remony(float tota);
int main()
{
int choice;float h,pay,level,total;
while((choice=get_choice())!=5)
{
switch(choice)
{
case 1:
level=8.99;
break;
case 2:
level=9.5;
break;
case 3:
level=10.00;
break;
case 4:
level=11.00;
break;
}
h=get_first();
total=h*level;
pay=get_remony(total);
}
printf("您的总工资是%f需要交的税是%f净工资是%f\n",total,pay,total-pay);
}
int get_choice(void)
{
int choice;
printf("请输入你的工资等级\n");
printf("1)8.99/hr\t2)9.5/hr\n");
printf("3)10.00/hr\t4)11.00\n");
printf("5)退出\n");
choice=get_int();
return choice;
}
int get_int(void)
{
int a;char ch;
while((scanf("%d",&a))!=1)
{
while((ch=getchar())!='\n')
continue;
putchar(ch);
printf("不是一个整数请输入符合的数值\n");
}
while(a<1||a>5)
{
printf("%d不在范围内请输入另一个整数\n",a);
scanf("%d",&a);
}
return a;
}
int get_first(void)
{
double h;
printf("请输入您的工作时间\n");
char ch;
while((scanf("%d",&h))!=1)
{
while((ch=getchar())!='\n')
continue;
putchar(ch);
printf("不是一个整数请输入符合的数值\n");
}
if(h>40)
h*=1.5;
return h;
}
float get_remony(float tota)
{
float pay;
if(tota<BREAK1)
pay=BREAK1*FIRST;
else if(tota>BREAK1&&tota<BREAK2)
pay=(tota-BREAK1)*NEXT+BREAK1*FIRST;
else if(tota>BREAK2)
pay=(tota-BREAK2)*REST+(BREAK2-BREAK1)*NEXT+BREAK1*FIRST;
return pay;
}
这个怎么改
我觉得就是那个把错误的输入提出的部分错了,这是我个人的观点,只是不知道对不对,求大神指教。