我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

« 1 2» Pages: ( 1/2 total )
本页主题: 求助C++的一道题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ see /si:/ vt. 看见,会面,探望,知道,获悉,送行,陪,经历 ]


求助C++的一道题

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void change(string &a);
int main()
{
cout<<"Enter a string (q to quit):";
string a;
getline(cin,a);
while(a!="q")
{
  change(a);
  cout<<a<<endl;
  cout<<"Next string (q to quit):";
  getline(cin,a);
}
cout<<"Bye"<<endl;
return 0;
}
void change(string &a)
{
    for(int i=0;i<a.size();i++)
    a[i]=toupper(a[i]);
   
}
就是刚才那个程序,但是getline(cin,a)这句好像有问题,输入字符串后必须输入两个回车才打印大写字符,但是将getline(cin,a)换成cin>>a就没问题了,不明白啊,刚才是说软件有问题,但是我在另一个同学的电脑上试了下,结果还是一样,哪位帮我看看啊。。。
远程图片:未命名.JPG
顶端 Posted: 2007-10-05 21:28 | [楼 主]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ type /taip/ n. 类型,式样,印刷字体,活字,铅字;v. 打字 ]


你看msdn上有说明的~
getline默认是以回车'\n'为结束符 所以你第一个回车认为是输入结束符
第二个回车才是输入确认~
一般这样用getline(cin,a,' '); 用空格作为结束 你每次输入后加一个空格再回车就没有问题了~
顶端 Posted: 2007-10-05 21:54 | [1 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ socket /'sokit/ n. 插座 ]


Quote:
引用第1楼perfect_刘于2007-10-05 21:54发表的  :
你看msdn上有说明的~
getline默认是以回车'n'为结束符 所以你第一个回车认为是输入结束符
第二个回车才是输入确认~
一般这样用getline(cin,a,' '); 用空格作为结束 你每次输入后加一个空格再回车就没有问题了~

msdn在哪里看
顶端 Posted: 2007-10-05 21:58 | [2 楼]
luwen



性别: 帅哥 状态: 该用户目前不在线
头衔: 无我相
等级: 人见人爱
发贴: 4372
威望: 0
浮云: 1120
在线等级:
注册时间: 2006-09-14
最后登陆: 2013-09-25

5come5帮你背单词 [ greeting /'gri:tiŋ/ n. 问候,招呼 ]


楼上正解
顶端 Posted: 2007-10-05 21:59 | [3 楼]
luwen



性别: 帅哥 状态: 该用户目前不在线
头衔: 无我相
等级: 人见人爱
发贴: 4372
威望: 0
浮云: 1120
在线等级:
注册时间: 2006-09-14
最后登陆: 2013-09-25

5come5帮你背单词 [ economical /i:kə'nomikəl/ a. 节约的,节省的 ]


Quote:
引用第2楼xuer于2007-10-05 21:58发表的  :

msdn在哪里看

你安装了没有的俄
顶端 Posted: 2007-10-05 22:00 | [4 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ cheque /tek/ n. 支票,帐单,检查,核对 ]


Quote:
引用第4楼luwen于2007-10-05 22:00发表的  :

你安装了没有的俄

还要安装
顶端 Posted: 2007-10-05 22:01 | [5 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ architect /'a:kitekt/ n. 建筑师,设计师,缔造者 ]


gdfgg.JPG 你要的就是这个结果~~
终极解决 要修改系统头文件
这是microsoft的一个bug~~~
顶端 Posted: 2007-10-05 22:04 | [6 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ diligent /'dilid3ənt/ a. 勤奋的,用功的 ]


Quote:
引用第6楼perfect_刘于2007-10-05 22:04发表的  :
你要的就是这个结果~~
终极解决 要修改系统头文件
这是microsoft的一个bug~~~

是VC的bug?
顶端 Posted: 2007-10-05 22:05 | [7 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ flood /flΛd/ v. 洪水;vt. 淹设,灌溉;vi. 泛滥,大量涌到 ]


在.net中就不存在了
你要修改吗?
要小心 改错了可又很恐怖的事情发生哦
顶端 Posted: 2007-10-05 22:08 | [8 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ regional /'ri:d3ənl/ a. 地区的,局部的 ]


现在是这样了
远程图片:未命名.JPG
顶端 Posted: 2007-10-05 22:10 | [9 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ no /nəu/ ad. (用于回答)不,(用在形容词和副词的比较级前)并不;a. 毫无,不许;n. 不,否定 ]


他换两行输出。。。getline(cin,a,' '); 改这样,然后输入字符后加一空格再回车,是这样吗
顶端 Posted: 2007-10-05 22:12 | [10 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ horse /ho:s/ n. 马 ]


哦??
你怎么弄得阿?
顶端 Posted: 2007-10-05 22:12 | [11 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ trickle /'trikl/ vi. 滴,淌,细流 ]


Quote:
引用第10楼xuer于2007-10-05 22:12发表的  :
他换两行输出。。。getline(cin,a,' '); 改这样,然后输入字符后加一空格再回车,是这样吗

我是说如果要按照你最开始的愿望只要一个回车的话需要该vc的string头文件~
顶端 Posted: 2007-10-05 22:15 | [12 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ code /kəud/ n. 密码,代码,规则,法则 ]


其他都没变,就改为getline(cin,a,' ');我输入aa然后再输一空格,然后按回车,第一行正常,第二行开始回车后它中间会空一行了
顶端 Posted: 2007-10-05 22:15 | [13 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ orient /'o:riənt/ n. 东方,亚洲 ]


#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void change(string &a);
int main()
{
cout<<"Enter a string (q to quit):";
string a;
getline(cin,a,' ');
while(a!="q")
{
  change(a);
  cout<<a<<endl;
  cout<<"Next string (q to quit):";
  getline(cin,a,' ');
}
cout<<"Bye"<<endl;
return 0;
}
void change(string &a)
{
    for(int i=0;i<a.size();i++)
    a[i]=toupper(a[i]);
   
}
现在的代码
顶端 Posted: 2007-10-05 22:16 | [14 楼]
« 1 2» Pages: ( 1/2 total )
我来我网·5come5 Forum » 程序员之家

Total 0.010719(s) query 5, Time now is:06-29 18:25, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号