gpt4 book ai didi

c++ - for循环跳过getline

转载 作者:太空宇宙 更新时间:2023-11-04 13:10:37 26 4
gpt4 key购买 nike

大家好,我正在做一个关于结构化数据的编程作业,我相信我了解结构是如何工作的。

我正在尝试读取学生姓名、ID 号(A 号)及其余额的列表。

虽然我编译我的代码时,它会在第一次读取所有内容,但第二次循环以及之后的每次,它都会提示输入用户名但跳过 getline 并直接进入 A-Number 和 A -数字输入。

如有任何帮助,我们将不胜感激。只是想弄清楚每次循环时如何让 getline 工作。

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;


int main(){
const int maxStudents = 30;
struct Students{
string studentName;
int aNumber;
double outstandingBalance;};

Students students[maxStudents];

for(int count = 0; count < maxStudents-1; count++)
{
cout<<"Student Name:";
cin.ignore();
getline(cin,students[count].studentName);
cout<<"\nA-Number:";
cin>>students[count].aNumber;
if(students[count].aNumber == -999)
break;
cout<<"\nOutstanding Balance:";
cin>>students[count].outstandingBalance;
}

cout<<setw(20)<<"A-Number"<<"Name"<<"Balance";

for(int count2 = 29; count2 >= maxStudents-1; count2--)
cout<<setw(20)<<students[count2].aNumber<<students[count2].studentName<<students[count2].outstandingBalance;


system("pause");
return 0;
}

最佳答案

查找C++ FAQ on iostreams .

项目 15.6 专门处理您的问题(“为什么我的程序在第一次迭代后忽略了我的输入请求?”),但您可能会发现整个页面都很有用。

HTH,

关于c++ - for循环跳过getline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40118520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com