lihaoyuaiqq130 2018-08-20 04:30 采纳率: 66.7%
浏览 613
已采纳

有关c++中getline的问题

做了一个简单的学生成绩统计的小程序,储存学生信息并输出最高与最低成绩,
但是输入时候总是自动跳过cin,这是为什么
#include
#include
using namespace std;
struct node
{
string name;
int id;
int grade;
}a[10];
int main()
{
int n;
cin>>n;
for(int i=0;i {
getline(cin,a[i].name);
cin>>a[i].id;
cin>>a[i].grade;
}
int max=0;
int min=0;
for(int i=1;i {
if(a[max].grade if(a[min].grade>a[i].grade) min=i;
}
cout<<a[max].name<<" "<<a[max].grade<<endl;
cout<<a[min].name<<" "<<a[min].grade;
}

  • 写回答

7条回答 默认 最新

  • dabin510 2018-08-20 06:21
    关注

    int main()
    {
    int n;
    cin >> n;
    string temp;
    for (int i = 0; i {
    cin.ignore();;//忽略回车
    getline(cin, a[i].name);
    cin >> a[i].id;
    cin >> a[i].grade;
    }

    }

    终其原因就是因为getline函数把上次出入n之后的空格当做输入了,2楼3楼方法都可以

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)