c++ gpa计算器不接受成绩输入
c++ gpa calculator not accepting grade input
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
int course, numberOfClasses; //declare variables
double gradePointTotal = 0, gradePointAve; //initialize to 0
string grade;
cout << "GPA Calculator n";
cout << "n Enter the number of classes ";
cin >> numberOfClasses; // enter number of classes
for (course = 1; course <= numberOfClasses; course++ ) // define loop
{
cout << "n Enter a letter grade for class number " << course << ": ";
cin >> grade; //Enter grade
if ( grade == "A" || grade == "a") //accepts upper and lower case
gradePointTotal = gradePointTotal + 4;
else if ( grade == "B" || grade == "b")
gradePointTotal = gradePointTotal + 3;
else if ( grade == "C" || grade == "c")
gradePointTotal = gradePointTotal + 2;
else if ( grade == "D" || grade == "d")
gradePointTotal = gradePointTotal + 1;
else if ( grade == "F" || grade == "f")
gradePointTotal = gradePointTotal + 0;
gradePointAve = gradePointTotal / numberOfClasses; // calculate the GPA
cout << "n Your GPA is: " << gradePointAve << endl; // display GPA
}
}
我是c++新手。我不太确定为什么……但是我的输出不正确。这个程序计算gpa。我可以输入我正在使用的课程的数量,但是我不能输入字母成绩。我得到了一个错误与我的行:>>级;但我能够通过添加#include来修复错误信息。然而,它并没有做预期的....为什么当控制台屏幕弹出时,我不能输入我的字母成绩?
gradePointAve = gradePointTotal / numberOfClasses; // wrong
是错误的,因为您暗示了gradePointTotal包含所有等级。但是因为你是在循环,所以不是这样的。您需要设置course
,而不是numberOfClasses
作为商:
gradePointAve = gradePointTotal / course; // correct
至少给你正确的结果。
去掉#include "stdafx.h"
,你不需要它。在项目文件夹中放置标准库并不是很好。同样,代码不需要它
相关文章:
- 为什么线程不接受此输入?
- B不接受8作为输入的是什么?C++
- C++数组输入不接受一定数量的整数
- 斯堪夫不接受输入
- C++字符数组不接受超过 4 个字符的输入
- CIN不接受C++中带有空格的输入?
- std::cin不接受输入
- 为什么我的代码在要求打印长度和宽度的值后不接受多个输入?
- 在此代码中,它不接受 i=0 的输入.它直接用于 i=1
- 有没有一种方法可以接受数字数组而不接受垃圾值的输入
- 扫描线C++不接受输入的功能
- 菜单选择器不接受有效输入
- SCANF 在 Eclipse 中不接受调试模式下的输入?
- #defined 函数只能接受原始输入而不接受变量?
- 我的C++程序不接受菜单后的输入
- 找出一个正方形逻辑中可能的网格数量,但代码不接受超过六个输入,它停止并说.exe停止工作
- C++控制台不接受键盘输入
- 程序不接受任何输入.第一次输入后,它会自动关闭
- 为什么getline不接受输入
- uint8_t不接受两位数的输入