c语言图书管理系统课程设计报告
更新时间:2023-10-28 11:06:01 阅读量: 综合文库 文档下载
沈航北方科技学院
课程设计说明书
课程名称
教 学 部
c语言课程设计
机械工程系 专 业 数控 班 级 B042111 学 号 B04211123
学生姓名 田文 指导教师 赵小磊 _
2012年6月
链表实现图书信息操作
田文 目录
摘 要............................................................................................................................ 3 1绪论............................................................................................................................. 3 2系统分析..................................................................................................................... 3 2.1 功能需求.............................................................................................................. 3 2.2数据需求 .............................................................................................................. 4 2.3 性能需求.............................................................................................................. 4 3总体设计..................................................................................................................... 4 3.1功能模块设计 ...................................................................................................... 4 3.2系统设计方案 ...................................................................................................... 6 4详细设计..................................................................................................................... 7 4.1登录模块 .............................................................................................................. 7 4.2借书管理模块 ...................................................................................................... 8 4.3还书管理模块 ...................................................................................................... 9 5调试与测试............................................................................................................... 10 5.1 调试.................................................................................................................... 10 5.2 测试.................................................................................................................... 11 6结论........................................................................................................................... 12 结束语.......................................................................................................................... 12 参考文献...................................................................................................................... 12 附录1-用户手册(另起一页) .............................................................................. 13 附录2-源程序(另起一页) .................................................................................. 15
摘 要
经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:图书信息输入函数input(),借阅图书函数(borrow),增加删除图书函数(adddelet),图书查询函数(search),以及归还图书信息函数(giveback)。在这些函数当中,这四个函数的实现严格按照题目的要求。
1、 图书信息输入函数 主要功能是从键盘输入图书信息并将其写入文件中,
作为图书馆的书库,以便对下面的函数进行运行,此函数是基础.
2、 图书借阅函数 主要借阅图书的功能和录入学生应该还书的时间;
3、 图书归还函数 主要实现借阅图书后,归还图书的功能,并把应该还书的时
间和实际还书的时间进行比较过期时输出学生的信息,也是该程序的的一个重点
4、 增加删除图书函数 实现的功能是实现对图书的删除;
5、 图书查询函数 允许按照图书编号,书名,作者,出版社进行查询,并将查
询信息输出;
6、 退出函数 该函数主要实现退出运行界面的功能.
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每一个图书记录都包含:图书编号,名称,出版社,作者,现有数量和总量在程序当中,将图书记录类型定义为结构体类型,并把它写入d:\\\\liuyan.txt中,其他函数每次对图书记录的访问,其数据来源都是d:\\\\liuyan.txt文件,这样做不但可以保证图书数据的一致性,而且可以对图书数据进行永久保存,保证每次运行程序都可以采用原来的数据。 1绪论
整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:图书信息输入函数input(),借阅图书函数(borrow),增加删除图书函数(adddelet),图书查询函数(search),以及归还图书信息函数(giveback)。在这些函数当中,这四个函数的实现严格按照题目的要求。 2系统分析 2.1 功能需求
设计一个通过链表实现对图书信息进行管理的程序,要求完成以下功能: 1. 建立一个链表,每个结点应包含以下信息:图书号、书名及出版社、价格、
ISBN、作者、册数;
2. 将输入信息按图书号进行从小到大的排序; 3. 实现查询功能——输入书名,查询输出相关信息; 4. 实现插入功能——输入图书信息并插入有序链表中;
5. 实现删除功能——输入书名或书号,可将其信息从链表中删除; 6. 统计链表中图书总价值,并在屏幕上输出;
7. 统计该链表中价值超过某一数目的图书总数,并在屏幕上输出。 8. 有界面友好易于使用的菜单。 2.2数据需求
需要向系统输入图书号、书名及出版社、价格、ISBN、作者、册数 2.3 性能需求
在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。 3总体设计 3.1功能模块设计
根据分析整个系统主要划分为4个功能模块,分别执行要求中的功能。该系统需要有添加,删除,查询,修改,累加,循环显示主菜单,保存信息功能,能将会员卡进行注销,利用显示函数将会员卡内所有信息显示。要求有循环显示菜单工能。功能模块图如图1所示。
(1)输入读者
输入相关读者信息至内存中; (2) 输入书籍
输入书籍号,对已存的书籍信息进行查询; (3) 书籍管理模块
输入相应代码,对相关信息进行查询; (4) 退出管理模块
主菜单中输入0退出系统登录;
图书管理系统 输入读者 输入书籍 书籍管理 退出系统登录 新书入库 查询按照图书编号查询按照图书名查询图1图书管理系统流程图
管理员版图书管理系统图2 管理员版图书管理系统流程图
图书查询系统主界面图3 图书查询主界面流程图
借书登记还书管理按照图书作者查询
书籍信息修改书籍数量书籍信息查询
按照读者编号查询按照读者姓名查询退出查询
void Return_Book(); /*还书函数*/ void Save(); /*保存信息*/ void Save_Reader(); /*保存读者信息*/ void Save_Book(); /*保存图书信息*/ void Load(); /*加载信息*/ void Load_Reader(); /*加载读者信息*/ void Load_Book(); /*加载图书信息*/ void Login()/*登陆*/ {
system(\
printf(\欢迎登陆本系统\\n\
printf(\ 系统版权所有\\n\\n\\n\\n\\n\\n\\n\printf(\按 任 意 键 进 入 系 统 ...\getchar(); system(\cls\}
int Menu() /*主菜单*/
{ int sn;
printf(\图书管理系统主菜单\\n\
printf(\printf(\退出系统 *\\n\printf(\新书入库 *\\n\printf(\ 查询 *\\n\printf(\借书登记 *\\n\printf(\还书管理 *\\n\
printf(\printf(\请选择相应代码:\ for(;;)
{ scanf(\ fflush(stdin); if(sn<0||sn>4)
printf(\错误!请重新输入:\ else break; }
return sn;
}
void Menu_select()/*主菜单选择函数*/ {
for(;;) /*循环调用模式,保证能进行重复操作*/ {
switch(Menu()) /*功能选择*/
{ case 0:
system(\清楚屏幕先前的显示内容*/ Save();
printf(\文件保存成功!\\n\
printf(\欢迎下次使用本系统!\\n\ getchar(); exit(0);
case 1:Insert_New_Book();break; case 2:Find_Select();break; case 3:Borrow_Book();break; case 4:Return_Book();break; default:printf(\错误!\ } }
}
void Init() /*初始化*/ {
Init_reader(); Init_book(); }
void Init_reader() /*初始化读者信息*/ {
RD *p0;
int i;
printf(\读者初始化开始,请输入读者信息..\\n包括编号.姓名..\\n\ p0=(RD*)malloc(sizeof(RD)); h_reader=p0;
printf(\请输入读者的信息:\\n\
printf(\ /*输入读者编号(唯一)*/ scanf(\
printf(\ /*输入读者姓名(不唯一)*/ scanf(\ p0->right=0;
for(i=0;i strcpy(p0->borrow[i].borrow_book_num,\所借图书直接置为0(即没有借书)*/ strcpy(p0->borrow[i].limit_date,\ } p0->next=NULL; printf(\读者信息初始化完毕!按任意键继续下一步操作..\\n\ getchar(); system(\} void Init_book() /*初始化图书信息*/ { BK *p0; printf(\图书初始化开始,请输入图书信息..\\n包括编号.书名.数量..\\n\p0=(BK*)malloc(sizeof(BK)); h_book=p0; printf(\请输入图书信息:\\n\ printf(\ /*输入图书编号(唯一)*/ scanf(\ printf(\ /*输入图书名称*/ scanf(\ printf(\ /*输入图书作者*/ scanf(\ printf(\ /*输入图书数量*/ scanf(\ p0->book_xy=p0->book_kc; /*开始时图书现有量和库存量相等*/ p0->next=NULL; printf(\图书信息初始化完毕!按任意键继续下一步操作..\\n\ getchar(); system(\} void Insert_New_Book()/*新书入库*/ { BK *p,*p0,*p1; p=p1=h_book; printf(\新书入库模块...\\n\ printf(\请输入新书信息..\\n包括书号.书名.数量..\\n\p0=(BK *)malloc(sizeof(BK)); printf(\ scanf(\ while(strcmp(p0->book_num,p1->book_num)!=0&&p1->next!=NULL) p1=p1->next; if(strcmp(p0->book_num,p1->book_num)==0) /*此处分两种情况,若图书编号存在,则直接进库,只须输入书的数量*/ { printf(\此编号图书已存在!!直接入库!\\n\ printf(\ scanf(\ p1->book_kc+=p0->book_kc; p1->book_xy+=p0->book_kc; } else/*若不存在,则需要输入其他的信息 ,然后在进行插入操作*/ { printf(\ scanf(\printf(\ scanf(\ printf(\ scanf(\while(p->next) { p=p->next; } if(h_book==NULL) h_book=p0; /*此处分两种情况,链表中没有数据,head直接指向p0处*/ else p->next=p0; /*此处分两种情况,链表中有数据,链表中最后元素的next指向p0处*/ p0->next=NULL; p0->book_xy=p0->book_kc; } printf(\新书入库完毕!按任意键继续下一步操作..\\n\ getchar(); system(\} int Find() /*查找菜单*/ { int sn; printf(\信息查询菜单\\n\ printf(\printf(\返回上级 \\t*\\n\printf(\ \\t*\\n\printf(\查找图书 2----查找读者 \\t*\\n\printf(\ \\t*\\n\printf(\打印图书 4----打印读者 \\t*\\n\ printf(\printf(\请选择相应代码:\ for(;;) /*循环调用模式,保证能进行重复操作*/ { scanf(\ fflush(stdin); if(sn<0||sn>4) printf(\错误!请重新输入:\ else break; } return sn; } void Find_Select() /*查找菜单选择函数*/ { system(\ for(;;) /*循环调用模式,保证能进行重复操作*/ { switch(Find()) /*功能选择*/ { case 0:system(\ case 1:Find_Book();break; case 2:Find_Reader();break; case 3:Print_book();break; case 4:Print_reader();break; default:printf(\错误!\ } } } void Find_Reader() /*查找读者信息*/ { RD *p; int i; char find_reader[10]; p=h_reader; printf(\读者信息查询模块\\n\ printf(\请输入你要查询读者编号:\ scanf(\ while(strcmp(p->reader_num,find_reader)!=0&&p->next) p=p->next; if(strcmp(p->reader_num,find_reader)==0) { printf(\读者编号:%s的信息为:\\n\ printf(\/*此处这样处理,是为了能实现一个读者能借多本书 Max 可以改*/ printf(\ printf(\ for(i=0;i printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ } printf(\ } else printf(\此读者编号不存在,请核对!按任意键返回...\
正在阅读:
c语言图书管理系统课程设计报告10-28
《电子商务系统的分析与设计》复习题05-27
描写人物外貌的作文500字04-01
南中医三基题库205-04
经济管理学院工作总结胡云波11-16
浅析当代中国信仰危机问题03-10
临床科主任工作总结11-21
解说词格式02-18
什么是一道靓丽的风景线作文500字06-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 管理系统
- 语言
- 课程
- 报告
- 图书
- 设计
- 计算机网络简答题参考答案
- 人力资源四级第五章薪酬管理真题及答案
- ORACLE表备份恢复测试用例
- 语文选修《红楼梦》考点重点训练
- 试论20世纪90年代后哲学研究趋向兼评复旦大学《中国古代哲学史》
- 闫家沟煤矿地质概况
- 公安派出所纪律作风整顿心得体会
- 细胞生物学 第十章 细胞连接与细胞黏附 提纲
- 创先争优简报16 - 图文
- 第一节 减数分裂和受精作用(二)
- 汽车电器试题库 2
- UML实验(含答案)
- 项目管理PERT和CPM法的思想及应用案例
- 财务报表分析网考题及答案1 - 图文
- 实训报告 - 招投标与商务合同管理实训
- 公务员公文文字材料写作
- 武汉市机织服装行业企业名录2018版819家 - 图文
- 台州全面建成小康社会进程难点和对策研究
- 桂林电子工业大学 模拟电子技术基础(二系)
- 地源热泵系统工程技术规程