当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 4.13 编程练习题 第7题 比萨饼的信息记录和显示(结构体运用)

C++ Primer Plus 6th 4.13 编程练习题 第7题 比萨饼的信息记录和显示(结构体运用)

更新时间:2019-03-27 09:04:14浏览次数:1+次

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);
    这样的语句了。其他的地方,就没有什么要特别交代的了。