《图书登记管理程序-高级语言课程设计》由会员分享,可在线阅读,更多相关《图书登记管理程序-高级语言课程设计(58页珍藏版)》请在金锄头文库上搜索。
1、 高级语言课程设计图书登记管理程序题 目:班 级:软件x班学生学号: 学生姓名:*指导老师: *提交时间:*成 绩:评分项目得分功能完整性(30分)界面美观性(10分)设计合理性(10分)创新性(10分)答辩表现(40分)评语:xx农业大学 信息学院图书登记管理程序分析1系统分析1.1问题描述图书登记管理程序能够帮助图书管理员切实高效的登记管理图书信息,管理员将全部图书信息存储在系统中,系统能够提示明显信息,从而管理员能对新增,丢失,修改,借阅的图书信息和借书用户信息做必要的登记,并且该系统设有密码,能够一定程度上阻止无关人员操作系统。1.2系统功能分析系统主要分成两大功能,图书管理和用户管理
2、。在图书管理方面,分为增加新图书,删除图书,修改图书信息,查询图书信息,统计图书信息,借阅图书,归还图书等七大功能。在查询图书信息功能上,又细分为按ISBN号,作者,名称,出版社,出版日期,图书类别查询。在统计图书信息功能上,又细分为按ISBN号范围,出版日期范围,价格范围查询。在用户管理方面,分为查询用户信息,修改用户信息,增加用户,删除用户,修改图书管理密码等五大功能。1.3开发平台及工具介绍 本系统主要利用C语言的基本知识,使用Microsoft Visual C+ 软件来编写程序代码,该软件适合初学者使用,能够帮助程序员快速查找出错误,给出明确提示,从而更加高效的开发出图书登记管理系统
3、。2系统设计2.1系统总体结构设计系统程序中图书信息,用户信息,密码信息都是以结构体的形式表示,并且每一个结构体都分别嵌套在三个链表中,从而能够实现信息的增减功能。2.2系统各个功能模块及功能模块之间关系设计 首先系统功能模块分别有创造图书信息、用户信息、密码信息模块。读取图书信息、用户信息、密码信息模块。保存图书信息、用户信息、密码信息模块。输入图书信息、用户信息、密码信息模块。增加图书信息、用户信息模块。删除图书信息、用户信息模块。修改图书信息、用户信息、图书管理密码模块。查询图书信息、用户信息模块。统计图书信息模块。借阅图书模块,归还图书模块。输出图书信息、用户信息模块。 各个模块之间相
4、互存在相互调用的关系,大模块调用小模块,层层调用。2.3数据存储的设计(文件等) 图书信息,用户信息,密码信息分别存储在三个文件上。实现信息从文件写入链表,信息从链表存储在文件中。2.4界面设计 程序的各项功能在程序运行时,以菜单的方式执行。各个菜单中都有明确的提示,使管理员轻松的使用本系统。在主菜单中选择所需功能,再在各二级菜单中选择,以此类推,直至选到所需要的功能。当不需要当前菜单时,还可以返回上一级菜单,重新进行选择,并且系统设置清除界面功能,避免已经没有的信息界面仍然出现。3系统实现 模块的流程图如下: Y退出系统C输入密码进入图书登记程序系统A判断是否存在存储密码,图书,用户信息的文
5、件B 创造存储信息的文件 NND 选择操作内容管理图书信息管理用户信息E 输入管理图书内容F 输入管理用户内容判断输入内容1判断输入内容2判断输入内容1增加图书修改图书统计图书归还图书借阅图书查询图书删除图书按图书类别按ISBN号查询图书按作者按名称按出版社按出版日期统计图书按出版日期按号判断输入内容查询用户信息修改用户信息增加用户化删除用户修改密码按价格部分关键程序代码如下:headss=readFiless(headss);if(!headss)createFiless();headss=readFiless(headss);head=readFile(head);if(!head)cre
6、ateFile();head=readFile(head);heads=readFiles(heads);if(!heads)createFiles();heads=readFiles(heads);:void createFile() /*创造图书信息函数*/book data;FILE *fp;if(fp=fopen(book.dat,wb)=NULL)printf(存储图书信息的文件未找到!n);exit(0);printf(请输入图书信息,当输入足够图书时,以ISBN号为0结束!n);readNode(&data);while(strcmp(data.ISBN,0)!=0)fwrite
7、(&data,sizebook,1,fp);readNode(&data);fclose(fp);void createFiles() /*创造用户信息函数*/people datas;FILE *fps;if(fps=fopen(people.dat,wb)=NULL)printf(存储用户信息的文件未找到!n);exit(0);printf(请输入用户信息,当注册足够用户时,以用户号码为0结束!n);readNodes(&datas);while(datas.num)fwrite(&datas,sizepeople,1,fps);readNodes(&datas);fclose(fps);
8、void createFiless() /*创造密码函数*/access datass;FILE *fpss;if(fpss=fopen(access.dat,wb)=NULL)printf(存储密码信息的文件未找到!n);exit(0);readNodess(&datass);fwrite(&datass,sizeaccess,1,fpss);fclose(fpss);:int enter(struct nodess *headss) /*进入系统函数*/struct nodess *q=headss;char codes80;createprints();scanf(%s,&codes);
9、if(strcmp(q-datass.code,codes)=0)return 1;elseprintf(输入密码错误,系统已退出!n);return 0;:switch(choice)case 1: heads=readFiles(heads); head=bookmenu(head,heads); break;case 2: heads=readFiles(heads); heads=peoplemenu(heads,head,headss); break;case 0: break;default :printf(输入错误,请再输入一遍!n);:switch(choice)case 1:
10、 printf(请输入你要增加图书的信息!n); readNode(&data); head=InsertOrder(head,data); break;case 2: printf(请输入你要删除图书的ISBN号!n); scanf(%s,&ISBNS); head=Delete(head,ISBNS); break;case 3: printf(请输入你要修改图书的ISBN号!n); scanf(%s,&ISBNS); head=correct(head,ISBNS); break;case 4: searchManage(head); break;case 5: statist(head
11、); break;case 6: printf(请输入你要借阅图书的ISBN号!n); scanf(%s,&ISBNS);heads=readFiles(heads); head=borrowbook(head,ISBNS,heads); break; case 7: printf(请输入你要归还图书的ISBN号!n); scanf(%s,&ISBNS);heads=readFiles(heads); head=returnbook(head,ISBNS,heads); break;case 0: system(cls); break; default : printf(输入错误,请再输入一遍
12、!n); break;:switch(choice)case 1: printf(请输入你要查询用户的号码!n); scanf(%lf,&nums);searchManages(heads,nums,head);break;case 2: printf(请输入你要修改用户的号码!n); scanf(%lf,&nums);heads=corrects(heads,nums);break;case 3: printf(请输入你要增加用户的号码!n); readNodes(&datas); heads=InsertOrders(heads,datas);printf(增加用户成功!n); break; case 4: printf(请输入你要删除用户的号码!n);