c++ - C ++ GPA Calc:如何根据用户输入循环一段代码特定次数
问题描述
完整的 C++ 初学者,所以我很抱歉看起来很奇怪的代码。对于我的这部分代码:
cout << "Enter number of courses: \t";
cin >> numbCourses;
如何进行循环,以便如果用户输入他们有超过 1 门课程,用户将再次被询问所有 GPA/课程问题?例如,如果用户输入他们有 3 门课程,我希望代码仅使用我的这部分代码执行三个循环:
//input data
cout << "Enter number of courses: \t";
cin >> numbCourses;
cout << "Enter course name: \t";
cin >> courseName;
cout << "Enter the Credit Hours: \t";
cin >> creditHours;
cout << "Enter Grade Earned (as A = 4 | B = 3 | C = 2 | D = 1): \t";
cin >> grade;
cout << endl;
我正在考虑做一个while循环,例如:
while (numbcourses >=2)
但我知道这是不正确的。下面我粘贴了我的其余代码。
#include <iostream>
using namespace std;
int main() {
//Needed variables
int numbCourses = 0, creditHours = 0, grade = 0, totalCredits = 0;
string courseName;
double gradePoints = 0, overallGPA = 0;
char target = 'Y';
cout << "Welcome to GPA Calculator!" << endl;
//input data
cout << "Enter number of courses: \t";
cin >> numbCourses;
cout << "Enter course name: \t";
cin >> courseName;
cout << "Enter the Credit Hours: \t";
cin >> creditHours;
cout << "Enter Grade Earned (as A = 4 | B = 3 | C = 2 | D = 1): \t";
cin >> grade;
cout << endl;
//calculations for GPA | Sum of grades for all classes / Total number of classes you’ve taken
gradePoints = grade * creditHours;
totalCredits = creditHours =+ creditHours;
overallGPA = grade / numbCourses;
//output
cout << "Course name: " << courseName << '\n';
cout << "Number of credit hours: " << creditHours << '\n';
cout << "Grade: " << grade << '\n';
cout << "Grade Points: " << gradePoints << '\n';
cout << "total credits: " << totalCredits << '\n';
cout << "Overall GPA: " << overallGPA << '\n';
cout << endl;
//display if student is on Dean's list
if (overallGPA >= 3.0)
{
cout << "You have made the Dean's list!" << endl;
}
else
{
cout << "Time to improve your grades!" << endl;
}
//target GPA
double currentGPA = 0, targetGPA = 0, cCredit = 0, aCredit = 0;
cout << "*___________________________________________________*" << endl;
cout << "Would you like to use the Target GPA Calculator?\t";
cin >> target;
if (target == 'N' | target == 'n')
{
return 0;
}
//input data
cout << "Enter your current GPA: \t";
cin >> currentGPA;
cout << "Enter your target GPA: \t";
cin >> targetGPA;
cout << "Enter your current number of credits: \t";
cin >> cCredit;
cout << "Enter additional credits: \t";
cin >> aCredit;
//calculations for target GPA
// I have yet to enter this section
return 0;
}
解决方案
在获取到 this 中的值之后包装所有的东西numbCourses
。
for (int course = 0; course < numbCourses; ++course)
{
...
}
请注意,=+
应该是+=
推荐阅读
- python - 逻辑回归 - numpy.float64
- c# - ClickOnce 安装失败,因为必须在 GAC 中安装 Microsoft.VisualStudio.Data.Core
- r - R:如何通过使用来自另一个行数较少的数据帧的信息来定位大型数据帧中的列
- restsharp - 强制 OAuth1 参数进入查询字符串?
- wolfram-mathematica - 如何将数字添加到 Wolfram mathematica 中的每个子集?
- svelte - 为什么这个反应变量在服务器端被触发两次?
- java - 在 Mirth 中创建 JWT 和解码/编码
- android - android,无法更改为 com.android.tools.build:gradle:4.2.1
- javascript - 当显示特定文本时,我需要隐藏一个元素
- android - 触摸/单击 ListView 中的项目时,有时会丢失按下状态