《算法分析与设计综合实验》实验报告[图书信息管理系统].doc

上传人:土8路 文档编号:10025197 上传时间:2021-04-11 格式:DOC 页数:34 大小:951KB
返回 下载 相关 举报
《算法分析与设计综合实验》实验报告[图书信息管理系统].doc_第1页
第1页 / 共34页
《算法分析与设计综合实验》实验报告[图书信息管理系统].doc_第2页
第2页 / 共34页
《算法分析与设计综合实验》实验报告[图书信息管理系统].doc_第3页
第3页 / 共34页
《算法分析与设计综合实验》实验报告[图书信息管理系统].doc_第4页
第4页 / 共34页
《算法分析与设计综合实验》实验报告[图书信息管理系统].doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《《算法分析与设计综合实验》实验报告[图书信息管理系统].doc》由会员分享,可在线阅读,更多相关《《算法分析与设计综合实验》实验报告[图书信息管理系统].doc(34页珍藏版)》请在三一文库上搜索。

1、算法分析与设计综合实验实验报告姓 名:蔡志雄学 号:2015010906015指导教师:胡科日 期:2016年 月 日电 子 科 技 大 学实 验 报 告1一、实验名称:界面设计与创建文件二、实验内容1. 设计登录系统、主菜单、退出系统界面登录系统:输入以“*”显示的密码,三次键入机会。密码正确,进入系统;密码错误,程序结束。主菜单:按划分的模块,显示系统菜单。退出系统:在系统主菜单中输入“0”,以退出系统。2. 数据录入与数据存盘给定记录数,屏幕输入若干记录,并将数据存入磁盘文件中。三、算法设计与核心代码1.char inputa,data20,account34=Admins,word20

2、; int z,k=0,a=1;printf(输入管理员账户名:);/登录验证 scanf(%s,&data);strcat(account,data);strcat(account,.txt); /提取数据 FILE *fpx=NULL;if(fpx=fopen(account,r)fscanf(fpx,%sn,&admin.name);fscanf(fpx,%sn,&admin.ID);fscanf(fpx,%sn,&admin.password);fclose(fpx);else printf(没有对应资料!n);system (pause);return 0;if(strcmp(dat

3、a,admin.name)=-1)/验证密码 printf(账号不存在n);return 0;else printf(账号存在(你将有3次输入密码机会)n);for(z=2;z=-1;z-)if(z=-1)return 0;printf(输入密码:); while(1) fflush(stdin); inputa=getch(); if(inputa!=r&inputa!=b)/密码隐藏 printf(*); wordk=inputa; k+;else if(inputa=b)/退格删除 printf(b);printf( );printf(b);k-;else break;/回车结束 if(

4、strcmp(word,admin.password)!=0) printf(密码错误(%d次机会)n,z); k=0; else printf(n密码正确!n);system (pause);break;2.printf(*n);printf(图书数量:%d 读者数量:%dn,bnum,rnum);printf(n);printf(n);printf(n);printf( 图书信息管理系统n);printf(n);printf(n);printf(n);printf(请做出您的选择:(输入对应序号)n);printf(n);printf(n);printf( 1.图书管理 2.读者管理 管理

5、员使用n);printf(n);printf( 3.图书借还 任何人使用n);printf(n);printf( 0.退出n);printf(n);printf(n);printf(n);printf(*n);printf(输入:);scanf( %c,&input);switch(input)case 0:a=0;break;case 1:BookManage();break;case 2:ReaderManage();break;case 3:BookOperate();break; system(cls);3.四、实验主要结果(附程序运行界面截图)实 验 报 告2一、实验名称:显示记录与

6、编辑记录二、实验内容1. 屏幕显示若干记录列表输出磁盘文件记录,并显示记录序号与记录总数。2. 按字段编辑记录输入记录序号,显示对应记录;按字段编辑记录。三、算法设计与核心代码int ShowRecord(int x)int b=1,c=1;char aim112=图书,aim212=读者,aim12,buffer80;/判断目的 if(x=1)/图书 strcpy(aim,aim1);strcat(aim,);strcat(aim,图书记录);strcat(aim,.txt);FILE *fp;if(fp=fopen(aim,r)=NULL) printf(打开失败!n); return -

7、1; printf(序号 书号 书名 作者 日期 出版 类别 定价 是否借出n); for(;b=(bnum=getlinenum(1);b+) fgets(buffer,1024,fp); printf( %d %s,c,buffer); c+; fclose(fp); system (pause);else if(x=2)/读者 strcpy(aim,aim2);strcat(aim,);strcat(aim,读者记录);strcat(aim,.txt);FILE *fp;if(fp=fopen(aim,r)=NULL) printf(打开失败!n); return -1; for(;b(

8、rnum=getlinenum(2);b+) fgets(buffer,1024,fp); printf(%sn,buffer); fclose(fp);else printf(错误n);return -1; return 0; int FixRecord(int x)int b=1,c;char a,aim112=图书,aim212=读者,aim12,buffer80;FILE *fp,*ftp;/判断目的 if(x=1)/图书 strcpy(aim,aim1);strcat(aim,);strcat(aim,图书记录);strcat(aim,.txt);if(ftp=fopen(图书tem

9、p.txt,w)=NULL) printf(创建文件失败!n); return -1; if(fp=fopen(aim,r+)=NULL) printf(打开失败!n); return -1; ShowRecord(1);printf(输入要编辑的条目序号:);scanf( %d,&c);for(;b!=c;b+)fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.bo

10、rrowed);fprintf(ftp,%s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed);printf(开始编辑:n); printf(输入书号:);scanf( %s,&books0.ID);printf(书名:);scanf( %s,&books0.name);printf(作者:);scanf( %s,&books0.author);printf(日期:);scanf( %s,&

11、books0.date);printf(出版:);scanf( %s,&books0.publish);printf(类别:);scanf( %s,&books0.sort);printf(定价:);scanf( %d,&books0.price);printf(是否借出:);scanf( %d,&books0.borrowed);printf(书号:%s 书名:%s 作者:%s 日期:%s 出版:%s 类别:%s 定价:%d 是否借出:%dn确定?(y/n)n输入:,books0.ID,books0.name,books0.author,books0.date,books0.publish,

12、books0.sort,books0.price,books0.borrowed);fflush(stdin);scanf( %c,&a);if(a=y)fprintf(ftp,%s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed);b+;fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&

13、books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed);printf(编辑成功!n);else printf(已取消创建.n);for(;bhead; get_and_add_list(x,m,NULL);int j=0;if(hbnum+1)h=bnum+1;if(p=m-head)=NULL) t=(list *)malloc(sizeof(list);if(t=NULL)return -1;t-next=p-next;t-data=books1;m-head=t;m-length+;else if(

14、h=1) t=(list *)malloc(sizeof(list); if(t=NULL)return -1;t-next=m-head; t-data=books1;m-head=t;m-length+;else while(p!=NULL&jnext;j+;t=(list *)malloc(sizeof(list);if(t=NULL)return -1;t-next=p-next;t-data=books1;p-next=t;m-length+;fprintf_list(x,m); fclose(fp);else if(x=2)/读者 strcpy(aim,aim2);strcat(a

15、im,);strcat(aim,读者记录);strcat(aim,.txt);FILE *fp;if(fp=fopen(aim,r+)=NULL) printf(打开失败!n); return -1; scanf( %s,&buffer);for(;b!=h;b+)fgets(buffer,0,fp);fgets(buffer1,1024,fp);fprintf(fp,%sn,buffer);b+;for(;b!=(bnum=getlinenum(1);b+)fgets(buffer2,1024,fp);fprintf(fp,%sn,buffer1);b+;fgets(buffer1,1024

16、,fp); fprintf(fp,%sn,buffer2); fclose(fp);else printf(错误n);return -1; ShowRecord(x); printf(1n);return 0;int DeleteRecord(int x,char y)FILE *fin,*ftp;char ch,aim112=图书,aim212=读者,aim12,buffer80;if(x=1)/图书 strcpy(aim,aim1);strcat(aim,);strcat(aim,图书记录);strcat(aim,.txt);if(fin=fopen(aim,r)=NULL) printf

17、(打开失败!n); return -1; if(ftp=fopen(图书temp.txt,w)=NULL) printf(创建文件失败!n); return -1; while(fscanf(fin,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.ID,y)!=0)fprintf(ftp,%s %s %s %s %s %s %d

18、 %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); fclose(fin);fclose(ftp);remove(aim);rename(图书temp.txt,图书图书记录.txt);printf(删除成功!n);ShowRecord(1);else if(x=2)/读者 strcpy(aim,aim2);strcat(aim,);strcat(aim,读者记录);strcat(aim,.txt);if(fin=fopen(

19、aim,r)=NULL) printf(打开失败!n); return -1; else printf(错误n);return -1; return 0;四、实验主要结果(附程序运行界面截图)实 验 报 告4一、实验名称:查询记录二、实验内容按指定字段查询记录显示查询子菜单,输入字段序号,按指定字段查询记录,并显示查询结果。特别地,对“定价”字段,输入区间左右端点值,在指定范围查询记录。三、算法设计与核心代码int InquireRecord(int x)int b=1,c,d;char aim112=图书,aim212=读者,aim12,buffer80;FILE *fp;/判断目的 if(

20、x=1)/图书 strcpy(aim,aim1);strcat(aim,);strcat(aim,图书记录);strcat(aim,.txt);if(fp=fopen(aim,r)=NULL) printf(打开失败!n); return -1; printf(查询的依据是:n1.书号n2.书名n3.作者n4.出版日期n5.类别n6.定价n7.是否借出n0.返回n输入:);scanf( %d,&c);switch(c) case 0:return 0;case 1:printf(输入书号:);scanf( %s,&buffer);printf( 书号 书名 作者 日期 出版 类别 定价 是否借

21、出n);while(fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.ID,buffer)=0)printf( %s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort

22、,books0.price,books0.borrowed); break;case 2:printf(输入书名:);scanf( %s,&buffer);printf( 书号 书名 作者 日期 出版 类别 定价 是否借出n);while(fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.name,buffer

23、)=0)printf( %s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 3:printf(输入作者:);scanf( %s,&buffer);printf( 书号 书名 作者 日期 出版 类别 定价 是否借出n);while(fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0

24、.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.author,buffer)=0)printf( %s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 4:printf(输入出版日期:);scanf( %s,&bu

25、ffer);printf( 书号 书名 作者 日期 出版 类别 定价 是否借出n);while(fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.date,buffer)=0)printf( %s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.autho

26、r,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 5:printf(输入类别:);scanf( %s,&buffer);printf( 书号 书名 作者 日期 出版 类别 定价 是否借出n);while(fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.

27、borrowed)=8)if(strcmp(books0.sort,buffer)=0)printf( %s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 6:printf(输入定价范围:(用空格隔开上下限);scanf( %d %d,&c,&d);printf( 书号 书名 作者 日期 出版 类别 定价 是否借出n);while(fscanf(fp,%s %s

28、%s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(books0.price=c&books0.price=d)printf( %s %s %s %s %s %s %d %d n,books0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.bo

29、rrowed); break;case 7:printf(是否借出:);scanf( %d,&c);printf( 书号 书名 作者 日期 出版 类别 定价 是否借出n);while(fscanf(fp,%s %s %s %s %s %s %d %d%*n,&books0.ID,&books0.name,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(books0.borrowed=c)printf( %s %s %s %s %s %s %d %d n,b

30、ooks0.ID,books0.name,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break; fclose(fp); system (pause);else if(x=2)/读者 strcat(aim3,);strcat(aim3,user.name);strcat(aim3,.txt);if(fp=fopen(读者读者记录.txt,r)=NULL) printf(打开失败!n); return -1; if(ftp=fopen(aim3,r)!=NULL)prin

31、tf(查询的依据是:n1.学号n2.姓名n3.卡号n4.性别n5.已借书数n0.返回n输入:);scanf( %d,&c);switch(c)case 0:;return 0;case 1:printf(输入学号:);scanf( %s,&buffer);printf( 学号 姓名 卡号 性别 已借书数n);while(fscanf(fp,%s %s %s %s %d*n,&num,&users0.name,&users0.ID,&users0.sex,&users0.n)=5)d=users0.n;if(strcmp(users0.ID,buffer)=0)users0.sex2=0; printf(%s %s %s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1