我使用开发 - C++和代码::块 IDE为C program.I要循环多达10次从user.But我没有得到正确的output.First我第二次从 得到正确的输出后,我没有得到正确的输出。我没有在C程序中获得正确的输出?
#include<stdio.h>
main() {
char g;
int yos,qual,sal,a = 1;
printf("\nEnter M for Male and F for Female");
printf("\nEnter 0 for Graduate and 1 for Post-Graduate");
while(a<=10) {
printf("\n\n\nEnter gender, year of service , qualification : ");
scanf("%c%d%d",&g,&yos,&qual);
if(g=='M' && yos>=10 && qual==1)
sal = 15000;
else if((g=='M' && yos>=10 && qual==0) || (g=='M' && yos<10 && qual==1))
sal = 10000;
else if(g=='M' && yos<10 && qual==0)
sal = 7000;
else if(g=='F' && yos>=10 && qual==1)
sal = 12000;
else if(g=='F' && yos>=10 && qual==0)
sal = 9000;
else if(g=='F' && yos<10 && qual==1)
sal = 10000;
else if(g=='F' && yos<10 && qual==0)
sal = 6000;
printf("\nSalary of the employee is : %d",sal);
a++;
}
}
为什么你没有第二次提供服务年限和资质? – Razib 2015-03-31 19:13:09
因为当他点击'enter'时,它只是打印出薪水而不是等待更多输入 – 2015-03-31 19:15:28
检查'scanf'的返回值。值不会在第二次改变。 – HuStmpHrrr 2015-03-31 19:16:41