由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++ 初学者请教一个 iostream 的问题
相关主题
c++之极弱问C++怎样从文件读入分数?
C++ string to int ProblemC++ 屏幕输入问题
请教一个static 函数的问题问个参数读入和传递的设计问题
如何有效的用C/C++ 移动文件中的文本块?ASIO TCP传送JSON如何知道包结束?
问个C++的String问题JSONCPP和ASIO能否联合使用(C++11)?
python读入文件疑问ZZ: 初学者学习C++的50条忠告
请问如何能让Qt(C++)中的浮点运算尽可能精确?请推荐一本适用于初学者的C++编程书
请教基本的时间输入的问题C++推荐c++书
相关话题的讨论汇总
话题: firstname话题: idnumber话题: ch话题: cout话题: iostream
进入Programming版参与讨论
1 (共1页)
s********h
发帖数: 286
1
一个很简单的 stream input 小程序,目的是读入名字,ID号码,及其它信息。
我的问题是,如果先读入名字,再读入 ID,就一切正常,可是如果先读入 ID,在读名
字的时候,就会自动跳过,不让我输入名字了。我的程序如下:
#include
using namespace std;
int main()
{
unsigned idNumber;
char firstName[30];
int hoursWorked;
char ch = '\0';
int i = 0;
cout << "Please enter your first name: ";
while (1) {
cin.get(ch);
if (ch == '\n') break;
firstName[i++] = ch;
}
firstName[i] = '\0';
cout << "Please enter your ID Number: ";
cin >> idNumber;
cout
j*****a
发帖数: 436
2
把 cout << endl;换成 cin.get();
因为cin >> idNumber;中idNumber只接受了数字,而把"\n"符剩下了。
s********h
发帖数: 286
3
多谢你啊!你的方法真的解决了问题!等下马上给你发包子啊!
不过还是不太理解,为什么这样的语句后面接着读入 hoursWorked 就没问题,可是它
如果接着读入 firstName 就出问题呢?

【在 j*****a 的大作中提到】
: 把 cout << endl;换成 cin.get();
: 因为cin >> idNumber;中idNumber只接受了数字,而把"\n"符剩下了。

j*****a
发帖数: 436
4
hoursWorked也是数字,当读入时,它扫描你的输入,跳过'\n'符号而只接受后面的数字。而读入firstName时,你的输入循环,一上来就遇到'\n'符号,直接就结束了输入循环。所以要在循环前加一个cin.get()把你输入的回车符号给吃掉。

【在 s********h 的大作中提到】
: 多谢你啊!你的方法真的解决了问题!等下马上给你发包子啊!
: 不过还是不太理解,为什么这样的语句后面接着读入 hoursWorked 就没问题,可是它
: 如果接着读入 firstName 就出问题呢?

s********h
发帖数: 286
5
哦,我明白了!真谢谢你啊!
包子已经转了,请你查收吧!:)

数字。而读入firstName时,你的输入循环,一上来就遇到'\n'符号,直接就结束了输
入循环。所以要在循环前加一个cin.get()把你输入的回车符号给吃掉。

【在 j*****a 的大作中提到】
: hoursWorked也是数字,当读入时,它扫描你的输入,跳过'\n'符号而只接受后面的数字。而读入firstName时,你的输入循环,一上来就遇到'\n'符号,直接就结束了输入循环。所以要在循环前加一个cin.get()把你输入的回车符号给吃掉。
j*****a
发帖数: 436
6
谢啦!:-)

【在 s********h 的大作中提到】
: 哦,我明白了!真谢谢你啊!
: 包子已经转了,请你查收吧!:)
:
: 数字。而读入firstName时,你的输入循环,一上来就遇到'\n'符号,直接就结束了输
: 入循环。所以要在循环前加一个cin.get()把你输入的回车符号给吃掉。

1 (共1页)
进入Programming版参与讨论
相关主题
推荐c++书问个C++的String问题
给初学者的建议python读入文件疑问
初学者弱弱问一下请问如何能让Qt(C++)中的浮点运算尽可能精确?
Python:请问如何把list变成structured array。请教基本的时间输入的问题C++
c++之极弱问C++怎样从文件读入分数?
C++ string to int ProblemC++ 屏幕输入问题
请教一个static 函数的问题问个参数读入和传递的设计问题
如何有效的用C/C++ 移动文件中的文本块?ASIO TCP传送JSON如何知道包结束?
相关话题的讨论汇总
话题: firstname话题: idnumber话题: ch话题: cout话题: iostream