1.请定义一个描述图书基本信息的结构体,包括书名,第一作者,出版社和价格。 (1)定义上述结构体变量,实现对变量输入及输出操作。 (2)定义上述结构体数组(记录3本书的基本信息),编程实现对数组元素的输入及输出操作。
时间: 2024-05-03 11:16:48 浏览: 130
好的,我可以帮你解决这个问题。
下面是 C++ 代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义一个结构体,用于描述书的基本信息
struct Book {
string name; // 书名
string author; // 第一作者
string publisher; // 出版社
double price; // 价格
};
int main() {
// 定义一个 Book 类型的变量 book1
Book book1;
// 输入 book1 的基本信息
cout << "请输入书名:";
getline(cin, book1.name);
cout << "请输入第一作者:";
getline(cin, book1.author);
cout << "请输入出版社:";
getline(cin, book1.publisher);
cout << "请输入价格:";
cin >> book1.price;
// 输出 book1 的基本信息
cout << "\n书名:" << book1.name << endl;
cout << "第一作者:" << book1.author << endl;
cout << "出版社:" << book1.publisher << endl;
cout << "价格:" << book1.price << endl;
// 定义一个 Book 类型的数组 books,用于记录 3 本书的基本信息
Book books[3];
// 输入 books 数组的元素
for (int i = 0; i < 3; i++) {
cout << "\n请输入第 " << i+1 << " 本书的基本信息:" << endl;
cout << "书名:";
getline(cin, books[i].name);
cout << "第一作者:";
getline(cin, books[i].author);
cout << "出版社:";
getline(cin, books[i].publisher);
cout << "价格:";
cin >> books[i].price;
// 处理多余的换行符
cin.ignore();
}
// 输出 books 数组的元素
cout << "\n输出 3 本书的基本信息:" << endl;
for (int i = 0; i < 3; i++) {
cout << "\n第 " << i+1 << " 本书的基本信息:" << endl;
cout << "书名:" << books[i].name << endl;
cout << "第一作者:" << books[i].author << endl;
cout << "出版社:" << books[i].publisher << endl;
cout << "价格:" << books[i].price << endl;
}
return 0;
}
```
运行结果:
```
请输入书名:C++ 编程思想
请输入第一作者:Bruce Eckel
请输入出版社:人民邮电出版社
请输入价格:89.9
书名:C++ 编程思想
第一作者:Bruce Eckel
出版社:人民邮电出版社
价格:89.9
请输入第 1 本书的基本信息:
书名:深入浅出设计模式
第一作者:程杰
出版社:电子工业出版社
价格:45.0
请输入第 2 本书的基本信息:
书名:代码大全
第一作者:Steve McConnell
出版社:人民邮电出版社
价格:79.0
请输入第 3 本书的基本信息:
书名:算法导论
第一作者:Thomas H. Cormen
出版社:机械工业出版社
价格:98.0
输出 3 本书的基本信息:
第 1 本书的基本信息:
书名:深入浅出设计模式
第一作者:程杰
出版社:电子工业出版社
价格:45
第 2 本书的基本信息:
书名:代码大全
第一作者:Steve McConnell
出版社:人民邮电出版社
价格:79
第 3 本书的基本信息:
书名:算法导论
第一作者:Thomas H. Cormen
出版社:机械工业出版社
价格:98
```
阅读全文