基于顺序存储结构的图书信息表的创建和输出 c语言
时间: 2023-04-07 16:02:50 浏览: 166
可以回答这个问题。基于顺序存储结构的图书信息表的创建和输出可以通过定义结构体来实现。首先,定义一个包含图书信息的结构体,包括书名、作者、出版社、出版日期、价格等信息。然后,定义一个数组来存储多个图书信息,可以使用循环语句来逐个输入或修改每本书的信息。最后,使用循环语句输出每本书的信息即可。具体实现细节可以参考相关的C语言教程或书籍。
相关问题
基于顺序存储结构的图书信息表的创建和输出c语言
代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100 // 最多存储100本书籍信息
// 图书信息结构体
typedef struct BookInfo {
char title[50]; // 书名
char author[30]; // 作者
char publisher[30]; // 出版社
int year; // 出版年份
double price; // 价格
} BookInfo;
// 存储图书信息的数组
BookInfo books[MAX_BOOKS];
// 当前存储的书籍数量
int bookCount = 0;
// 添加图书信息
void addBook()
{
if (bookCount == MAX_BOOKS) {
printf("已达到最大存储量,无法继续添加!\n");
return;
}
BookInfo book;
printf("请输入书名:");
scanf("%s", book.title);
printf("请输入作者:");
scanf("%s", book.author);
printf("请输入出版社:");
scanf("%s", book.publisher);
printf("请输入出版年份:");
scanf("%d", &book.year);
printf("请输入价格:");
scanf("%lf", &book.price);
books[bookCount++] = book; // 存储图书信息
printf("添加成功!\n");
}
// 显示所有图书信息
void showBooks()
{
if (bookCount == 0) {
printf("当前没有存储任何书籍信息!\n");
return;
}
printf("书名\t\t作者\t\t出版社\t\t出版年份\t价格\n");
printf("------------------------------------------------------------\n");
for (int i = 0; i < bookCount; i++) {
printf("%s\t\t%s\t\t%s\t\t%d\t\t%.2lf\n", books[i].title, books[i].author, books[i].publisher, books[i].year, books[i].price);
}
}
int main()
{
int option;
do {
printf("请选择操作:\n");
printf("1. 添加图书信息\n");
printf("2. 显示所有图书信息\n");
printf("0. 退出\n");
scanf("%d", &option);
switch (option) {
case 1:
addBook();
break;
case 2:
showBooks();
break;
case 0:
printf("谢谢使用,再见!\n");
break;
default:
printf("无效操作,请重新输入!\n");
break;
}
} while (option != 0);
return 0;
}
```
该代码实现了基于顺序存储结构的图书信息表的创建和输出,可以通过添加图书信息和显示所有图书信息两个操作来实现。其中,图书信息使用结构体来存储,每次添加图书信息时将其存储在数组中,显示所有图书信息时遍历数组输出即可。
基于顺序存储结构的图书信息表的创建和输出 c语言代码
我可以回答这个问题。基于顺序存储结构的图书信息表可以使用数组来实现。以下是一个简单的示例代码:
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100 // 最大图书数量
struct Book {
char title[50]; // 书名
char author[50]; // 作者
int year; // 出版年份
};
struct Book books[MAX_BOOKS]; // 图书信息数组
int num_books = 0; // 当前图书数量
// 添加一本图书
void add_book(char *title, char *author, int year) {
if (num_books >= MAX_BOOKS) {
printf("Error: too many books\n");
return;
}
struct Book book;
strcpy(book.title, title);
strcpy(book.author, author);
book.year = year;
books[num_books++] = book;
}
// 输出所有图书信息
void print_books() {
printf("Title\tAuthor\tYear\n");
for (int i = 0; i < num_books; i++) {
printf("%s\t%s\t%d\n", books[i].title, books[i].author, books[i].year);
}
}
int main() {
add_book("The Catcher in the Rye", "J.D. Salinger", 1951);
add_book("To Kill a Mockingbird", "Harper Lee", 1960);
add_book("1984", "George Orwell", 1949);
print_books();
return 0;
}