用C语言来写出教材征订管理系统的代码
时间: 2023-12-03 19:46:14 浏览: 30
征订管理系统的代码如下所示:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100 // 最大书籍数量
#define MAX_NAME_LENGTH 50 // 最大书名长度
struct Book {
char name[MAX_NAME_LENGTH]; // 书名
int quantity; // 数量
float price; // 价格
};
struct Book books[MAX_BOOKS]; // 书籍数组
int num_books = 0; // 当前书籍数量
// 显示菜单
void display_menu() {
printf("1. 添加书籍\n");
printf("2. 删除书籍\n");
printf("3. 修改书籍信息\n");
printf("4. 查询书籍信息\n");
printf("5. 显示所有书籍\n");
printf("6. 退出程序\n");
}
// 添加书籍
void add_book() {
if (num_books == MAX_BOOKS) {
printf("书籍数量已达上限,无法继续添加!\n");
return;
}
printf("请输入书籍名称:");
scanf("%s", books[num_books].name);
printf("请输入书籍数量:");
scanf("%d", &books[num_books].quantity);
printf("请输入书籍价格:");
scanf("%f", &books[num_books].price);
num_books++;
printf("书籍添加成功!\n");
}
// 删除书籍
void delete_book() {
char name[MAX_NAME_LENGTH];
int i, j;
printf("请输入要删除的书籍名称:");
scanf("%s", name);
for (i = 0; i < num_books; i++) {
if (strcmp(name, books[i].name) == 0) {
for (j = i; j < num_books - 1; j++) {
strcpy(books[j].name, books[j + 1].name);
books[j].quantity = books[j + 1].quantity;
books[j].price = books[j + 1].price;
}
num_books--;
printf("书籍删除成功!\n");
return;
}
}
printf("未找到该书籍,删除失败!\n");
}
// 修改书籍信息
void modify_book() {
char name[MAX_NAME_LENGTH];
int i;
printf("请输入要修改的书籍名称:");
scanf("%s", name);
for (i = 0; i < num_books; i++) {
if (strcmp(name, books[i].name) == 0) {
printf("请输入新的书籍名称:");
scanf("%s", books[i].name);
printf("请输入新的书籍数量:");
scanf("%d", &books[i].quantity);
printf("请输入新的书籍价格:");
scanf("%f", &books[i].price);
printf("书籍信息修改成功!\n");
return;
}
}
printf("未找到该书籍,修改失败!\n");
}
// 查询书籍信息
void query_book() {
char name[MAX_NAME_LENGTH];
int i;
printf("请输入要查询的书籍名称:");
scanf("%s", name);
for (i = 0; i < num_books; i++) {
if (strcmp(name, books[i].name) == 0) {
printf("书籍名称:%s\n", books[i].name);
printf("书籍数量:%d\n", books[i].quantity);
printf("书籍价格:%0.2f\n", books[i].price);
return;
}
}
printf("未找到该书籍,查询失败!\n");
}
// 显示所有书籍
void display_books() {
int i;
printf("书籍列表:\n");
for (i = 0; i < num_books; i++) {
printf("%d. %s,数量:%d,价格:%0.2f\n", i + 1, books[i].name, books[i].quantity, books[i].price);
}
}
int main() {
int choice;
while (1) {
display_menu();
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
delete_book();
break;
case 3:
modify_book();
break;
case 4:
query_book();
break;
case 5:
display_books();
break;
case 6:
printf("程序已退出!\n");
return 0;
default:
printf("无效选项,请重新输入!\n");
break;
}
}
return 0;
}
```
该代码实现了一个简单的征订管理系统,可以添加、删除、修改、查询和显示书籍信息。