1.3 输入输出
改良程序的一些要求:输入收卡人的名字; 输入送卡人的名字; 名字是一串字母或汉字,程序中成为字符串; C++,字符串可以这样表示: char s[50];//s是字符数组 声明语句 ? ?
? ?
? ? 一、常规代码:#include<iostream> usingnamespacestd; int main(){ charname1[50],name2[50];//声明语句,name1和name2字符数组 cin>>name1>>name2;//输入字符串,先声明再使用 cout<<"#######################################################"<<endl; cout<<name1<<endl; cout<<endl; cout<<"Happy birthday to you!"<<endl; cout<<endl; cout<<" sincerely yours "<<name2<<endl; cout<<"#######################################################"<<endl; return0; } 执行结果: ? ? ? ? 二、带有空格的名字:如果名字中带有空格,如:zhang wei,那么结果是: ? ? 错误的原因在于: cin,以空格、<tab>键、<回车键>作为分隔符; 当遇到了以上符号,就认为一项数据的输入结束了; cin>>name1>>name2; ? ? zhang wei ? ? 解决方法: cin.getline(s,50);//表示按行输入,取前50个字符; 替换cin>>name1>>name2;为: cin.getline(name1,50); cin.getline(name2,50); ? ? 输入: zhang wei wang li ? ? ? ? ? ? 三、改进后代码:#include<iostream> usingnamespacestd; int main(){ charname1[50],name2[50];//声明语句,name1和name2字符数组 //cin>>name1>>name2;//输入字符串,先声明再使用 cin.getline(name1,50); cin.getline(name2,50); cout<<"#######################################################"<<endl; cout<<name1<<endl; cout<<endl; cout<<"Happy birthday to you!"<<endl; cout<<endl; cout<<" sincerely yours "<<name2<<endl; cout<<"#######################################################"<<endl; return0; } ? ? 执行结果: ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |