c语言程序设计报告 图书管理系统文档.doc
《c语言程序设计报告 图书管理系统文档.doc》由会员分享,可在线阅读,更多相关《c语言程序设计报告 图书管理系统文档.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第一章1.1题目描述图书管理系统设计:【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统(1) 新图书基本信息的输入;(2) 图书基本信息的查询;,使之能提供以下功能:(3) 对撤销图书信息的删除;(4) 办理借书手续;(5) 办理还书手续;【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。1.2算法设计 1设计思想: 在整个系统编写的过程中,涉及了较多 C 语言知识点,
2、对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系问题统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2实现注释: 这个实用的小型图书管理系统录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书
3、查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编 、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行程序以结构体数组指针操作完成,并实现文件信息的删除和借书、还书的所有信息。可号、单价、作者、存在状态、借书人姓名处理。3结构体系设计 图1.1:主函数结构;图1.2:新书信息录入流程;图1.3:图书信息查询(管理员)流程;图1.4:图书信息查询(学生)流程;图1.5:图书信息删除流程;图1.6:办理 1程序设计:下面,我大致介绍一下我的系统的主要功能和注意事项:当运行此程序时,首先进
4、入系统主界面,然后可以选择1.管理员登陆(密码:123),2.学生登陆,0.退出系统;选择1后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。管理员功能菜单中,1.新书信息录入,2.图书信息查询,3.图书信息删除,4.返回主菜单,0.退出系统;当出现“请选择”时,输入选项前的数字,输完之后按回车(下同)。首次运行系统需要先选择1录入库存书籍信息,图书各信息项须用空格键隔开,输入完毕后信息自动储存并更新至数据库,然后等操作,需要注意的是每次磁盘文件信息不会改变。选择2后进入学生系统,然后显示学生功能菜单,按数字键选择所需服务。学生功1.图书信息查询,2.办理借书手续,3.
5、办理函数手续,4.返回主菜单,0.退出系统;当出现 前的数字。当进入办理借书和还书确认等操作,盘文件信息不再选择其他操作。当选择3时会进入图书信息删除,在这里可以选择删除图书信息执行删除操作需要手动选择保存图书信息的操作,不然能菜单中,“请选择”时,输入选项手续功能时需要注意的是每次执行操作需要手动选择否子磁会改变。所有信息最后均以磁盘文件方式用户在使用时必须要按这种格式输入,否则会出现2代码分析:保存,而且格式固定,输入和输出均按这种格式,文件信息错误。/*源程序#include #include #include #define LONG sizeof(struct Book) struc
6、t Book 代码*/ char title100; char author50; char press100; char year5; char claim_number30; int collection; int can_borrow; char unit_price10; char student_name50; char sex5; char student_id20; long long int number; ; /*函数声明*/ void main_meun();/【主界面函数】 void manager_menu();/【管理员功能界面函数】 void student_meu
7、n();/【学生功能界面函数】 int book_add(int back);/【新书信息录入函数】 int search_2(int back);/【图书信息查询(学生版)】 int search_1(int back);/【图书信息查询函数(管理员版)】 int search_number(int back);/【按编号查询函数(管理员版)】 int search_title(int back);/【按书名查询函数(管理员版)】 void search_menu();/【图书查询函数界面(管理员版)】 int book_delete(int back);/【图书信息删除函数】 int bo
8、rrow(int back);/【办理借书手续函数】 int return_book(int back);/【办理还书手续函数】 /*主函数*/ int main() int a,b,c,z; int back=0,back2=0,back3=0; 为一个标志位,用于从子函数返回主界面 back=0;back2=0;back3=0; main_meun();/【主界面函数】 while(1)/主程序循环运行 switch(a) case 1:/进入管理员界面 登陆密码【123】:if(z!=123)goto A; 为一个标志位,用于从子函数返回管理员功能界面 back=0;back2=0;ba
9、ck3=0; manager_menu();/【管理员功能界面函数】 while(1) switch(b) case 1:back2=book_add(back2);if(back2=1)goto B;/进入新书信息录入图书信息查询case 2:back2=search_1(back2);if(back2=1)goto B;/进入case_3:back2=book_delete(back2);if(back2=1)goto B;/进入图书信息删除case 4:goto A;/返回主菜单case 0:/退出系统 感谢使用,再见! =-exit(0); break; case 2:/进入学生界面
10、为一个标志位,用于从子函数返回学生功能界面back=0;back2=0;back3=0; student_meun();/【学生功能界面函数】 while(1) switch(c) case 1: back3=search_2(back3);if(back3=1)goto C; /进入图书信息查询case 2: back3=borrow(back3);if(back3=1)goto C; /办理case 3: back3=return_book(back3);if(back3=1)goto C; /case 4:goto A;/返回主菜单借书手续 办理还书手续 case 0:/退出系统 感谢使
11、用,再见! =- exit(0); break; case 0:/退出系统 感谢使用,再见! =- exit(0); /*其他函数*/ void main_meun()/【主界面函数】 欢迎使用图书管理系统 管理员登陆 2.学生登陆 0.退出系统 请选择: void manager_menu()/【管理员功能界面函数】 新书信息录入 图书信息查询 图书信息删除 返回主菜单 退出系统 请选择: void student_meun()/【学生功能界面函数】 图书信息查询 办理借书手续 办理还书手续 返回主菜单 退出系统 请选择: int book_add(int back)/【新书信息录入函数】
12、FILE *fp; struct Book *p1; long long int a,b; int n; 图书信息数据库数据库打开错误!请检查 while(1) 为一个标志位,用于返回本函数首界面 p1=(struct Book*)malloc(LONG); fseek(fp,-11,SEEK_END); if(anumber=a+1; 未知未知未知claim_number,p1-unit_price,&p1-collection); p1-can_borrow=p1-collection; r,p1-press,p1-year,p1-claim_number,p1-unit_price,p1
13、-collection,p1-can_borrow,p1-student_name,p1-sex,p1-student_id,p1-number); fflush(fp); if(1collection) for(b=2;bcollection;b+) p1-number=a+b; r,p1-press,p1-year,p1-claim_number,p1-unit_price,p1-collection,p1-can_borrow,p1-student_name,p1-sex,p1-student_id,p1-number); fflush(fp); 继续录入 2.结束录入 请选择:swit
14、ch(n) case 1:goto A; case 2:fclose(fp);back=1;return(back); int search_2(int back)/【进入图书信息查询(学生版)】 FILE *fp; char title100; struct Book *p; int a1=0,b1; 为一个标志位,用于返回本函数首界面 back=0; 请输入书名:图书信息数据库数据库打开错误!请检查p=(struct Book*)malloc(LONG); while(!feof(fp) -press,p-year,p-claim_number,p-unit_price,&p-collec
15、tion,&p-can_borrow,p-student_name,p-sex,p-student_id,&p-number); if(strcmp(title,p-title)=0) a1=1; 书名 作者 出版社 年份 索取号 馆藏 可借year,p-claim_number,p-collection,p-can_borrow); break; if(a1=1) fclose(fp); 继续搜索 2.返回学生功能菜单 0.退出系统 请选择:while(1) switch(b1) case 1:goto A;break; case 2:return(back=1); case 0: 感谢使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言程序设计报告 图书管理系统文档 语言程序设计 报告 图书 管理 系统 文档
限制150内