做一个简单学生成绩系统碰到一个问题各位大虾帮帮忙!!!

luchangxing09 2011-08-28 08:54:48
比如
#include<iostream>
using namespace std;
int main()
{
typedef struct record
{
char no[10];
char name[10];
float score;
float total;
}student;
student x;
cout<<"请输入要输入的数据"<<endl;
cin>>x.no;
cout<<x.no<<endl;
cin>>x.name;
cout<<x.name<<endl;
cout<<x.no<<endl;
return 0;
前面输入下x.no是 132456
x.name是张三
为什么最后一行cout<<x.no<<endl;本应输出的是132456
但是结果却是132456张三

这是怎么回事呀?改哪里呀?
}
...全文
122 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gannan813 2011-09-26
  • 打赏
  • 举报
回复
没有问题的程序,自己谨慎点就好了
luchangxing09 2011-09-26
  • 打赏
  • 举报
回复
你这个程序是对的!没什么问题
luchangxing09 2011-09-25
  • 打赏
  • 举报
回复
呵呵,已经解决了,是我自己输入的时候有问题,不是程序问题
cc19890813ly 2011-09-25
  • 打赏
  • 举报
回复
我用的VC6.0 运行正确啊!!跟你说的不一样
luchangxing09 2011-08-28
  • 打赏
  • 举报
回复
我用的是VC6.0编译器,这个问题头疼
robert_chao 2011-08-28
  • 打赏
  • 举报
回复
endl?可以刷新?感觉是缓冲区问题。要么就是编译器有问题
jackyjkchen 2011-08-28
  • 打赏
  • 举报
回复
VS2010,运行完全正常,你VC6?用VC6别用C++,用C++别用VC6
luciferisnotsatan 2011-08-28
  • 打赏
  • 举报
回复
应该不是缓冲区问题,都有endl刷新。
而且这个输入也没越界。
Roy_Smiling 2011-08-28
  • 打赏
  • 举报
回复
编译运行后没有你说的问题。
W170532934 2011-08-28
  • 打赏
  • 举报
回复
没有重现,如果出现那样的情况,我不知道了。有可能是缓冲出现问题了吧
羽飞 2011-08-28
  • 打赏
  • 举报
回复
应该是缓冲在作怪
C++的IO stream会对数据流做个缓冲一定条件成立后才会刷新

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧