我正在編寫一個程序,通過計算變量ratePerHour,hoursWorked,bonus,overtimeSalary來計算總工資。一切工作正常,但是當我嘗試運行它時,它不會存儲任何變量的輸入值,也不會執行計算。函數問題(char *提示符) - 計算
我認爲問題是因爲有些不對勁我readNumber功能:
double readNumber(char *prompt) {
double val;
//print the prompt:
printf("%s", prompt);
scanf(" %lf", &val);
if (scanf("%lf", &val) != 1) {
printf("Invalid input.\n");
exit(0);
}
另外還有一個問題就是程序應該詢問用戶是否他領取獎金或不和,如果用戶把n
它不該不要求他輸入獎金,但出於某種原因,我的計劃確實如此。
char readYesOrNo(char *prompt) {
char yn = 'n';
//display the prompt:
printf("%s", prompt);
yn = scanf(" %c", &yn);
//return the value
return(yn);
}
,並最終它顯示了我的計算是零,所以我覺得有一些錯誤的存儲值我會附上我的程序是什麼樣的畫面。我真的很感謝任何幫助,因爲我一直在努力。
您的代碼示例已消失,因此無法分辨代碼和什麼是評論。這使人們很難提供幫助。 'yn = scanf('%c「,&yn)'形式的語句意味着'scanf()'會將一個值讀入'yn',然後立即丟棄它(通過覆蓋'scanf() ' - 從'int'截斷爲'char')。 – Peter
你不想在'readNumber()'中退出(0);'您可能需要'返回val;'。另外,請使用評論符號在您的代碼中嵌入註釋。你的代碼非常類似C,非常非C++類似。 –
將文字發佈爲文字,而不是圖片! – Olaf