首页 > 解决方案 > 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;

}

标签: c++loopsfor-loopwhile-loop

解决方案


在获取到 this 中的值之后包装所有的东西numbCourses

for (int course = 0; course < numbCourses; ++course)
{
...
}

请注意,=+应该是+=


推荐阅读