这是我的代码,我不太喜欢它,我知道它可以改进,但我不知道怎么做。我如何根据每行上的许多std::cin
和相互操作来重构这个程序?std::cout
是否有任何 STL 库魔法可以改善这一点?谢谢。
#include <iostream>
#include <string>
int main() {
int grade;
std::cout << "Enter the grade you recieved: ";
std::cin >> grade;
std::cout << grade << "\n\n";
if (grade == 100) {
std::cout << "You got a perfect score!\n";
} else if (grade > 90 && grade < 100) {
std::cout << "You got an A\n";
}
if (grade == 100) {
std::cout << "Grade: A+";
} else if (grade > 90 && grade < 100) {
std::cout << "Grade : A";
} else if (grade > 80 && grade < 90) {
std::cout << "Grade: B";
} else if (grade > 70 && grade < 80) {
std::cout << "Grade: C";
} else if (grade > 60 && grade < 70) {
std::cout << "Grade: D";
} else if (grade < 60) {
std::cout << "Grade: F";
}
}
为了清楚起见,我想改进这段代码,因为使用所有这些 if 语句和打印函数似乎非常不习惯。如何利用 STL 或模板函数/类来重构它?也欢迎 C++11。谢谢。