在程序中,我應該根據用戶的總分數來分配字母等級。我知道如何if/else語句即:如何計算不帶if/else語句的字母等級C++
if (score <= 100 && score > 93)
cout << "You have received an A";
else if (score <= 93 && score > 89)
cout << "You have received an A-";
else if etc.etc.etc.
我不知道如何計算字母等級不if/else語句的字符串做到這一點使用。這些是說明:
將所有可能的字母等級存儲在一個常量字符串數組中,然後提出一個算法,使用總點數來計算數組中的索引以返回字母等級。這樣可以避免使用長串的if/else語句。
這裏是我到目前爲止(沒有所有的鐘聲和整個方案的口哨聲):
#include <iostream>
#include <string>
using namespace std;
int main()
{
int userInput;
string gradeData[] { "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F" };
cout << "What are your total number of points?: ";
cin >> userInput;
cout << "\nYour final grade is " << **INSERT CALL TO GRADE CALCULATION FUNCTION HERE** << endl;
system("PAUSE");
return 0;
}
我的計劃是寫,這是否和字母等級返回功能用戶,但我真的不知道從哪裏開始。它可能涉及使用二維數組嗎?任何幫助將不勝感激。
剛寫的if語句的字符串。比任何其他可能的(複雜的)解決方案更簡單和更容易理解。 –
因此,給出N分的分數,你如何找到相關的字母等級?只有101個值需要考慮:0 ... 100;這不是一個非常大的陣列(但它是一個非常無聊的)。 –
您被要求編寫*算法*來計算該數組中的索引。所以如果得分是94-100,你需要拿出0(給你的字符串數組)。 –