《【数据结构】图书馆图书借阅信息管理系统23445.pdf》由会员分享,可在线阅读,更多相关《【数据结构】图书馆图书借阅信息管理系统23445.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、东北大学信息科学与工程学院 数据结构课程设计报告 题目 图书馆图书借阅信息管理系统 课题组长 王逸飞 课题组成员 王嘉琦 李聪 专业名称 计算机科学与技术 班级 计 1307 指导教师 杨雷 2015 年 1 月 课程设计任务书 题目:图书馆图书借阅信息管理系统 问题描述:对图书馆的图书借阅业务管理作一个简单的模拟。设计要求:设计图书借阅信息管理的模拟程序。(1)采用顺序表或结构体链表存储结构。(2)实现图书的创建、分类、插入、删除、修改、借阅等管理功能。(3)实现图书的各种借阅查询和统计功能。(4)考虑采用优化的查询和排序算法。(5)其它完善性功能。指导教师签字:年 月 日 目录 1 课题概
2、述.1 1.1 课题任务.1 1.2 课题原理.1 1.3 相关知识.3 2 需求分析.4 2.1 课题调研.4 2.2 用户需求分析.5 3 方案设计.7 3.1 总体功能设计.7 3.2 数据结构设计.8 3.3 函数原型设计.10 3.4 主算法设计.12 3.5 用户界面设计.14 4 方案实现.15 4.1 开发环境与工具.15 4.2 程序设计关键技术.16 4.3 个人设计实现(按组员分工)4.3.1 王逸飞设计实现.17 4.3.2 王嘉琦设计实现.17 4.3.3 李聪设计实现.17 5 测试与调试.23 5.1 个人测试(按组员分工).23 5.1.1 王逸飞测试.23 5
3、.1.2 王嘉琦测试.23 5.1.2 李聪测试.23 5.2 组装与系统测试.33 5.3 系统运行.36 6 课题总结.39 6.1 课题评价.39 6.2 团队协作.40 6.3 团队协作.41 6.4 个人设计小结(按组员分工).42 6.4.1 王逸飞设计小结.42 6.4.2 王嘉琦设计小结.42 6.4.3 李聪设计小结.42 7 附录 A 课题任务分工.50 A-1 课题程序设计分工.50 A-2 课题报告分工.51 附录 B 课题设计文档(光盘).52 B-1 课程设计报告(电子版).52 B-2 源程序代码(*.H,*.CPP).52 B-3 工程与可执行文件.52 B-4
4、 屏幕演示录像文件(可选).52 附录 C 用户操作手册(可选).53 C.1 运行环境说明.53 C.2 操作说明.54 1 课题概述 1.1 课题任务【问题描述】对图书馆的图书借阅业务管理作一个简单的模拟。【设计要求】设计图书借阅信息管理的模拟程序。(1)采用顺序表或结构体链表存储结构。(2)实现图书的创建、分类、插入、删除、修改、借阅等管理功能。(3)实现图书的各种借阅查询和统计功能。(4)考虑采用优化的查询和排序算法。(5)其它完善性功能。1.2 课题原理 以结构体链表为存储结构,则抽象数据类型即为用结构体链表表示的线性表,所以主要涉及到结构体链表的一些基本操作函数。1.3 相关知识
5、结构体链表表示的线性表的定义,表示,C 语言实现,在对图书信息进行排序的过程涉及到了结构体链表的排序技术。文件的读入与输出操作。2 需求分析 2.1 课题调研 对东北大学图书馆进行考察,并在网络上搜集相关资料。发现图书管理系统主要面向两类人群,一是图书馆管理员,二是普通用户。而两类人群中,管理员应该拥有对该系统的最高权限,全面掌握普通用户的借阅信息,全面掌握所有图书的借阅信息。权限较低的用户只有图书信息一般查询权限,经过注册的用户可有进一步对图书信息进行操作的权限。2.2 用户需求分析 进过以上课题调研,主要有一下需要:(1)一般用户:对图书信息进行查询,显示;(2)注册用户:可以对图书信息进
6、行查询,显示,借书,还书,导出个人图书信息;(3)管理员:针对用户,可以进行用户信息增删,用户信息显示,用户信息的查询;针对图书,可以进行图书信息的查询,图书信息的显示,图书信息的录入,图书信息的删除,图书信息的排序。故需要以下主要函数用户登录管理,登录信息确认,查询图书功能,显示图书信息功能,显示图书信息,借书功能,还书功能,个人图书管理功能,图书信息录入,图书信息删除,图书信息修改以及一些界面跳转 3 方案设计 3.1 总体功能设计(1)实现一般用户对图书信息进行查询,显示功能;(2)实现注册用户对图书信息进行查询,显示,借书,还书,导出个人图书信息功能;(3)实现管理员针对用户,可以进行
7、用户信息增删,用户信息显示,用户信息的查询;实现针对图书,可以进行图书信息的查询,图书信息的显示,图书信息的录入,图书信息的删除,图书信息的排序。3.2 数据结构设计 用户和管理员信息的节点:struct user char usernameMax_username_size;char passwordMax_password_size;USER typedef struct user1*UserPtr1;图书信息节点:typedef struct book char bookname65;char auther65;char chubanshe65;char profession65;int
8、 booknumber;int price;int onof;struct book*next;BOOK;我们将结构的创建,初始化,插入删除等基本操作都封装在主界面函数,插入函数,注册函数等之中,后面还有详细的说明,在此不赘述。3.3 函数原型设计 int show_function1_window(UserPtr1);显示普通用户界面 int show_function2_window(UserPtr1);显示管理员用户界面 int show_guanyue_window();普通用户观阅函数 int show_zhuce_window(UserPtr1);显示注册界面 int show_q
9、ueren_window(UserPtr1);显示确认界面 int jiemian();通用界面 int Jieshu(BookPtr);借书函数 int Huanshu(BookPtr);还书函数 int Insert(BookPtr*);增加图书函数 int Show(BookPtr);显示图书信息函数 int Serch(BookPtr a);查找函数 int numserch(BookPtr);编号查询 int adresserch(BookPtr);出版社查询 int autherserch(BookPtr);作者查询 int nameserch(BookPtr);书名查询 int
10、onofserch(BookPtr);图书状态查询 int priceserch(BookPtr);价格查询 int Delete(BookPtr);删除图书信息 int Save(BookPtr);保存图书信息 int main1();主体函数 3.4 主算法设计 开 始显 示 主 功 能 界 面输 入 选 项选 择 1是选 择 2选 择 3选 择 4选 项 0否否否否是是是是否结 束登 录注 册管 理 员 入 口普 通 人 入 口12340 3.5 用户界面设计 由于时间原因,低级版本在没有实现可视化界面,采用 DOS 来显示得到的结果。4 方案实现 4.1 开发环境与工具 编程环境为 v
11、isual c+6.0。工具为 C 语言。4.2 程序设计关键技术 结构体链表的创建,插入,删除,输出,排序;文件的读入读出,对文件进行重新编辑。4.3 个人设计实现(按组员分小节)4.3.1 王逸飞、王嘉琦、李聪设计实现 1.课题任务(1)主函数函数界面(2)管理员界面函数(3)管理员主要功能实现(4)登录确认函数(5)图书信息录入(6)图书信息删除(7)图书信息显示(8)图书信息修改(9)图书信息排序(10)图书信息保存(11)普通用户观阅函数 2.程序源代码#include#include#include#include#include#define Max_username_size
12、64+1#define Max_password_size 64+1 struct user1 char username65;char password65;USER1,dengl;/登陆用账户信息 typedef struct user1*UserPtr1;typedef struct user2 char usernameMax_username_size;int sex;long int stunumber;USER2;/管理用账户信息 typedef USER2*UserPtr2;typedef struct book char bookname65;char auther65;ch
13、ar chubanshe65;char profession65;int booknumber;int price;int onof;struct book*next;BOOK;typedef BOOK *BookPtr;int show_function1_window(UserPtr1);int show_function2_window(UserPtr1);int show_zhuce_window(UserPtr1);int show_queren_window(UserPtr1);int jiemian();int Jieshu(BookPtr);int Huanshu(BookPt
14、r);int Huankuan();int Insert(BookPtr*);int Show(BookPtr);int numserch(BookPtr);int adresserch(BookPtr);int autherserch(BookPtr);int nameserch(BookPtr);int adresserch(BookPtr);int onofserch(BookPtr);int priceserch(BookPtr);int Delete(BookPtr);int Save(BookPtr);void show_denglu_window(UserPtr1 b);int
15、Serch(BookPtr a);BookPtr bookhead=NULL;int main1()int cmd0;system(cls);printf(*n);printf(nnnn);printf(欢 迎 来 到 东 北 大 学 图 书 馆 n);printf(nnnn);printf(1:请输入您的学名号 n);printf(2:学号注册 n);printf(3:管理员登陆nnn);printf(选择 0,然后按任意键关闭本程序!nnn);printf(请选择执行命令:);BookPtr pb1,pb2;FILE*pbook1;int flag1=0;bookhead=(BookPtr
16、)malloc(sizeof(struct book);/将文件中的图书信息导出,并存放在链表中 bookhead-next=NULL;if(pbook1=fopen(f:book.din,rb)!=NULL)rewind(pbook1);if(!feof(pbook1)fread(bookhead,sizeof(struct book),1,pbook1);pb1=(BookPtr)malloc(sizeof(struct book);bookhead-next=pb1;fread(pb1,sizeof(struct book),1,pbook1);while(!feof(pbook1)pb
17、2=(BookPtr)malloc(sizeof(struct book);fread(pb2,sizeof(struct book),1,pbook1);if(feof(pbook1)break;pb1-next=pb2;pb1=pb2;pb1-next=NULL;fclose(pbook1);int cmd,trytime,io=0;scanf(%d,&cmd);cmd0=cmd;while(cmd3|cmd2)printf(Sorry,wrong number more than three timesn);printf(系统自动退出!n);printf(继续登录请重启程序。);syst
18、em(pause);return 0;printf(无效字符,无法识别!n);if(io1)printf(最后一次机会!);printf(请重新选择:);scanf(%d,&cmd);FILE*fp1;if(cmd=1)/用户入口 int trytime,m=1;for(trytime=1;m!=0&trytime4;trytime+)show_denglu_window(&dengl);m=show_queren_window(&dengl);if(trytime=2&m!=0)printf(最后一次机会!);system(pause);if(trytime=4&m!=0)printf(系统
19、自动退出!n);printf(继续登录请重启程序。);system(pause);if(m=0)show_function1_window(&dengl);else if(cmd=2)/注册入口 show_denglu_window(&dengl);if(fp1=fopen(f:zhucezhe.din,ab)=NULL)printf(n cannot open file);fwrite(&dengl,sizeof(dengl),1,fp1);fclose(fp1);printf(n 注册成功);else if(cmd=3)/管理员登陆入口 show_denglu_window(&dengl)
20、;for(trytime=0;trytimepassword,0,65);system(cls);printf(*n);printf(nnnn);printf(欢迎来到东北大学图书馆 n);printf(nnnn);printf(1:请输入您的学号:n);scanf(%s,b-username);printf(2:请输入您的三级密码:n);int i=0;char ch=0;char a=y;while(ch=getch()!=r)putchar(*);b-passwordi=ch;i+;printf(n 是否显示密码:是(Y)/否(N));scanf(%d,&a);a=getchar();i
21、f(a=Y|a=y)printf(n 您输入的密码是%s,b-password);system(pause);int show_queren_window(UserPtr1 b)/确认是否为已注册用户 FILE*fp2;struct user1 u;UserPtr1 v=&u;int m=1,n=1;if(fp2=fopen(f:zhucezhe.din,rb)=NULL)printf(n cannot open file);while(m*m+n*n)!=0)fread(v,sizeof(USER1),1,fp2);m=strcmp(b-username,v-username);n=strc
22、mp(b-password,v-password);if(m=0&n=0)printf(n 已注册,可借阅图书n);system(pause);return 0;if(feof(fp2)break;fclose(fp2);if(m!=0)printf(n 非法侵入n);system(pause);return 1;int Insert(BookPtr *bookhead)/录入图书信息 FILE*pbook2;system(cls);jiemian();if(pbook2=fopen(f:book.din,ab)=NULL)printf(n 不能打开文件);BookPtr p1,p2,r;p1
23、=p2=*bookhead;while(p1!=NULL)p2=p1;p1=p1-next;r=(BookPtr)malloc(sizeof(struct book);r-next=NULL;if(r=NULL)printf(分配空间失败!!);return 0;if(p2=NULL)*bookhead=r;else p2-next=r;printf(请输入图书名称:n);scanf(%s,&r-bookname);printf(请输入图书作者:n);scanf(%s,&r-auther);printf(请输入出版社:n);scanf(%s,&r-chubanshe);printf(请输入图书
24、编号:n);scanf(%d,&r-booknumber);printf(请输入图书价格:n);scanf(%d,&r-price);printf(请输入出状态:n);scanf(%d,&r-onof);fwrite(r,sizeof(struct book),1,pbook2);fclose(pbook2);char m;printf(n 是否要继续录入:);scanf(%c,&m);scanf(%c,&m);if(m=y|m=Y)Insert(&r);/int change(BookPtr a)/修改图书信息 system(cls);jiemian();FILE*pbook3;if(pbo
25、ok3=fopen(f:book.din,wb)=NULL)printf(n 不能打开文件);BookPtr p1,p2;p1=p2=a;int changenum;BOOK linshi;printf(n1,书名n2,作者n3,出版社n4,编号n5,单价n6,状态n);printf(请选择要进行修改的图书信息所对应的序号);scanf(%d,&changenum);switch(changenum)case 1:printf(请输入要进行修改的书的名字:);scanf(%s,linshi.bookname);while(p1!=NULL)if(strcmp(linshi.bookname,p
26、1-bookname)=0)printf(请输入要修改之后的书名:n);scanf(%s,&p1-bookname);break;p2=p1;p1=p1-next;break;case 2:printf(请输入要进行修改的作者的名字:);scanf(%s,linshi.auther);while(p1!=NULL)if(strcmp(linshi.auther,p1-auther)=0)printf(请输入要修改之后的作者:n);scanf(%s,&p1-auther);break;p2=p1;p1=p1-next;break;case 3:printf(请输入要进行修改的书的出版社:);sc
27、anf(%s,linshi.chubanshe);while(p1!=NULL)if(strcmp(linshi.chubanshe,p1-chubanshe)=0)printf(请输入要修改之后的出版社:n);scanf(%s,&p1-chubanshe);break;p2=p1;p1=p1-next;break;case 4:printf(请输入要进行修改的书的价格:);scanf(%d,linshi.price);while(p1!=NULL)if(linshi.price=p1-price)printf(请输入要修改之后的出版社:n);scanf(%d,&p1-price);break
28、;p2=p1;p1=p1-next;break;case 5:printf(请输入要进行修改的书的编号:);scanf(%d,&linshi.booknumber);while(p1!=NULL)if(linshi.booknumber=p1-booknumber)printf(请输入要修改之后的出版社:n);scanf(%d,&p1-booknumber);break;p2=p1;p1=p1-next;break;case 6:printf(请输入要进行修改的书的状态:);scanf(%d,&linshi.onof);while(p1!=NULL)if(linshi.onof=p1-onof
29、)printf(请输入要修改之后的状态:n);scanf(%d,&p1-onof);break;p2=p1;p1=p1-next;break;default:printf(enter data error!n);p1=p2=a;while(p1!=NULL)fwrite(p1,sizeof(struct book),1,pbook3);p2=p1;p1=p1-next;fclose(pbook3);return 0;int Delete(BookPtr a)/删除图书信息 system(cls);jiemian();BOOK b;BookPtr p1,p2;p1=p2=a;int flag=0
30、;printf(请选择要删除的图书的书名:);scanf(%s,b.bookname);while(p1!=NULL)if(strcmp(b.bookname,p1-bookname)=0)if(p1=a)a=p1-next;free(p1);else p2-next=p1-next;free(p1);break;else p2=p1;p1=p1-next;Save(a);int Save(BookPtr a)/将处理好的链表存入文件 FILE*pbook3;BookPtr p1,p2;p1=p2=a;if(pbook3=fopen(f:book.din,wb)=NULL)printf(n 不
31、能打开文件);while(p1!=NULL)fwrite(p1,sizeof(struct book),1,pbook3);p2=p1;p1=p1-next;fclose(pbook3);return 0;int show_function1_window(UserPtr1 b)/用户主界面 jiemian();BookPtr p1,p2;p1=p2=bookhead;int m;do system(cls);jiemian();printf(尊敬的%s 用户,您好!,b-username);printf(nnn1 查询服务);printf(n2 借书服务);printf(n3 还书服务);p
32、rintf(n4 还清欠款);printf(n5 显示所有图书信息);printf(nn 选择 0 退出登录!);printf(nn 请选择您需要的服务:n);scanf(%d,&m);switch(m)case 1:Serch(bookhead);system(pause);break;case 2:Jieshu(bookhead);break;case 3:Huanshu(bookhead);break;case 4:Huankuan();break;case 5:Show(bookhead);break;case 0:break;default:printf(wrong number);
33、while(m!=0);int show_function2_window(UserPtr1 b)/管理员主界面 jiemian();int m;do system(cls);jiemian();printf(尊敬的%s 管理员,您好!,b-username);printf(nnn1,新进图书录入);printf(n2,图书信息查询);printf(n3,已有图书修改);printf(n4,删除图书信息);printf(n5,查询图书信息);printf(n6,显示已有图书信息);printf(nn 选择 0 退出登录);printf(nn 请选择您需要的服务n);scanf(%d,&m);s
34、witch(m)case 1:Insert(&bookhead);break;case 2:Serch(bookhead);break;case 3:change(bookhead);break;case 4:Delete(bookhead);break;case 5:Show(bookhead);break;case 6:Show(bookhead);break;case 0:break;default:printf(wrong numbern);while(m!=0);return 0;int Jieshu(BookPtr a)/借书 system(cls);jiemian();BookP
35、tr p1,p2;int flag=1;char ch;p1=p2=a;BOOK linshi;printf(n 请输入您要借的书的书名:);scanf(%s,linshi.bookname);while(p1!=NULL)if(strcmp(linshi.bookname,p1-bookname)=0)if(p1-onof=0)printf(n 抱歉,该书已被借走,是否再借其他书籍:);ch=getchar();ch=getchar();if(y=ch)Jieshu(a);else break;else printf(n 在架可借,是否借书:);ch=getchar();ch=getchar
36、();if(y=ch)p1-onof=0;flag=0;printf(n 借书成功,是否继续借书);ch=getchar();ch=getchar();if(y=ch)Jieshu(a);else break;else p2=p1;p1=p1-next;Save(a);int Huanshu(BookPtr a)/还书 system(cls);jiemian();BookPtr p1,p2;int flag=1;char ch;p1=p2=a;BOOK linshi;printf(n 请输入您要还的书的书名:);scanf(%s,linshi.bookname);while(p1!=NULL)
37、if(strcmp(linshi.bookname,p1-bookname)=0)if(p1-onof=1)printf(n 抱歉,该书已还,是否还其他书籍:);ch=getchar();ch=getchar();if(y=ch)Huanshu(a);else break;else printf(n 在架借出,是否还书:);ch=getchar();ch=getchar();if(y=ch)p1-onof=1;flag=0;printf(n 还书成功,是否归还其他书籍);ch=getchar();ch=getchar();if(y=ch)Huanshu(a);else break;else p
38、2=p1;p1=p1-next;Save(a);int jiemian()/主要背景函数 system(cls);printf(*n);printf(nnnn);printf(欢迎来到忍者大师高级图书馆 n);printf(nnnn);int Show(BookPtr a)/显示函数 system(cls);jiemian();BookPtr p1,p2;p1=p2=a;int i=0;printf(所有图书信息如下nn);while(p1!=NULL)i+;printf(第%d 本书的信息:n,i);printf(图书名称:%sn,p1-bookname);printf(图书作者:%sn,p
39、1-auther);printf(出版社:%sn,p1-chubanshe);printf(图书编号:%ldn,p1-booknumber);printf(图书价格:%dn,p1-price);printf(图书状态:%dn,p1-onof);printf(nn),p2=p1;p1=p1-next;system(pause);return 0;int Serch(BookPtr a)/查找函数 system(cls);jiemian();int b;printf(1,按书名查询n);printf(2,按作者查询n);printf(3,按出版社查询n);printf(4,按编号查询n);prin
40、tf(5,按价格查询n);printf(6,按状态查询n);printf(n 请输入您要查询的方式:n);scanf(%d,&b);switch(b)case 1:nameserch(a);break;case 2:autherserch(a);break;case 3:adresserch(a);break;case 4:numserch(a);break;case 5:priceserch(a);break;case 6:onofserch(a);break;system(pause);int nameserch(BookPtr a)system(cls);jiemian();BookPt
41、r p1,p2;p1=p2=a;int flag=1;char bookname65;printf(请输入你要查询的书的名字:);scanf(%s,bookname);while(p1!=NULL)if(strcmp(p1-bookname,bookname)=0)printf(图书名称:%sn,p1-bookname);printf(图书作者:%sn,p1-auther);printf(出版社:%sn,p1-chubanshe);printf(图书编号:%ldn,p1-booknumber);printf(图书价格:%dn,p1-price);printf(图书状态:%dn,p1-onof)
42、;flag=0;p2=p1;p1=p1-next;if(flag=1)printf(n 对不起,尚未收录您正查询的图书);int autherserch(BookPtr a)system(cls);jiemian();BookPtr p1,p2;p1=p2=a;int flag=1;char auther65;printf(请输入你要查询的作者的名字:);scanf(%s,auther);while(p1!=NULL)if(strcmp(p1-auther,auther)=0)printf(图书名称:%sn,p1-bookname);printf(图书作者:%sn,p1-auther);pri
43、ntf(出版社:%sn,p1-chubanshe);printf(图书编号:%ldn,p1-booknumber);printf(图书价格:%dn,p1-price);printf(图书状态:%dn,p1-onof);flag=0;p2=p1;p1=p1-next;if(flag=1)printf(n 对不起,尚未收录您正查询的图书);int adresserch(BookPtr a)system(cls);jiemian();BookPtr p1,p2;p1=p2=a;int flag=1;char adress65;printf(请输入你要查询的出版社的名字:);scanf(%s,adre
44、ss);while(p1!=NULL)if(strcmp(p1-chubanshe,adress)=0)printf(图书名称:%sn,p1-bookname);printf(图书作者:%sn,p1-auther);printf(出版社:%sn,p1-chubanshe);printf(图书编号:%ldn,p1-booknumber);printf(图书价格:%dn,p1-price);printf(图书状态:%dn,p1-onof);flag=0;p2=p1;p1=p1-next;if(flag=1)printf(n 对不起,尚未收录您正查询的图书);int numserch(BookPtr
45、 a)system(cls);jiemian();BookPtr p1,p2;p1=p2=a;int flag=1;int num;printf(请输入你要查询的编号:);scanf(%d,&num);while(p1!=NULL)if(p1-booknumber=num)printf(图书名称:%sn,p1-bookname);printf(图书作者:%sn,p1-auther);printf(出版社:%sn,p1-chubanshe);printf(图书编号:%ldn,p1-booknumber);printf(图书价格:%dn,p1-price);printf(图书状态:%dn,p1-o
46、nof);flag=0;p2=p1;p1=p1-next;if(flag=1)printf(n 对不起,尚未收录您正查询的图书);int onofserch(BookPtr a)system(cls);jiemian();BookPtr p1,p2;p1=p2=a;int flag=1;int of;printf(请输入你要查询的状态:);scanf(%d,&of);while(p1!=NULL)if(p1-onof=of)printf(图书名称:%sn,p1-bookname);printf(图书作者:%sn,p1-auther);printf(出版社:%sn,p1-chubanshe);p
47、rintf(图书编号:%ldn,p1-booknumber);printf(图书价格:%dn,p1-price);printf(图书状态:%dn,p1-onof);flag=0;p2=p1;p1=p1-next;if(flag=1)printf(n 对不起,尚未收录您正查询的图书);int priceserch(BookPtr a)system(cls);jiemian();BookPtr p1,p2;p1=p2=a;int flag=1;int pri;printf(请输入你要查询的价格:);scanf(%d,&pri);while(p1!=NULL)if(p1-price=pri)prin
48、tf(图书名称:%sn,p1-bookname);printf(图书作者:%sn,p1-auther);printf(出版社:%sn,p1-chubanshe);printf(图书编号:%ldn,p1-booknumber);printf(图书价格:%dn,p1-price);printf(图书状态:%dn,p1-onof);flag=0;p2=p1;p1=p1-next;if(flag=1)printf(n 对不起,尚未收录您正查询的图书);int main()int cmd1=0,cmd2;cmd2=main1();while(cmd2!=cmd1)cmd2=main1();return
49、0;5.3 系统测试 操作名称 操作流程 操作结果和输出 主界面 选择进入功能的选项 1 进入登录选项 2 进入注册选项 3 管理员登录 4 普通身份入口 注册 依次输入账号和密码,可选择是否显示密码 选择显示密码,则显示密码;否则不显示密码。提示注册成功信息。登录 依次按提示输入账号和密码,输入非注册密码会有报错提示,最多可输入三次。(可选择是否显示密码)输入正确的账号密码,显示普通用户界面;账号密码输入错误还有提示。录入 依次输入图书信息 将输入的图书信息保存文件中 删除 输入要删除的图书信息的名字 将图书删除后在保存到文件之中 修改 选择修改选项 将图书信息修改后保存到文件中 显示 显示
50、所有图书信息 借书 输入书名 书库内有书,显示借书成功;没有书显示借书失败 还书 书名 提示还书成功 查询 输入查询选项 进入不同查询选项界面 5.4 系统运行 系统运行结果如下:6 课题总结 6.1 课题分析 完成了课题要求功能,容易封装便于使用。6.2 团队协作 本次课程设计,让我们感受到了在程序编写软件设计中团队你的力量。一个人的力量对于编写一个大型的程序来说简直是渺茫的,但是编写程序这种工作又是不能忽略每一个个体的,因为只要一个人有一个小小的疏忽,就可能导致整个程序无法运行,甚至崩溃。我们充分利用现代社会知识信息交流充分发展的机会,我们遇到困难时就去学校图书馆查找相关书籍或在网上查找相