模拟图书馆管理系统(“程序设计专周”报告).doc

模拟图书馆管理系统(“程序设计专周”报告).doc

ID:57267702

大小:38.00 KB

页数:8页

时间:2020-08-08

模拟图书馆管理系统(“程序设计专周”报告).doc_第1页
模拟图书馆管理系统(“程序设计专周”报告).doc_第2页
模拟图书馆管理系统(“程序设计专周”报告).doc_第3页
模拟图书馆管理系统(“程序设计专周”报告).doc_第4页
模拟图书馆管理系统(“程序设计专周”报告).doc_第5页
资源描述:

《模拟图书馆管理系统(“程序设计专周”报告).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、“程序设计专周”报告实验题目:模拟图书馆管理系统班级:学号:33号姓名:指导教师:日期:19周一~周五一、题目:模拟图书馆管理系统模拟图书管理系统:图书管理的基本业务包括对一本书的入库、清除、查询、借出、归还等,设书的内容至少包括书号、书名、作者、库存总量和现存量等。二、算法基本思想描述:  将整个程序划分为五个模块,分别定义了五个函数来实现管理系统的功能,采用单链表的结构进行数据操作。三、设计1.数据结构的设计typedefstructBookList{charnum[10];charname[20];charauthor[20];inttotal;intleavings;stru

2、ctBookList*next;}Book;采用链表的结构来进行数据操作,一本书的数据包括:书号、书名、作者、库存总量、现存量以及指针区域。2.算法的设计(1)关键算法设计思路描述在构思图书馆管理系统的结构时,我将整个程序划分为五个模块,分别定义了五个函数来实现管理系统的功能,除此之外在对程序的界面设计上加入了一些动画效果。在数据结构上采用单链表的结构方式,这样在读取文件中数据的时候能够节省内存空间。  设计主菜单时,用while(1)和switch()来实现功能的选择以及运行一项功能后返回主菜单。 在整个程序中,统一采用了以输入0的方式返回或退出,并在模块有需要键盘输入地方加入了防

3、错误输入的功能,防止输入错误导致程序错误运行,此功能采用判断输入值的ASCII码或字符串的比较。入库模块:首先判断数据文件是否存在,如存在以追加的方式打开,如不存在以写入的方式打开。输入图书的具体数据(在输入过程中,如输入的书号为0则返回主菜单)、存盘,判断存盘成功则打印“成功添加”,如存盘失败打印“添加失败”。最后返回入起始界面(入库模块)。清除模块:进入清除模块则将文件中的全部数据用单链表的结构读入内存,提示输入要删除的书号,在内存中寻找并删除,删除后可以马上存盘或是直到全部删除完成后再选择操作,在防止操作后忘记存盘,在程序中加入了自动判断操作过的数据是否己经进行过存盘的功能。查

4、询模块:本模块分为三个子模块:以书号方式查询、以书名的方式查询、以作者的方式查询。前两个查询功能只要找到符合条件的数据时就停止,以作者方式因为考虑到一个作者不止一本作品,所以对全部的数据进行查找,并打印出所有符合条件的数据。如果未找到则打印“没有找到”,最后返回子功能模块起始,直到输入0返回上一级。借出、还书模块:这两个功能的思路完全一样,不同的是对数据中的现存量的运算。两个功能都是先建立一个图书类型的数据指针,逐条将文件中的数据读入内存,并与输入的数据进行比较,如果一致则先对内存中的数据进行操作,再将文件中的fp指针后退sizeof(Book)个字节,将内存中的经过修改过的数据写入

5、文件。完成一条操作后,提示进行下一条操作,输入0时返回主菜单。(2)程序结构及模块名称描述  主程序界面初始化入库清除查询借出归还书号查询书名查询作者查询全部列表a)voidmain()//主程序b)voids(long)        //时间延迟函数 c)voidsta()        //界面初始效果d)voidwel()        //界面初始效果e)voidbookadd()        //入库f)voidsa_ve(sqtype)      //清除函数中保存文件函数g)voiddel()        //清除h)voidr()        //查询j)vo

6、ids_1()        //查询功能中以书号方式查询k)voids_2()        //以书名方式查询l)voids_3()        //以作者方式查询m)voidreadall()//列出全部图书n)voidborrow()        //借出o)voidback()        //归还p)voidbye()        //退出效果(3)主要模块算法描述/*添加*/voidbookadd()/*添加图书*/{FILE*fp;Bookfinger;chartemp[10];fp=fopen("blist.db","rb");/*读方式打开文件*/if(f

7、p==NULL)fp=fopen("blist.db","wb");/*写方式打开文件*/else/*如果有书就添加*/{fclose(fp);fp=fopen("blist.db","ab");/*追加方式打开文件*/}clrscr();while(1){printf("请输入数据:");/*逐个输入新图书的资料*/printf("请输入书号(输入0结束添加):");gets(temp);if(strcmp(temp,"0"))strcpy(fi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。