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

错误的原因在于

  • cin,以空格、键、<回车键>作为分隔符;

  • 当遇到了以上符号,就认为一项数据的输入结束了;

  • cin>>name1>>name2;

    其中“zhang”赋值给了name1,“san”赋值给了name2;

改进后的代码

#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
#######################################################
上一篇:c语言文件


下一篇:vue开发插件