C++ Primer Plus编程练习4.13 第7题 比萨饼的信息记录和显示(结构体运用)
题目:
7.William Wingate从事比萨饼分析服务。对于每个披萨饼,他都需要记录下列信息:
● 披萨饼公司的名称,可以有多个单词组成。
● 披萨饼的直径。
● 披萨饼的重量。
请设计一个能够存储这些信息的结构,并编写一个使用这种结构变量的程序。程序将请求用户输入上述信息,然后显示这些信息。请使用cin(或它的方法)和cout。
答案:书上无答案。
C++技术网辅导详解解答:
代码参考:
#include <iostream>
struct Pizza {
char name[200];
float diameter;//直径
float weight;
};
int main()
{
using namespace std;
Pizza p;
cout << "请输入比萨饼公司的名称:";
cin.getline(p.name,200);
cout << "请输入比萨饼的直径:";
cin >> p.diameter;
cout << "请输入比萨饼的重量:";
cin >> p.weight;
cout << "您输入的比萨饼的信息:\n所属公司为:" << p.name << endl;
cout << "直径为:" << p.diameter << endl;
cout << "重量为:" << p.weight << endl;
return 0;
}
需要注意的是,名称可能存在多个单词,那么单词之间有空格,我们不能直接用cin作为输入,否则遇到空格就停止,就会导致名称读取不完整。
如果我们存储名称使用string而不是char数组,那么我们在读取的时候,就要使用:
getline(cin,name);
这样的语句了。其他的地方,就没有什么要特别交代的了。