C++ Primer Plus章节编程练习第四章
1
题目编写一个C++程序,如下述输出示例所示的那样请求并显示信息:
What is your first name? Betty Sue
What is your last name? Yewe
What letter grade do you deserve? B
What is your age? 22
Name: Yewe, Betty Sue
Grade: C
Age: 22
注意,该程序应该接受的名字包含多个单词。另外,程序将向下调整成绩,即向上调-一个字母。假设用户请求A、B或C,所以不必担心D和F之间的空档。
题解
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main()
{
string name1;
string name2;
char grade,grade1;
cout << "What is your first name? ";
getline(cin,name1);
cout << "What is your last name? ";
cin >> name2;
cout << "What letter grade do you deserve? ";
cin >> grade;
int age;
cout << "What is your age? ";
cin >> age;
grade1 = grade + 1;
cout << "Name: " << name2 << ", " << name1 << endl;
cout << "grade: " << grade1 << endl;
cout << "age: " << age << endl;
return 0;
}
2
题目修改程序清单4.4,使用C++ string类而不是char数组。
程序清单4.4
#include<iostream>
using namespace std;
int main()
{
const int ArSize = 20;
char name[ArSize];
char dessert[ArSize];
cout << "enter your name:\n";
cin.getline(name, ArSize);
cout << "enter your favorite dessert:\n";
cin.getline(dessert, ArSize);
cout << "my name is " << name;
cout << "i like " << dessert << endl;
return 0;
}
题解
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main()
{
string name;
string dessert;
cout << "enter your name:";
getline(cin,name);
cout << "enter your favorite dessert:";
getline(cin,dessert);
cout << "my name is " << name<<endl;
cout << "i like " << dessert << endl;
return 0;
}