编程语言
首页 > 编程语言> > 【C++基础】003-生日贺卡改良

【C++基础】003-生日贺卡改良

作者:互联网

改良程序的一些要求

  1. 输入收卡人的名字;

  2. 输入送卡人的名字;

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

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

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

    • 声明方法

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

      例:

      char name1[50];

      char name1[50];

      或:

      char name1[50],name1[50];

    • 输入,cin

      cin>> <字符数组名>;

      例:

      cin>>name1;

      cin>>name2;

      或:

      cin>>name1>>name2;

    • 输出,cout

      cout<< <字符数组名>;

      cout<<name1;

      cout<<name2;

常规的代码写法

#include <iostream>
using namespace std;
int main()
{
    char name1[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;
    return 0;
}

执行结果

Tony
Json
#######################################################
Tony

Happy birthday to you!

         sincerely    yours   Json
#######################################################

当输入带有空格的名字时

执行结果

Tony Boy
#######################################################
Tony

Happy birthday to you!

         sincerely    yours   Boy
#######################################################

错误的原因在于

改进后的代码

#include<iostream>
usingnamespacestd;
int main(){
	char name1[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;
}

执行结果

Tony Boy
Jim
#######################################################
Tony Boy

Happy birthday to you!

      sincerely yours Jim
#######################################################

标签:char,cout,cin,C++,贺卡,003,name2,name1,50
来源: https://blog.csdn.net/wyf237/article/details/102769712