2014-10-20 30 views
2

這是我的If If語句,用於我的作業,但它不能按照我預期的方式工作。C++編程(如果其他語句)將不能正確輸出

當我輸入82作爲成績時,它會顯示「您的成績是=ú」。它顯示了一個我沒有聲明的字符,而不是'B'。其他人也一樣。

而是 'A' 的 - @ 而不是 'C' - ╬ 而是 'd' 的 - (不顯示任何內容) 而不是 'F' - 「提前

#include <iostream> 
using namespace std; 
int main() 

{ 
int score; 
char grade; 
char A, B, C, D, F; 

cout << "Enter your total score: "; 
cin >> score; 

if (score >= 85) 
grade=A; 

else if (score >= 75) 
grade=B; 

else if (score >= 65) 
grade=C; 

else if (score >= 55) 
grade=D; 

else 
grade=F; 

    cout << "Your grade is = " << grade << endl; 


return 0; 

cin.get(); 

} 

謝謝! !

+4

'字符A,B,C,d,F;'宣稱其具有在運行一個不確定值的變量-時間。相反,考慮'grade ='A';'等等。 – crashmstr 2014-10-20 15:22:23

+2

char變量A,B,C,D,F的用法是什麼?你可以直接分配'grade ='A'','grade ='B''等等。 – Rustam 2014-10-20 15:23:27

回答

11

您聲明這些變量,但從來沒有將其設置爲任何

char A, B, C, D, F; 

你應該給它們賦值

const char A = 'A'; 
const char B = 'B'; 
const char C = 'C'; 
const char D = 'D'; 
const char F = 'F'; 

雖然在此情況下,即使上面可能是多餘的。你可以簡單地做

if (score >= 85) 
    grade = 'A'; 
else if (score >= 75) 
    grade = 'B'; 
else if (score >= 65) 
    grade = 'C'; 
else if (score >= 55) 
    grade = 'D'; 
else 
    grade = 'F'; 

然後你就可以擺脫char變量都在一起。

4

你聲明的變量沒有對它們進行初始化:

char A = 'A'; 
char B = 'B'; 
... 
3

試試這個代碼

#include<iostream.h> 
#include<conio.h> 
int main() 

{ 
int score; 
    char grade; 
    cout << "Enter your total score: "; 
    cin >> score; 

if (score >= 85) 
grade='A'; 

else if (score >= 75) 
grade='B'; 

else if (score >= 65) 
grade='C'; 

else if (score >= 55) 
grade='D'; 

else 
grade='F'; 

cout << "Your grade is = " << grade << endl; 

getch(); 
return 0; 


} 
+1

此答案不解釋原始代碼的問題 – anatolyg 2014-10-20 15:55:28