使用c语言编写图书管理系统
时间: 2023-12-11 07:56:52 浏览: 83
c语言编写的图书管理系统
4星 · 用户满意度95%
好的,我们可以使用C语言来编写一个简单的图书管理系统。首先,我们需要确定这个系统需要实现哪些功能,例如:
1. 添加图书信息
2. 删除图书信息
3. 修改图书信息
4. 查询图书信息
5. 显示所有图书信息
接下来,我们可以定义一个结构体来存储图书信息:
```c
struct Book {
char title[50];
char author[50];
int year;
char isbn[20];
};
```
然后,我们可以定义一个数组来存储图书信息:
```c
struct Book library[100];
int num_books = 0;
```
其中,`num_books` 表示当前图书馆中的图书数量。
接着,我们可以编写函数来实现各种功能。例如,添加图书信息的函数可以这样编写:
```c
void add_book() {
struct Book new_book;
printf("请输入书名:");
scanf("%s", new_book.title);
printf("请输入作者:");
scanf("%s", new_book.author);
printf("请输入出版年份:");
scanf("%d", &new_book.year);
printf("请输入ISBN号:");
scanf("%s", new_book.isbn);
library[num_books] = new_book;
num_books++;
printf("添加成功!\n");
}
```
类似地,我们可以编写其他功能的函数。完整的代码示例如下:
```c
#include <stdio.h>
#include <string.h>
struct Book {
char title[50];
char author[50];
int year;
char isbn[20];
};
struct Book library[100];
int num_books = 0;
void add_book() {
struct Book new_book;
printf("请输入书名:");
scanf("%s", new_book.title);
printf("请输入作者:");
scanf("%s", new_book.author);
printf("请输入出版年份:");
scanf("%d", &new_book.year);
printf("请输入ISBN号:");
scanf("%s", new_book.isbn);
library[num_books] = new_book;
num_books++;
printf("添加成功!\n");
}
void remove_book() {
char isbn[20];
printf("请输入要删除的图书的ISBN号:");
scanf("%s", isbn);
int i;
for (i = 0; i < num_books; i++) {
if (strcmp(library[i].isbn, isbn) == 0) {
int j;
for (j = i; j < num_books - 1; j++) {
library[j] = library[j + 1];
}
num_books--;
printf("删除成功!\n");
return;
}
}
printf("未找到该图书!\n");
}
void modify_book() {
char isbn[20];
printf("请输入要修改的图书的ISBN号:");
scanf("%s", isbn);
int i;
for (i = 0; i < num_books; i++) {
if (strcmp(library[i].isbn, isbn) == 0) {
struct Book new_book;
printf("请输入新的书名:");
scanf("%s", new_book.title);
printf("请输入新的作者:");
scanf("%s", new_book.author);
printf("请输入新的出版年份:");
scanf("%d", &new_book.year);
printf("请输入新的ISBN号:");
scanf("%s", new_book.isbn);
library[i] = new_book;
printf("修改成功!\n");
return;
}
}
printf("未找到该图书!\n");
}
void query_book() {
char isbn[20];
printf("请输入要查询的图书的ISBN号:");
scanf("%s", isbn);
int i;
for (i = 0; i < num_books; i++) {
if (strcmp(library[i].isbn, isbn) == 0) {
printf("书名:%s\n", library[i].title);
printf("作者:%s\n", library[i].author);
printf("出版年份:%d\n", library[i].year);
printf("ISBN号:%s\n", library[i].isbn);
return;
}
}
printf("未找到该图书!\n");
}
void display_books() {
int i;
for (i = 0; i < num_books; i++) {
printf("书名:%s\n", library[i].title);
printf("作者:%s\n", library[i].author);
printf("出版年份:%d\n", library[i].year);
printf("ISBN号:%s\n", library[i].isbn);
printf("\n");
}
}
int main() {
int choice;
while (1) {
printf("1.添加图书\n");
printf("2.删除图书\n");
printf("3.修改图书\n");
printf("4.查询图书\n");
printf("5.显示所有图书\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
remove_book();
break;
case 3:
modify_book();
break;
case 4:
query_book();
break;
case 5:
display_books();
break;
default:
printf("无效的选项!\n");
}
}
return 0;
}
```
注意,这只是一个简单的示例,实际的图书管理系统需要考虑更多的功能和细节。
阅读全文