欢迎来到天天文库
浏览记录
ID:52594834
大小:79.00 KB
页数:18页
时间:2020-03-29
《C语言图书馆管理系统课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、目录一、需求分析2二、概要设计2三、详细设计4四、调试分析6五、用户手册6六、测试数据6七、附录8一、需求分析1.程序以菜单的方式工作,具备图书的添加、删除、修改、查询、统计操作,数据存储采用文件形式。2.定义结构体数组structlibrarybookinf[30],用以存储ISBN、书名、作者名、图书类别、出版单位、出版时间、价钱、数量信息。利用文件开辟并将信息保存在“bookinf.txt”中。3.用户从键盘输入需要的操作,其中“ISBN、书名、作者名、图书类别、出版单位”需使用字符输入,“出版时间、价格、数量”采用数字输入。4.测试数据:(1)查找:若找到了所要查找的书本,则打
2、印出书本信息;若没有找到,则打印“没有找到您要找的书本”(2)删除:若找到了所要查找的书本,按下y确认删除后,打印出“该书已删除”;若没有找到要删除的书本,则打印“没有找到该书,退出操作”(3)修改:若找到了要修改的书本,打印“请输入你要修改的信息”并开始修改;若没有找到要修改的书本,则打印“没有找到要修改的书本”5.程序执行命令为:(1)创建“bookinf.txt”文件(2)将图书信息用添加操作加进“bookinf.txt”文件中(3)用户选择所需操作(4)搜索结果二、概要设计1.定义结构体数组structlibrarybookinf[50]。bookinf[i].ISBN//IS
3、BNbookinf[i].name//书名bookinf[i].author//作者名bookinf[i].vari//图书类别bookinf[i].pubplace//出版单位bookinf[i].pubtime//出版时间bookinf[i].price//价格bookinf[i].num//数量/*用以下程序开辟存储文件"bookinf.txt"*/FILE*fp;if((fp=fopen("bookinf.txt","r+"))==NULL){printf("无法打开文件!");return;}2.程序构造add()通过此函数将输入的书本信息添加存储进"bookinf.tx
4、t"文件中,用于下一次的查询或删、改、统操作的调用。del()通过此函数完成对"bookinf.txt"文件中书本信息的删除,“printf("确定要删除该书吗?(y/n)");”键盘输入y/n确定书本信息的删除,删除后将不再有该书记录modify()通过此函数完成对书本信息的修改,修改内容包括:ISBN、书名、作者名、图书类别、出版单位、出版时间、价格、数量。search()此函数为查询书本信息操作,可查询"bookinf.txt"文件中存储的书本信息。count()此操作为统计操作,用于统计"bookinf.txt"文件中存储书本的总数量及金额数。main()通过对上述函数的调
5、用,将所得信息打印出来3.主程序流程主函数增加模块删除模块修改模块查询模块统计模块三、详细设计1.图书馆管理的数据类型structlibrary{charISBN[20];//ISBNcharname[30];//书名charauthor[30];//作者名charvari[10];//图书类别charpubplace[50];//出版单位intpubtime;//出版时间intprice;//价格intnum;//数量};//----------基本操作的算法描述--------------------1.文件部分FILE*fp;if((fp=fopen("bookinf.txt",
6、"r+"))==NULL)//检查打开的操作是否出错{printf("无法打开文件!");//若出错则打印该行文字return;}2.查询操作部分printf("请输入您要查找的书名");scanf("%s",bookname);//输入想查询的书名while(!feof(fp))//循环直到文件尾部,函数值为真{fread(&bookinf,sizeof(structlibrary),1,fp);//从fp中读入1个长度为sizeof(structlibrary)的数据,存到bookinf[]中if(strcmp(bookinf.name,bookname)==0)//比
7、较输入的书名和文件中保存的书名,若相同{printf("ISBN书名作者名图书类别出版单位出版时间价格数量");printf("%s%s%s%s%s%d%d%d",bookinf.ISBN,bookinf.name,bookinf.author,bookinf.vari,bookinf.pubplace,bookinf.pubtime,bookinf.price,bookinf.num);//若相同,则打印出书本的信息i=1;break
此文档下载收益归作者所有