用c语言如何实现借还书系统,急求程序!!!简单图书馆借/还书管理子系统...

本文档详细描述了一个简易图书馆借还书管理子系统的需求和设计。系统功能包括读者、书籍信息的增删改查,借还书信息的管理,库存预警以及密码修改。所有信息以结构体形式存储在单独的文件中,并要求通过功能模块图进行程序编写。系统需具备良好的可用性和有效性,界面简洁,操作便捷。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

项目需求

通过此系统可以实现如下功能

1)完成对读者、书的基本信息以及借/还书的信息进行插入、删除、修改、保存等编辑功能;

2)书的库存量随着借/还书的情况随时进行更新。当书的库存量不够时随时提出警告信息;

3)查询

l 根据读者的编号或姓名查阅读者的基本信息及借还书情况

l 根据书号或书名、或作者、或出版社查阅书的基本信息

l 根据时间段查询借/还书情况。查阅后所显示的信息包括

读者编号、 姓名、书号、书名、作者、出版社、借书日期、还书日期

4) 修改密码

5)退出系统。

注:简单图书馆借/还书管理子系统是应用软件,在对其进行需求分析的过程中,需要充分考虑系统的可用性和有效性,联系实际应用,从而得到合理的软件。

2. 设计要求 1)画出功能模块图。

2)整个程序中不能只有main函数,必须按照功能模块图进行功能函数编写。功能函数不能少于10个。

3)读者、书的基本信息以及借/还书的信息必须以结构体形式储存。

4)读者、书的基本信息以及借/还书的信息必须存储在各自文件中。对文件进行操作实现对所需信息的增加、删除、修改、查询。

3. 开发环境

操作系统:   Windows

2000/XP

开发语言:   C语言

课程指导

1. 相关知识要点

1)开发流程

a)、需求分析,严格按照需求和要求进行开发。

b)、设计功能模块,定义功能函数。

c)、定义读者、书的基本信息以及借/还书的信息息结构体,完善功能函数。

d)、程序功能测试,减少程序BUG,提高程序质量。

相关提示

1)

录入读者信息

每条读者信息包括编号、姓名、性别、年龄、职业、单位、电话。将信息存入文件“reader.dat” 中。

2)录入书信息

书信息包括书号、书名、作者、出版社、出版时间、库存量、内容摘要。将信息存入文件“book.dat”中。

3) 录入借/还书信息

借/还书信息包括 读者编号、书号、借书时间、应还书时间、实际还书时间、备注。其中读者编号信息来自读者信息文件,书号信息来自书信息文件。借/还书信息存入文件“borrow_lend.dat”中。

4)书的库存量随着借/还书情况随时进行更新。当书的库存量不够时随时提出警告信息。

5)查询获得的信息来自多个文件必须注意多个文件之间的操作,联系。

5)界面要求

为了操作简捷方便,主界面要求如下:

1

读者信息录入           2. 书信息录入

3. 借/还书信息录入       4.

查询

5. 退出

请选择1--5:-

查询界面

1读者信息查询     2 书查询

3 借/还书查询     4

退出

请选择1—4:-

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的借还书系统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` 循环来不断显示菜单,并根据用户输入来执行相应的操作,直到用户选择退出系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值