欢迎来到天天文库
浏览记录
ID:26780047
大小:87.50 KB
页数:14页
时间:2018-11-29
《c课程设计-图书管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C课程设计---------图书管理系统作者:石棒1.系统目标1.1录入图书信息(编号,书名,作者,出版社,价格);1.2实现删除功能,即输入图书号删除相应的记录;1.3实现查找功能,即输入图书号或图书名查询该书相关信息;1.4实现修改功能,即输入图书号或图书名修改相关信息;1.5保存添加的图书信息;1.6信息排序。2.主要功能模块设计2.1预处理#include#include#include//控制台输入输出函数#include2、g.h>2.2结构声明2.2.1叙述定义结构体Bookinf,用来表示图书信息,其中包括图书编号,书名,作者,出版社以及图书价格,并定义名为book的结构体变量。2.2.2程序代码structBookinf{intnum;//编号charname[20];//书名charaut[10];//作者charpub[30];//出版社floatprice;//价格}book[10];//定义结构体数组2.3函数声明voidmenu();voidin();voidsearch();voidmodify();3、voidinsert();voiddel();voidorder();voidshow();2.4主函数2.4.1包含项目信息录入函数,信息查询函数,信息修改函数,添加信息函数,删除信息函数,排序函数2.4.2程序代码voidmain(){intn;menu();//显示菜单函数scanf("%d",&n);//输入选择功能编号while(n){switch(n){case1:in();//录入函数break;case2:search();//查询函数break;case3:modify();//修4、改函数break;case4:insert();//插入函数break;case5:del();//删除函数break;case6:order();//排序函数break;}getch();menu();//执行完成后继续显示菜单界面scanf("%d",&n);}}2.5功能菜单程序代码:voidmenu(){system("cls");//清屏printf("");printf("t5、==============================================6、7、");printf("t8、图书管理系统9、");printf("t10、==============================================11、");printf("t12、t0.退出13、");printf("t14、t1.录入图书信息15、");printf("t16、t2.查询图书信息17、");printf("t18、t3.修改图书信息19、");printf("t20、t4.插入新记录21、");printf("t22、t5.删除记录23、");printf24、("t25、t6.书籍排序26、");printf("t27、==============================================28、");printf("请选择(0-6):");}2.6录入图书信2.6.1功能叙述*在功能界面中输入1,即可以进入图书信息录入状态,如果没有数据,则图书的编号,书名,作者,出版社,并提示用户是否输入。输入y,则开始录入信息;输入n,则显示“OK”,再按任意键返回到主菜单界面。**如果输入y,屏幕显示图书的编号,书名,作者,出版社,输入完成以29、后,系统提示“保存成功!是否继续?”。***如果输入y,系统继续提示相应信息,再输入一条记录。2.6.2程序代码voidin(){inti,m=0;//m是记录的条数charch[2];FILE*fp;if((fp=fopen("Bookinf.dat","ab+"))==NULL){printf("无法打开文件!");return;}while(!feof(fp))//检测是否到了文件结尾{if(fread(&book[m],sizeof(structBookinf),1,fp)==1)m++30、;//统计当前记录条数,读取成功则m自加1,继续往后读取}if(m==0)printf("没有记录!");else{system("cls");show();//show函数位置错误}printf("是否继续?(y/n):");scanf("%s",ch);//ch之所以定义成字符数组,是为了接收一个字符和回车符,以字符串方式存入//有所改动while(strcmp(ch,"Y")==031、32、strcmp(ch,"y")==0)//判断是否要录入信息{printf(
2、g.h>2.2结构声明2.2.1叙述定义结构体Bookinf,用来表示图书信息,其中包括图书编号,书名,作者,出版社以及图书价格,并定义名为book的结构体变量。2.2.2程序代码structBookinf{intnum;//编号charname[20];//书名charaut[10];//作者charpub[30];//出版社floatprice;//价格}book[10];//定义结构体数组2.3函数声明voidmenu();voidin();voidsearch();voidmodify();
3、voidinsert();voiddel();voidorder();voidshow();2.4主函数2.4.1包含项目信息录入函数,信息查询函数,信息修改函数,添加信息函数,删除信息函数,排序函数2.4.2程序代码voidmain(){intn;menu();//显示菜单函数scanf("%d",&n);//输入选择功能编号while(n){switch(n){case1:in();//录入函数break;case2:search();//查询函数break;case3:modify();//修
4、改函数break;case4:insert();//插入函数break;case5:del();//删除函数break;case6:order();//排序函数break;}getch();menu();//执行完成后继续显示菜单界面scanf("%d",&n);}}2.5功能菜单程序代码:voidmenu(){system("cls");//清屏printf("");printf("t
5、==============================================
6、
7、");printf("t
8、图书管理系统
9、");printf("t
10、==============================================
11、");printf("t
12、t0.退出
13、");printf("t
14、t1.录入图书信息
15、");printf("t
16、t2.查询图书信息
17、");printf("t
18、t3.修改图书信息
19、");printf("t
20、t4.插入新记录
21、");printf("t
22、t5.删除记录
23、");printf
24、("t
25、t6.书籍排序
26、");printf("t
27、==============================================
28、");printf("请选择(0-6):");}2.6录入图书信2.6.1功能叙述*在功能界面中输入1,即可以进入图书信息录入状态,如果没有数据,则图书的编号,书名,作者,出版社,并提示用户是否输入。输入y,则开始录入信息;输入n,则显示“OK”,再按任意键返回到主菜单界面。**如果输入y,屏幕显示图书的编号,书名,作者,出版社,输入完成以
29、后,系统提示“保存成功!是否继续?”。***如果输入y,系统继续提示相应信息,再输入一条记录。2.6.2程序代码voidin(){inti,m=0;//m是记录的条数charch[2];FILE*fp;if((fp=fopen("Bookinf.dat","ab+"))==NULL){printf("无法打开文件!");return;}while(!feof(fp))//检测是否到了文件结尾{if(fread(&book[m],sizeof(structBookinf),1,fp)==1)m++
30、;//统计当前记录条数,读取成功则m自加1,继续往后读取}if(m==0)printf("没有记录!");else{system("cls");show();//show函数位置错误}printf("是否继续?(y/n):");scanf("%s",ch);//ch之所以定义成字符数组,是为了接收一个字符和回车符,以字符串方式存入//有所改动while(strcmp(ch,"Y")==0
31、
32、strcmp(ch,"y")==0)//判断是否要录入信息{printf(
此文档下载收益归作者所有