【发布时间】:2019-05-08 21:55:47
【问题描述】:
我已经玩了一个多星期了,但没有成功。它现在的运行方式,它将跳过我的 while 循环第一次迭代的第一个字母。如果我删除 cin.ignore(),下面的代码将不起作用。
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main(){
cout << fixed << setprecision(2);
float gpaTot = 0, gpa, clasNum;
int creds;
string clas, cont = "Yes", grade;
while (cont == "Yes"){
cin.ignore();
cout <<"Enter a course name: ";
getline(cin, clas);
cout << clas << endl << "Enter number of credits: ";
cin >> creds;
cout << creds << endl << "Enter your grade (A, B, C, D, F): ";
cin >> grade;
cout << grade << endl << "Continue ('Yes' or 'No')? ";
cin >> cont;
cout << cont << endl;
}
【问题讨论】:
标签: c++ while-loop cin getline