我正在编写一个非常简单的字母分级系统,if 语句是最有效的吗?

泰勒 H

代码示例:

question:
cout << "Enter the grade % you scored on the test: ";
cin >> userScore;

if (userScore == 100) {
    cout << "You got a perfect score!" << endl;
}   
else if (userScore >= 90 && userScore < 100) {
    cout << "You scored an A." << endl;
}
else if (userScore >= 80 && userScore < 89) {
    cout << "You scored a B." << endl;
}
//... and so on...
else if (userScore >= 0 && userScore < 59) {
    cout << "You scored an F." << endl;
}
goto question;

这段代码总共有 6 个 if 语句,它看起来非常..千篇一律..我猜?有没有更有效/最佳的方式来写这个?

我查了一些 C++ 的示例初学者项目,发现这个评分为 one,它说 switch 语句的知识会很有用。我研究了一下,我的理解是,在这种情况下,switch 语句的工作方式与 if 语句相同。

皮疹

您可以使用函数来计算字母。像这样:

char score(int s) {
  if (s < 60)
    return 'F';
  return (9 - s / 10) + 'A';
}

int main(int argc, char **argv){
  int userScore;
  std::cout << "Enter the grade % you scored on the test: ";
  std::cin >> userScore;
  if (userScore < 0 || userScore > 100)
    std::cout << "Invalid\n";
  else if (userScore == 100)
    std::cout << "You got a perfect score!\n";
  else    
   std::cout << "You scored a(n) " << score(userScore) << ".\n";     
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

这是编写此 MySQL 语句的最有效方法吗?

这是编写此方法的最有效方法吗?

这是将一个数组拆分为两个以上的最有效方法吗?

最有效/最简单的权限系统方法?

Java:使用ArrayList编写pojo的最有效方法

用Java编写分支代码的最有效方法

编写功能RemoveDuplication()的最有效实现

MySQL/MariaDB:这是插入唯一值并返回非唯一值的最有效方法吗?

一行上的三个或更多OR语句有效吗?

以最有效的方式合并两个表

运行2个while循环的最有效方法

编写“或”语句的有效方法

使用PHP获取字母表中前一个字母的最有效方法

这非常有效吗?

缩短if语句的最有效方法

我对monoid的理解有效吗?

我正在编写一个shell脚本,需要在“ if then”语句中合并“ find”和“ grep”

使String的第一个字符小写的最有效方法?

在一个函数中使用多个条件或结果时,哪个签名最有效?

从另一个类调用方法的最有效方法

获取流的最后一个元素的最有效方法

删除列表的最后一个元素的最有效方法?

用另一个最有效地对数组进行排序

编码另一个列表中列表元素存在的最有效方法

最有效:在第一个空格后切断 varchar?

选择一个单词组成的记录的最有效方法

基于另一个参数约束参数类型的最有效方法

列表迭代,哪一个是最有效的?

我的显卡过热,我正在尝试确定最有效的解决方案