图书管理系统程序设计C实验报告.doc
《图书管理系统程序设计C实验报告.doc》由会员分享,可在线阅读,更多相关《图书管理系统程序设计C实验报告.doc(20页珍藏版)》请在沃文网上搜索。
1、一、实习题目介绍(包括:题目名称,及题目要求完成的工作任务、要求实现的功能目标等) 1.题目名称 图书管理系统 2.基本功能(1) 查询图书: 输入要查询图书的信息,如书名,位置,索书号等,系统即可自动查询使用者所需要的图书,能查询到则输出完整的图书信息,查询不到则提示使用者该书不存在。(2) 添加图书: 输入要添加图书的数目,即可根据系统的提示逐项添加图书的基本信息,直至添加完毕为止。结束时显示使用者添加的所有图书。(3) 修改图书: 输入要修改的图书信息,找到该图书后即可修改书名,位置,索书号等基本信息。(4) 删除图书: 输入要删除的图书信息,找到该图书后即可自动删除。二、开发工作内容1
2、.主要思路 (1)首先建立一个记录图书信息的档。 (2) 使用界面函数,使使用者更方便。 (3)使用者键入数字实现选择。 (4)使用者输入要查询的图书信息,如图书名,通过逐项比较找到图书,并输出图书的所有信息。 (5)使用者输入要修改的图书信息,通过逐项比较找到图书,再使用fseek,以及fwrite函数实现修改。 (6)使用者输入要删除的图书信息,通过逐项比较找到图书,建立新结构体Struct Book n=“0”,”0”,”0”,”0”,使用新结构体替换要删除的图书结构体,即可实现删除功能。 (7)使用者输入要添加的图书数目,系统自动提示使用者添加内容,直到添加完毕为止。 (8)使用死循环
3、,每次功能完成之后提醒使用者,按0退出,按其他数字继续。2.各模块功能的实现过程 (1)建立记录图书信息的档 代码:void save()FILE*fp;int i;if(fp=fopen(book.dat,wb)=NULL)printf(cannotn);return ; for(i=0;i5) system(cls);jiemian(); printf(*n);printf( 请重新输入n);printf(*n);scanf(%d,&i);if(i=5)break;switch(i)case 1:chaxun();break;case 2:xiugai();break;case 3:add
4、();break;case 4:shanchu();break;case 5:chaxunsuoyou();break;if(i=0)break;printf(nnnnnnn);printf(*按0退出,按其他数字继续*n);scanf(%d,&j);system(cls);(4)输入要查询的图书信息 原理:系统通过比较,如果图书存在则输出图书详细信息,图书不存在则输出图书不存在的信息。 代码: void chaxun() int p;int i,n=0;char b100;FILE*fp; printf( );printf( $=|n); printf( );printf( $-图书查询系统
5、-|n); printf( ); printf( $_|n);printf( ); printf( $1.查询图书名 |n);printf( ); printf( $_|n); printf( );printf( $2.查询图书类型 |n); printf( );printf( $_|n); printf( );printf( $3.查询图书位置 |n);printf( ); printf( $_|n); printf( );printf( $4.查询图书编号 |n); printf( );printf( $_|n); printf( );printf(请输入服务类型(数字)n);printf
6、( ); scanf(%d,&p); system(cls); if(p=1) printf(请输入要查询的图书名:n); scanf(%s,b);if(fp=fopen(bok.dat,rb)=NULL)printf(cannotn);exit(0);for(i=0;iN;i+) fread(&booki,sizeof(struct Book),1,fp);if(strcmp(b,booki.name)=0)printf(_n);printf(|%-15s|%-20s|%-20s|%-5s|n,booki.name,booki.lei,booki.floor,booki.hao);n=1;
7、if(n=0) printf(对不起,你查询的图书不存在n); fclose(fp); if(p=2) printf(请输入要查询的图书类型:n); scanf(%s,b);if(fp=fopen(bok.dat,rb)=NULL)printf(cannotn);exit(0); for(i=0;iN;i+) fread(&booki,sizeof(struct Book),1,fp);if(strcmp(b,booki.lei)=0)printf(_n);printf(%-15s%-20s%-20s%-5sn,booki.name,booki.lei,booki.floor,booki.ha
8、o);n+; fclose(fp); if(n=0) printf(对不起,你查询的图书不存在n);printf(%s类型书的数目为%dn,b,n); if(p=3) printf(请输入要查询的位置:n); scanf(%s,b); if(fp=fopen(bok.dat,rb)=NULL)printf(cannotn);exit(0); for(i=0;iN;i+) fread(&booki,sizeof(struct Book),1,fp);if(strcmp(b,booki.floor)=0) printf(_n);printf(|%-15s|%-20s|%-20s|%-5s|n,bo
9、oki.name,booki.lei,booki.floor,booki.hao);printf(_n);n+; if(n=0) printf(对不起,你查询的图书不存在n); printf(%s位置书的数目为%dn,b,n); fclose(fp); if(p=4) printf(请输入要查询的图书编号:n); scanf(%s,b); if(fp=fopen(bok.dat,rb)=NULL)printf(cannotn);exit(0); for(i=0;iN;i+)fread(&booki,sizeof(struct Book),1,fp);if(strcmp(b,booki.hao)
10、=0)printf(%-15s%-20s%-20s%-5sn,booki.name,booki.lei,booki.floor,booki.hao);n=1;if(n=0)printf(查无此书n); fclose(fp); (5)修改图书时只需输入要修改的图书信息及新的图书信息即可实现。 实现原理:先逐项对比找到图书,再用fseek函数指向该图书,然后用fwrite函数进行修改。 代码: void xiugai() int i,j,k=0,u;struct Book n; char boo100; FILE*fp;printf(请输入要修改的图书名n); scanf(%s,boo); if(
11、fp=fopen(bok.dat,rb)=NULL) printf(cannot open filen); exit(0); for(i=0;iN;i+) fread(&booki,sizeof(struct Book),1,fp); if(strcmp(boo,booki.name)=0) j=i; k=1; fclose(fp); if(k=1) printf( _n); printf( $-图书修改系统-$n); printf( |_|n); printf( |1.修改图书名 |n); printf( |_|n); printf( |2.修改图书类型 |n); printf( |_|n)
12、; printf( |3.修改图书编号 |n); printf( |_|n); printf(请输入修改内容(数字)n); scanf(%d,&u); system(cls); if(u=1) printf(请输入新的书名n); scanf(%s,&n.name); if(fp=fopen(bok.dat,rb+)=NULL) printf(cannotn); exit(0); fseek(fp,j*sizeof(struct Book),SEEK_SET); strcpy(n.lei,bookj.lei); strcpy(n.floor ,bookj.floor);strcpy(n.hao
13、,bookj.hao);fwrite(&n,sizeof(struct Book),1,fp);printf(修改前:n);printf(%-15s%-20s%-20s%-5sn,bookj.name,bookj.lei,bookj.floor,bookj.hao); printf(修改后:n);printf(%-15s%-20s%-20s%-5sn,n.name,bookj.lei,bookj.floor,bookj.hao); printf(*修改成功*n); if(u=2) printf(请输入新的类型n); if(fp=fopen(bok.dat,rb+)=NULL) printf(c
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 程序设计 实验 报告