c++基于顺序存储结构的图书信息表的创建和输出
时间: 2023-12-19 07:07:01 浏览: 117
基于顺序存储结构的图书信息表的创建和输出如下所示:
1. 首先,定义书的类Book,包括书号id、书名name和价格price。
2. 然后,定义顺序表Sqlist,包括图书个数length和指向图书数组的指针elem。
3. 初始化顺序表,为指针elem分配内存空间,设置length为0。
4. 通过Insert函数逐行读入图书数据,将书号、书名和价格存入顺序表中的每个元素,并增加length的值。当输入结束标志出现时(书号、书名和价格都为0),减少length的值并结束插入操作。
5. 使用Print函数输出图书个数length,并逐行输出每本图书的信息,包括书号、书名和价格。
相关问题
基于顺序存储结构的图书信息表的创建和输出
基于顺序存储结构的图书信息表可以使用一个数组来存储图书的信息。
例如,定义一个结构体叫做Book,里面包含书名、作者、价格等信息。然后定义一个Book类型的数组,来存储多本图书的信息。
C++代码:
```
struct Book {
char name[50];
char author[50];
float price;
};
Book book_list[100]; // 定义数组,用于存储图书信息
```
创建图书信息表时,可以使用循环来输入每本图书的信息,存储到数组中。
C++代码:
```
for (int i = 0; i < n; i++) {
cout << "输入第" << i+1 << "本书的信息" << endl;
cout << "书名: ";
cin >> book_list[i].name;
cout << "作者: ";
cin >> book_list[i].author;
cout << "价格: ";
cin >> book_list[i].price;
}
```
输出图书信息表时,也可以使用循环来遍历整个数组,输出每本图书的信息。
C++代码:
```
for (int i = 0; i < n; i++) {
cout << "第" << i+1 << "本书的信息" << endl;
cout << "书名: " << book_list[i].name << endl;
cout << "作者: " << book_list[i].author << endl;
cout << "价格: " << book_list[i].price << endl;
}
```
总之,使用顺序存储结构的图书信息表,可以使用数组来简单的存储和输出图书的信息。
基于顺序存储结构的图书信息表的逆序存储 代码 c++
以下是基于顺序存储结构的图书信息表逆序存储的 C++ 代码示例:
```c++
#include <iostream>
#include <cstring>
#define MAXSIZE 100 // 图书信息表最大容量
using namespace std;
struct Book {
int id; // 书籍编号
char name[20]; // 书籍名称
float price; // 书籍价格
};
struct SeqList {
Book data[MAXSIZE]; // 存储数据的数组
int length; // 当前存储的数据个数
};
// 初始化图书信息表
void initList(SeqList *L) {
L->length = 0;
}
// 向图书信息表中添加一本书
void addBook(SeqList *L, Book book) {
if (L->length >= MAXSIZE) {
cout << "Error: Book list is full!" << endl;
return;
}
L->data[L->length++] = book;
}
// 逆序存储图书信息表
void reverseList(SeqList *L) {
int i;
Book temp;
for (i = 0; i < L->length / 2; i++) {
temp = L->data[i];
L->data[i] = L->data[L->length - i - 1];
L->data[L->length - i - 1] = temp;
}
}
// 打印图书信息表
void printList(SeqList L) {
int i;
for (i = 0; i < L.length; i++) {
cout << "Book " << L.data[i].id << ": " << L.data[i].name << ", " << L.data[i].price << endl;
}
}
int main() {
SeqList L;
initList(&L);
// 添加几本书
Book book1 = {1, "C Programming", 29.99};
addBook(&L, book1);
Book book2 = {2, "Data Structures", 44.99};
addBook(&L, book2);
Book book3 = {3, "Algorithms", 39.99};
addBook(&L, book3);
cout << "Original Book List:" << endl;
printList(L);
cout << "\nReversed Book List:" << endl;
reverseList(&L);
printList(L);
return 0;
}
```
该代码与前面的 C 代码类似,只是使用了 C++ 的语法。其中,`Book` 结构体和 `SeqList` 结构体与前面相同,`initList()` 函数、`addBook()` 函数、`reverseList()` 函数和 `printList()` 函数也与前面相同。在 `main()` 函数中,我们添加了几本书,打印原始的图书信息表,逆序存储图书信息表并打印逆序后的结果。