您好,我正在学习 C++ 的基础知识,并且正在做作业。我在问是否有更简单的方法来编写这部分。
if ( 100 >= projectgrade && 0<= projectgrade ) {}
else
{
cout<<endl<<"invalid data, please retry again.";
cin.ignore();
cin.get();
return EXIT_SUCCESS;
}
if ( 100 >= midtermgrade && 0<= midtermgrade ) {}
else
{
cout<<endl<<"invalid data, please retry again.";
cin.ignore();
cin.get();
return EXIT_SUCCESS;
}
if ( 100 >= finalexamgrade && 0<= finalexamgrade ) {}
else
{
cout<<endl<<"invalid data, please retry again.";
cin.ignore();
cin.get();
return EXIT_SUCCESS;
}
是否可以将所有这些限制都写在 if 的一个括号中?我尝试了很多次,但我无法弄清楚。谢谢你的帮助!
最佳答案
好吧,如果你检查一下你的逻辑,那就是是否有任何成绩小于 0 或大于 100,所以像这样 -
if ( projectgrade < 0 || projectgrade > 100 ||
midtermgrade < 0 || midtermgrade > 100 ||
finalexamgrade < 0 || finalexamgrade > 100
) {
cout<<endl<<"invalid data, please retry again.";
cin.ignore();
cin.get();
return EXIT_SUCCESS;
}
编辑
我们总是可以添加一个 #define
就像
#define range(x) x < 0 || x > 100
那么如果可以缩短为
if (range(projectgrade) || range(midtermgrade) || range(finalexamgrade))
关于c++ - 有没有更简单的方法来写这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25800011/