当前位置 : 主页 > 编程语言 > c++ >

1.3 输入输出

来源:互联网 收集:自由互联 发布时间:2021-06-23
改良程序的一些要求: 输入收卡人的名字; 输入送卡人的名字; 名字是一串字母或汉字,程序中成为 字符串 ; C++,字符串可以这样表示: char s [50] ; //s是字符数组 声明语句 ? ? 声

改良程序的一些要求:

输入收卡人的名字;

输入送卡人的名字;

名字是一串字母或汉字,程序中成为字符串

C++,字符串可以这样表示:

char s[50]//s是字符数组 声明语句

? ?

  1. 声明方法:

    Char <字符串名>[<字符串最大长度>]//char-character

    例:

    char name1[50]

    char name1[50]

    或:

    char name1[50],name1[50];

? ?

  1. 输入,cin

    cin>> <字符数组名>;

    例:

    cin>>name1;

    cin>>name2;

    或:

    cin>>name1>>name2;

    ? ?

  2. 输出,cout

    cout<< <字符数组名>;

    cout<<name1;

    cout<<name2;

? ?

一、常规代码:

#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;

}

? ?

执行结果:

? ?

网友评论