c语言图书逾期还书系统,急求程序!!!简单图书馆借/还书管理子系统
时间: 2023-06-26 19:09:58 浏览: 132
下面是一个简单的借还书系统的C语言程序,可以作为参考:
```c
#include<stdio.h>
#include<string.h>
//定义结构体
struct book {
char name[50];
char author[50];
int num;
int borrowed;
};
//定义全局变量,表示图书馆中的图书数量
int n=0;
//函数声明
void add_book();
void borrow_book();
void return_book();
void display_books();
void display_borrowed_books();
void display_menu();
int main() {
int choice;
do {
display_menu();
scanf("%d",&choice);
switch(choice) {
case 1:
add_book();
break;
case 2:
borrow_book();
break;
case 3:
return_book();
break;
case 4:
display_books();
break;
case 5:
display_borrowed_books();
break;
case 6:
printf("退出系统!\n");
break;
default:
printf("输入错误,请重新输入!\n");
}
} while(choice!=6);
return 0;
}
void add_book() {
struct book b;
printf("请输入书名:");
scanf("%s",b.name);
printf("请输入作者:");
scanf("%s",b.author);
printf("请输入数量:");
scanf("%d",&b.num);
b.borrowed=0;
//将新书添加到图书馆中
books[n]=b;
n++;
printf("添加成功!\n");
}
void borrow_book() {
char name[50];
printf("请输入要借的书名:");
scanf("%s",name);
int found=0;
for(int i=0;i<n;i++) {
if(strcmp(books[i].name,name)==0) {
found=1;
if(books[i].num>books[i].borrowed) {
books[i].borrowed++;
printf("借书成功!\n");
} else {
printf("该书已被借完!\n");
}
break;
}
}
if(!found) {
printf("找不到该书!\n");
}
}
void return_book() {
char name[50];
printf("请输入要还的书名:");
scanf("%s",name);
int found=0;
for(int i=0;i<n;i++) {
if(strcmp(books[i].name,name)==0) {
found=1;
if(books[i].borrowed>0) {
books[i].borrowed--;
printf("还书成功!\n");
} else {
printf("该书没有被借出!\n");
}
break;
}
}
if(!found) {
printf("找不到该书!\n");
}
}
void display_books() {
printf("图书馆中的图书如下:\n");
printf("书名\t作者\t数量\t已借出数量\n");
for(int i=0;i<n;i++) {
printf("%s\t%s\t%d\t%d\n",books[i].name,books[i].author,books[i].num,books[i].borrowed);
}
}
void display_borrowed_books() {
printf("已借出的图书如下:\n");
printf("书名\t作者\t已借出数量\n");
for(int i=0;i<n;i++) {
if(books[i].borrowed>0) {
printf("%s\t%s\t%d\n",books[i].name,books[i].author,books[i].borrowed);
}
}
}
void display_menu() {
printf("\n请选择操作:\n");
printf("1. 添加图书\n");
printf("2. 借阅图书\n");
printf("3. 归还图书\n");
printf("4. 显示全部图书\n");
printf("5. 显示已借出图书\n");
printf("6. 退出系统\n");
printf("请输入数字选择操作:");
}
```
该程序通过定义结构体 `book` 来表示每一本书,其中包含书名、作者、数量和已借出数量等信息。通过全局变量 `n` 来记录图书馆中的图书数量。程序主要包含以下几个函数:
- `add_book()`:添加新书到图书馆中。
- `borrow_book()`:借阅图书。
- `return_book()`:归还图书。
- `display_books()`:显示全部图书。
- `display_borrowed_books()`:显示已借出图书。
- `display_menu()`:显示菜单,供用户选择操作。
在 `main` 函数中,通过 `do-while` 循环来不断显示菜单,并根据用户输入来执行相应的操作,直到用户选择退出系统。
阅读全文