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 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64