用C语言实现图书管理系统
以下是一个简单的图书管理系统的C语言实现示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
typedef struct {
char title[100];
char author[100];
int year;
int available;
} Book;
Book library[MAX_BOOKS];
int bookCount = 0;
void addBook() {
if (bookCount >= MAX_BOOKS) {
printf("图书馆已满,无法添加新书。\n");
return;
}
Book newBook;
printf("请输入书名:");
scanf("%s", newBook.title);
printf("请输入作者:");
scanf("%s", newBook.author);
printf("请输入出版年份:");
scanf("%d", &newBook.year);
newBook.available = 1; // 默认设置为可借阅状态
library[bookCount] = newBook;
bookCount++;
printf("添加书籍成功。\n");
}
void searchBook() {
char keyword[100];
printf("请输入要搜索的关键词:");
scanf("%s", keyword);
printf("搜索结果:\n");
int found = 0;
for (int i = 0; i < bookCount; i++) {
if (strstr(library[i].title, keyword) || strstr(library[i].author, keyword)) {
printf("书名:%s\n", library[i].title);
printf("作者:%s\n", library[i].author);
printf("出版年份:%d\n", library[i].year);
printf("可借阅:%s\n", library[i].available ? "是" : "否");
printf("\n");
found = 1;
}
}
if (!found) {
printf("没有找到符合条件的书籍。\n");
}
}
void borrowBook() {
char title[100];
printf("请输入要借阅的书籍名称:");
scanf("%s", title);
int found = 0;
for (int i = 0; i < bookCount; i++) {
if (strcmp(library[i].title, title) == 0 && library[i].available) {
library[i].available = 0;
printf("借阅成功。\n");
found = 1;
break;
}
}
if (!found) {
printf("该书籍不可借阅或不存在。\n");
}
}
void returnBook() {
char title[100];
printf("请输入要归还的书籍名称:");
scanf("%s", title);
int found = 0;
for (int i = 0; i < bookCount; i++) {
if (strcmp(library[i].title, title) == 0 && !library[i].available) {
library[i].available = 1;
printf("归还成功。\n");
found = 1;
break;
}
}
if (!found) {
printf("该书籍不存在或已归还。\n");
}
}
int main() {
int choice;
do {
printf("欢迎使用图书管理系统\n");
printf("1. 添加书籍\n");
printf("2. 搜索书籍\n");
printf("3. 借阅书籍\n");
printf("4. 归还书籍\n");
printf("0. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook();
break;
case 2:
searchBook();
break;
case 3:
borrowBook();
break;
case 4:
returnBook();
break;
case 0:
printf("感谢使用图书管理系统,再见!\n");
break;
default:
printf("无效的选择,请重新输入。\n");
break;
}
printf("\n");
} while (choice != 0);
return 0;
}
这个示例实现了以下功能:
- 添加书籍:用户可以输入书名、作者和出版年份来添加一本新书。
- 搜索书籍:用户可以输入关键词,系统会搜索图书馆中包含该关键词的书籍,并显示搜索结果。
- 借阅书籍:用户可以输入要借阅的书籍名称,如果该书籍存在且可借阅,系统会将其标记为不可借阅状态。
- 归还书籍:用户可以输入要归还的书籍名称,如果该书籍存在且已借阅,系统会将其标记为可借阅状态。
请注意,这只是一个简单的示例,实际的图书管理系统可能需要更复杂的功能和数据存储方式
原文地址: https://www.cveoy.top/t/topic/hAQ6 著作权归作者所有。请勿转载和采集!