1. 编写一个程序,如下述输出示例形式请求并显示信息:
程序将向下调整成绩,即向上条一个字母。假设用户请求A、B或C,所以不用担心D和F之间的空挡。
What is your first name? Betty Sue
What is your last name? Yewe
What letter grade do you deserve?
What is your age? 22
Name: Yewe, Betty Sue
Grade: C
Age: 22
// 4-1
#include <iostream>
int main()
{
using namespace std;
char first_name[128]{};
char last_name[128]{};
char grade;
int age = 0;
cout << "What is your first name? ";
cin.getline(first_name, 128); //getline()成员函数读取到回车符或者读取完10个字节就停止读取,这里仅读取9个,结尾自动添加空字符
cout << "What is your last name? ";
cin.getline(last_name, 128);
cout << "What letter grade do you deserve? ";
cin >> grade;
cout << "What is your age? ";
cin >> age;
cout << "Name: " << last_name << ", " << first_name << endl;
cout << "Grade: " << char(grade + 1) << endl;
cout << "Age: " << age;
return 0;
}
2. 修改程序清单4.4,使用C++string类而不是char数组。
// 4-2
#include <iostream>
#include <string>
int main()
{
using namespace std;
const int ArSize = 20;
string name;
string dessert;
cout << "Enter yout name: \n";
getline(cin, name);
cout << "Enter your favorite dessert: \n";
getline(cin, dessert);
cout << "I have some delicious " << dessert << " for you, " &