我使用開發 - 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