用c语言写一个程序,完成书目信息的顺序表存储,并能显示顺序表中的全部书目信息。用户输入序号,输出对应的图书信息。
时间: 2023-03-29 18:04:19 浏览: 142
顺序表的实现,C语言
您好,以下是用 C 语言编写的程序,用于实现书目信息的顺序表存储,并能显示顺序表中的全部书目信息。用户输入序号,程序将输出对应的图书信息:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100 // 定义顺序表的最大长度
// 定义图书信息结构体
typedef struct {
char name[50]; // 书名
char author[20]; // 作者
char publisher[30]; // 出版社
float price; // 价格
} Book;
// 定义顺序表结构体
typedef struct {
Book data[MAX_SIZE]; // 存储图书信息的数组
int length; // 顺序表的长度
} SeqList;
// 初始化顺序表
void InitList(SeqList *L) {
L->length = ;
}
// 向顺序表中插入图书信息
void InsertList(SeqList *L, Book book) {
if (L->length >= MAX_SIZE) {
printf("顺序表已满,无法插入!\n");
return;
}
L->data[L->length] = book;
L->length++;
}
// 根据序号查找图书信息
void FindBook(SeqList L, int index) {
if (index < 1 || index > L.length) {
printf("输入的序号有误,请重新输入!\n");
return;
}
Book book = L.data[index - 1];
printf("书名:%s\n", book.name);
printf("作者:%s\n", book.author);
printf("出版社:%s\n", book.publisher);
printf("价格:%.2f\n", book.price);
}
int main() {
SeqList L;
InitList(&L);
// 插入图书信息
Book book1 = {"C语言程序设计", "谭浩强", "清华大学出版社", 39.8};
Book book2 = {"数据结构与算法分析", "Mark Allen Weiss", "机械工业出版社", 69.8};
Book book3 = {"计算机组成原理", "唐朔飞", "清华大学出版社", 49.8};
InsertList(&L, book1);
InsertList(&L, book2);
InsertList(&L, book3);
// 显示全部图书信息
printf("全部图书信息如下:\n");
for (int i = ; i < L.length; i++) {
printf("序号:%d\n", i + 1);
printf("书名:%s\n", L.data[i].name);
printf("作者:%s\n", L.data[i].author);
printf("出版社:%s\n", L.data[i].publisher);
printf("价格:%.2f\n", L.data[i].price);
printf("\n");
}
// 根据序号查找图书信息
int index;
printf("请输入要查找的图书序号:");
scanf("%d", &index);
FindBook(L, index);
return ;
}
阅读全文