我需要完成这些内容的C语言代码
时间: 2024-03-06 16:50:20 浏览: 21
好的,以下是一个简单的图书信息管理系统的C语言代码,可以供你参考:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100
struct Book {
char number[20]; // 书号
char name[50]; // 书名
char author[50]; // 作者名
char category[20]; // 分类号
char publisher[50]; // 出版单位
char date[20]; // 出版时间
double price; // 价格
};
struct Book books[MAX_BOOKS]; // 存储所有图书信息
int bookCount = 0; // 当前图书数量
// 显示菜单
void showMenu() {
printf("================================\n");
printf(" 图书信息管理系统\n");
printf("================================\n");
printf("1. 图书信息录入\n");
printf("2. 图书信息浏览\n");
printf("3. 图书信息查询\n");
printf("4. 图书信息删除\n");
printf("5. 图书信息修改\n");
printf("0. 退出系统\n");
printf("================================\n");
}
// 添加一本新书
void addBook() {
if (bookCount >= MAX_BOOKS) {
printf("图书数量已达上限,无法继续添加!\n");
return;
}
struct Book book;
printf("请输入书号:");
scanf("%s", book.number);
// 检查是否已存在该书号
for (int i = 0; i < bookCount; i++) {
if (strcmp(books[i].number, book.number) == 0) {
printf("已存在该书号的图书信息!\n");
return;
}
}
printf("请输入书名:");
scanf("%s", book.name);
printf("请输入作者名:");
scanf("%s", book.author);
printf("请输入分类号:");
scanf("%s", book.category);
printf("请输入出版单位:");
scanf("%s", book.publisher);
printf("请输入出版时间:");
scanf("%s", book.date);
printf("请输入价格:");
scanf("%lf", &book.price);
books[bookCount++] = book;
printf("成功添加图书信息!\n");
}
// 显示所有图书信息
void showAllBooks() {
if (bookCount == 0) {
printf("当前没有图书信息!\n");
return;
}
printf("编号\t书名\t作者名\t分类号\t出版单位\t出版时间\t价格\n");
for (int i = 0; i < bookCount; i++) {
struct Book book = books[i];
printf("%s\t%s\t%s\t%s\t%s\t%s\t%.2lf\n", book.number, book.name, book.author, book.category, book.publisher, book.date, book.price);
}
}
// 按书名查询图书信息
void searchBookByName() {
char name[50];
printf("请输入要查询的书名:");
scanf("%s", name);
for (int i = 0; i < bookCount; i++) {
if (strcmp(books[i].name, name) == 0) {
struct Book book = books[i];
printf("%s\t%s\t%s\t%s\t%s\t%s\t%.2lf\n", book.number, book.name, book.author, book.category, book.publisher, book.date, book.price);
return;
}
}
printf("未找到该书名的图书信息!\n");
}
// 按作者名查询图书信息
void searchBookByAuthor() {
char author[50];
printf("请输入要查询的作者名:");
scanf("%s", author);
for (int i = 0; i < bookCount; i++) {
if (strcmp(books[i].author, author) == 0) {
struct Book book = books[i];
printf("%s\t%s\t%s\t%s\t%s\t%s\t%.2lf\n", book.number, book.name, book.author, book.category, book.publisher, book.date, book.price);
}
}
}
// 删除图书信息
void deleteBook() {
char number[20];
printf("请输入要删除的图书编号:");
scanf("%s", number);
for (int i = 0; i < bookCount; i++) {
if (strcmp(books[i].number, number) == 0) {
for (int j = i; j < bookCount - 1; j++) {
books[j] = books[j + 1];
}
bookCount--;
printf("成功删除图书信息!\n");
return;
}
}
printf("未找到该图书编号的图书信息!\n");
}
// 修改图书信息
void modifyBook() {
char number[20];
printf("请输入要修改的图书编号:");
scanf("%s", number);
for (int i = 0; i < bookCount; i++) {
if (strcmp(books[i].number, number) == 0) {
struct Book book;
printf("请输入新的书名:");
scanf("%s", book.name);
printf("请输入新的作者名:");
scanf("%s", book.author);
printf("请输入新的分类号:");
scanf("%s", book.category);
printf("请输入新的出版单位:");
scanf("%s", book.publisher);
printf("请输入新的出版时间:");
scanf("%s", book.date);
printf("请输入新的价格:");
scanf("%lf", &book.price);
books[i] = book;
printf("成功修改图书信息!\n");
return;
}
}
printf("未找到该图书编号的图书信息!\n");
}
int main() {
int choice;
while (1) {
showMenu();
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 0:
return 0;
case 1:
addBook();
break;
case 2:
showAllBooks();
break;
case 3:
printf("1.按书名查询\n2.按作者名查询\n");
printf("请输入选项:");
scanf("%d", &choice);
if (choice == 1) {
searchBookByName();
} else if (choice == 2) {
searchBookByAuthor();
} else {
printf("无效选项!\n");
}
break;
case 4:
deleteBook();
break;
case 5:
modifyBook();
break;
default:
printf("无效选项!\n");
break;
}
}
return 0;
}
```
注意,这只是一个简单的代码示例,实际开发中可能需要更多的功能和更复杂的逻辑。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)