一图书信息管理系统.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:25 大小:213KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

一图书信息管理系统.doc

一图书信息管理系统.doc

预览

免费试读已结束,剩余 15 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一图书信息管理系统1.1题目要求图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作图书信息录入功能(图书信息用文件保存)--输入图书信息浏览功能--输出查询和排序功能:(至少一种查询方式)--算法(1)按书名查询(2)按作者名查询图书信息的删除与修改(可选项)v[提示]建立职工信息结构体,结构体成员包括职工号、姓名、性别、年龄、学历、工资、住址、电话。1.2需求分析根据题目要求,要求对图书信息进行输入、输出等操作;在程序中需要浏览图书的信息,应提供显示、查找、浏览、插入、修改等操作;另外还应提供键盘式选择菜单实现功能选择。1.3总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:图书信息管理系统数据输入数据浏览数据查找数据插入退出图1.3系统功能模块图1.4详细设计1.4.1主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。[流程图]:显示各功能选项根据n的值调用各功能模块函数NY输入n,判断n是否是0-5图1.4.1主函数流程图[程序]:/*****************主函数**********************/main(){menu();}/*****************menu函数********************/voidmenu(){intn,w1;/*变量n保存选择菜单数字,w1判断输入的数字是否在功能菜单对应数字范围*/do{puts("\t\t*****************menu****************\n\n");puts("\t\t\t\t1.Enternewdata");puts("\t\t\t\t2.Browseall");puts("\t\t\t\t3.Search");puts("\t\t\t\t4.add");puts("\t\t\t\t5.Exit");puts("\n\n\t\t***********************************\n");printf("Choiceyournumber(1-5):[]\b\b");scanf("%d",&n);if(n<1||n>5)/*对选择的数字作出判断,是否在菜单功能数字范围内*/{w1=1;getchar();}elsew1=0;}while(w1==1);switch(n)/*根据输入的数字,进入到相应的操作模块中*/{case1:enter();break;/*输入模块*/case2:browse();break;/*浏览模块*/case3:search();break;/*查找模块,其中包括按不同类别进行查找的多个子模块*/case4:add();break;/*插入模块*/case5:exit(0);/*退出*/}}注:menu函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把menu函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。用结构体来存放职工信息:/********************结构体*******************/structworker{charnumber[11];charname[20];charsex[20];charadress[20];charxueli[20];chartelephone[20];charage[20];charsalary[20];}wor[N];/*wor[N]中每个数组元素对应一个职工*/其中可以根据宏定义#defineN随时对N的值进行调整,扩大信息的储存量。1.4.2各功能模块设计(1)输入模块[需求分析]对信息进行输入。[流程图]:输入用户要输入职工记录的个数ni从0到n-1调用输入函数input(i)i!=0保存调用函数save(n)Y图1输入模块流程图[程序]:/********************输入模块*******************/voidenter()/*输入函数*/{inti,n;printf("Howmanyworkers(0-%d):",N-1);scanf("%d",&n);/*输入记录的个数,赋值给n*/printf("\nEnterdatanow\n\n");for(i=0;i<n;i++)/*通过for循环语句依次输入N个职工信息数据*/{printf("\nInput%dth