版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 中南民族大学管理学院学生课程设计报告课程名称: C程序设计语言 选题名称: 图书信息管理系统 年 级:2011专 业:信息管理与信息系统学号:姓名:新浪微博 song-style是坏学长指导教师:完成地点:管理学院综合实验室完成日期: 2012年12月 20 12 学年至20 13 学年度第 1 学期26 / 29新浪微博 song-style是坏学长一、题目(问题)描述1、系统以菜单方式工作。2、图书信息录入功能(图书信息用文件保存)输入。3、图书信息浏览功能输出,查询。4、查询和排序功能:(至少一种查询方式)算法。 按书名查找 按作者查询等。5、图书信息的删除与修改。创新要求
2、:在基本要求达到后,可进行创新设计,如实现会员资料的查询、会员注销,为借书人办理注册。办理借书手续(非注册会员不能借书)。办理还书手续等等。信息描述:图书信息包括:登录号、书名、图书编号、单价、作者名、分类号、出版单位、出版时间、价格等。借阅人信息包括:借书人、性别、学号二、问题分析1、系统要现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计。2、程序将综合if语句与switch语句的运用方法与嵌套应用方法,循环结构的三种语句while、do-while.、for,以与函数的定义方法和调用方法等来进行编写。三、系统设计 图书
3、信息管理系统1、程序总体结构录入浏览修改删除查询按分类号按作者名按书名浏览书籍信息添加书籍信息按作者查询按书名查询按书名按作者名2重要数据的数据结构设计struct BOOK :把所要的数据charshuming999,zuozheming999,fenleihao999,danwei999,shijian999,jiage999;全放在一维数组中,以结构体的形式表现出来。这是文件录入和读取的关键,相当于做成一个文件,需要的时候将里面的数据读取或者修改。(1).录入模块:录入图书信息并保存于文件中。(2).浏览模块:添加一个或多个图书信息,并将所添加图书信息保存,方便查找。(3).删除模块:对
4、图书信息做删除处理。(4).修改模块:void xiugai根据需要对图书信息进行修改。(5).查询模块:对已建立的图书信息进行查询,并且可根据需要选择按书名、作者或按分类号查询。(6).菜单 : 帮助借阅者根据所需进行选择。3函数设计函 数 名:菜单函数 void select()函数功能:运行后显示主界面,通过输入来选择下一步操作。参数说明:int n 用于判断使用者所要进入的界面的序号。算法描述:根据使用者输入的数字进行判断,并调用相对应的函数。函 数 名:登陆函数 void dl()函数功能:该函数功能为辨识管理权限,只有正确输入登录号才能进入主界面。参数说明:int n ,k=0,其
5、中n用于识别登录号正确与否,k用于做一个循环。算法描述:用户输入登录号存在n里,判断n值是否等于11056026,是,则调用菜单函数。否,则让用户重新输入,两次输错以后关闭程序。函 数 名:录入函数 void input()函数功能:进入该函数,开始根据提示录入图书信息参数说明: int i=0; 用于自加,以便更换储存输入的信息的位置。Char a;接收用户输入的字符。算法描述: printf提示信息,用户输入需要录入的数据,输入Y则调用lr()。输入N则调用clect(),输入其他则调用shifou()。函 数 名:浏览函数 void output()函数功能:进入该函数,按照输入顺序依次
6、显示信息 参数说明:int i=0; 用于自加,以更换数据的位置信息以输出。char a, b用于接受用户输入的字符。 算法描述:输出第一本书籍的信息,i+。输入Y,则输出第二本书籍的信息。输入N ,则调用slect().函 数 名:查询函数 void search ()函数功能:进入函数,选择不同方式进行查询参数说明:int i ;cha j,m100,a; i用于做循环以搜索图书,j用于判断用户需要的查询方式,m100用于存放用户输入的搜索数据。算法描述:根据用户输入的字符进行判断,调用相应函数。 函 数 名:修改函数 void xiugai()函数功能:进入该函数,开始根据提示修改图书信
7、息参数说明:int i 用于做循环的条件限制,以寻找要修改的图书。char j 用于用于判断用户需要的修改方式并调用相应函数。char m100, 用于录入用户 新存入的数据信息并保存。char a; 根据用户输入的字符,判断其是否需要继续修改信息,并调用相应函数。算法描述:输入j值,判断修改方式:A按书名,则调用xiugai1,B按作者名调用xiugai2,C返回,调用slect()。然后用户输入需要修改的书本的信息,用循环寻找一样的数据,printf需要修改的图书信息,并且提示用户输入相应信息。 最后,输入Y,则goto mulu,N 则goto xiugai2。函 数 名:删除函数 vo
8、id shanchu()函数功能:进入该函数,开始根据提示删除图书信息参数说明:int i,p; 用于做循环。char j, 用于用于判断用户需要的删除方式并调用相应函数。m100 用于给用户输入需要删除的书籍信息。a, 用于存放用户输入的字符。dd 用于存放用户输入的字符。算法描述:输入i值,判断删除方式:A按书名,则调用shanchu1,B按作者名调用shanchu2,C返回,调用slect()。然后用户输入需要删除的书本的信息,用循环寻找一样的数据,printf需要删除的图书信息,并且提示用户输入相应信息。 最后,输入Y,则从i的位置开始往后,所有book.的数据往前移动一位,然后输入Y
9、,则xiugai,输入N则调用slect()。4程序运行视图(见下页)开 始输入n的值判断n的值删除模块修改模块录入模块浏览模块查询模块输入i值输入i值判断n的值判断n的值输入i值按书名按作者名按书名按作者名判断n的值输入新信息按作者名按书名按分类号删除信息添加信息四、难点与关键技术分析:程序设计的难点与解决方法说明 难点:算法设计,只有设计出来了算法以后才能步步展开,才能有目的的编写程序。所以必须要有一个好的算法。解决办法:算法设计用流程图会很非常直观,可以清楚的显示各个框之间的逻辑关系。流程图包括表示相应操作的框,带箭头的流程线,必要的文字说明。关键技术:删除书籍时,结构体中的数据往前移动
10、一位。解决办法:使用strcpy()来把后面的数据与前一位数据进行调换。还需要做一个循环。并且要注意的是,因为数组是100位的,所以如果删除的书籍是最后两位的话,是没有必要使用strcpy()的,因为存有数据的存的相对位置没有发生变化。五、测试情况:系统运行、数据输入与输出结果截图 六、源程序清单: #include<stdio.h>#include<string.h>#include<stdlib.h>struct BOOK char shuming999,zuozheming999,fenleihao999,danwei999,shijian999,ji
11、age999;books999;void main()void select();void dl();dl(); printf("n"); select();void select()system("cls");void jm();void input();void output();void search();void xiugai();void shanchu();int n;printf(" 图书管理功能界面 n");menu:jm();scanf("%d",&n);getchar();if(n=1|
12、n=2|n=3|n=4|n=5|n=6)switch(n)case 1: input();break;case 2: output();break;case 3: search();break;case 4: xiugai();break; case 5: shanchu();break;case 6: exit(0);break;elseprintf("输入错误,请重新输入!n");printf("输入你再次的选择:n");printf("n");printf("n");printf("n")
13、;goto menu;void dl() int n;int k=0;zl:system("cls");printf("n");printf("n");printf("n");printf(" *欢迎光临图书管理系统*n");printf("n");printf("n");printf("请输入你的学号:");scanf("%d",&n); if(n=11056026)select(); else if(k&
14、lt;2) printf("输入错误,请重新输入!n"); printf("输入你再次的选择:");k+;goto zl;else printf("登录失败n");exit(0); void jm()printf(" *n");printf(" * *n");printf(" * *n");printf(" * *n");printf(" * *n");printf(" * *n");printf(" *
15、1.图书信息录入 * *n");printf(" * 2.图书信息浏览 * *n");printf(" * 3.图书查询 * *n");printf(" * 4.图书信息修改 * *n");printf(" * 5.图书信息删除 * *n");printf(" * 6.退出 * *n");printf(" * *n"); printf("请输入序号:n");printf("n");void input()system(&quo
16、t;cls");int i=0;char a;lr:printf("%s","图书书名:");scanf("%s",booksi.shuming);printf("%s","作者名:");scanf("%s",booksi.zuozheming);printf("%s","分类号:");scanf("%s",booksi.fenleihao);printf("%s","出版单位
17、:");scanf("%s",booksi.danwei);printf("%s","出版时间:");scanf("%s",booksi.shijian);printf("%s","价格:");scanf("%s",booksi.jiage);i+;printf("n");printf("是否继续,输入Y/N:");shifou:scanf("%s",&a);getchar();
18、system("cls");if(a='n'|a='N')select();else if(a='y'|a='Y') goto lr;elseprintf("输入错误,请重新输入");goto shifou;system("cls");void output()system("cls");int i=0;char a,b;shuchu:printf("图书书名:%sn",booksi.shuming);printf("作者
19、名:%sn",booksi.zuozheming);printf("分类号:%sn",booksi.fenleihao);printf("出版单位:%sn",booksi.danwei);printf("出版时间:%sn",booksi.shijian);printf("价格:%sn",booksi.jiage);i+;printf("是否继续浏览下一本:Y/N? n");shifou:scanf("%s",&a);getchar();system(&quo
20、t;cls");if(a='n'|a='N')select();else if(a='Y'|a='y')if(booksi+1.shuming!=0)goto shuchu;elseprintf("查询完毕,输入Y返回界面 n");scanf("%s",&b);getchar();system("cls");if(b='y'|b='Y')select();elseprintf("输入错误,请重新输入")
21、;goto shifou;system("cls");void search()system("cls");int i;char j,m100,a;mulu:printf("请选择查询方式:n");printf("A、按书名查询n");printf("B、按作者名查询n");printf("C、按分类号查询n");printf("D、返回n");printf("请选择:");scanf("%s",&j);ge
22、tchar(); system("cls");if('A'=j|'a'=j)chaxun1:printf("请输入图书书名:");scanf("%s",&m);for(i=0;i<=999;i+)if(strcmp(booksi.shuming,m)=0)printf("书名:%sn",booksi.shuming);printf("%sn",booksi.zuozheming);printf("分类号:%sn",booksi.f
23、enleihao);printf("出版单位:%sn",booksi.danwei);printf("出版时间:%sn",booksi.shijian);printf("价格:%sn",booksi.jiage);printf("是否继续,输入Y/N:");scanf("%s",&a);getchar();system("cls");if(a='n'|a='N')goto mulu;elsegoto chaxun1;else if(
24、39;B'=j|'b'=j)chaxun2:printf("请输入作者名:");scanf("%s",&m);for(i=0;i<=999;i+)if(strcmp(booksi.zuozheming,m)=0)printf("图书书名:%sn",booksi.shuming);printf("作者名:%sn",booksi.zuozheming);printf("分类号:%sn",booksi.fenleihao);printf("出版单位:%s
25、n",booksi.danwei);printf("出版时间:%sn",booksi.shijian);printf("价格:%sn",booksi.jiage);printf("是否继续,输入Y/N:");scanf("%s",&a);getchar();system("cls");if(a='n'|a='N')goto mulu;elsegoto chaxun2;else if('C'=j|'c'=j)chax
26、un3:printf("请输入分类号:");scanf("%s",&m);for(i=0;i<=999;i+)if(strcmp(booksi.fenleihao,m)=0)printf("图书书名:%sn",booksi.shuming);printf("作者名:%sn",booksi.zuozheming);printf("分类号:%sn",booksi.fenleihao);printf("出版单位:%sn",booksi.danwei);printf(&
27、quot;出版时间:%sn",booksi.shijian);printf("价格:%sn",booksi.jiage);printf("是否继续,输入Y/N:");scanf("%s",&a);getchar();system("cls");if(a='n'|a='N')goto mulu;elsegoto chaxun3;else if('D'=j|'d'=j)select();elseprintf("输入错误,请重新输
28、入");goto mulu;system("cls");void xiugai()system("cls");int i;char j,m100,a;mulu:printf("请选择修改方式:n");printf("A、按书名修改n");printf("B、按作者名修改n");printf("C、返回n");printf("请选择:");scanf("%s",&j);getchar();if('A'=j
29、|'a'=j)system("cls");xiugai1:printf("请输入要修改的图书书名:");scanf("%s",&m);for(i=0;i<=999;i+)if(strcmp(booksi.shuming,m)=0)printf("图书书名:%sn",booksi.shuming);printf("作者名:%sn",booksi.zuozheming);printf("分类号:%sn",booksi.fenleihao);print
30、f("出版单位:%sn",booksi.danwei);printf("出版时间:%sn",booksi.shijian);printf("价格:%sn",booksi.jiage);printf("请修改:");printf("%s","图书书名:");scanf("%s",booksi.shuming);printf("%s","作者名:");scanf("%s",booksi.zuozhem
31、ing);printf("%s","分类号:");scanf("%s",booksi.fenleihao);printf("%s","出版单位:");scanf("%s",booksi.danwei);printf("%s","出版时间:");scanf("%s",booksi.shijian);printf("%s","价格:");scanf("%s",b
32、ooksi.jiage);printf("是否继续,输入Y/N:");scanf("%s",&a);getchar();system("cls");if(a='n'|a='N')goto mulu;elsegoto xiugai1;system("cls");else if('B'=j|'b'=j)xiugai2:printf("请输入要修改的作者名:");scanf("%s",&m);for(i
33、=0;i<=999;i+)if(strcmp(booksi.zuozheming,m)=0)printf("图书书名:%sn",booksi.shuming);printf("作者名:%sn",booksi.zuozheming);printf("分类号:%sn",booksi.fenleihao);printf("出版单位:%sn",booksi.danwei);printf("出版时间:%sn",booksi.shijian);printf("价格:%sn",boo
34、ksi.jiage);printf("请修改:");printf("%s","图书书名:");scanf("%s",booksi.shuming);printf("%s","作者名:");scanf("%s",booksi.zuozheming);printf("%s","分类号:");scanf("%s",booksi.fenleihao);printf("%s","
35、;出版单位:");scanf("%s",booksi.danwei);printf("%s","出版时间:");scanf("%s",booksi.shijian);printf("%s","价格:");scanf("%s",booksi.jiage);printf("是否继续,输入Y/N:");scanf("%s",&a);getchar();system("cls");if(
36、a='n'|a='N')goto mulu;elsegoto xiugai2;system("cls");else if('c'=j|'C'=j)select();elseprintf("输入错误,请重新输入");goto mulu;void shanchu()system("cls");int i,p;char j,m100,a,dd;printf("请选择删除方式:n");printf("A、按书名删除n");printf(&q
37、uot;B、按作者名删除n");printf("C、返回n");printf("请选择:");scanf("%c",&j);getchar();system("cls");if('A'=j|'a'=j)shanchu1:printf("请输入要删除的图书书名:");scanf("%s",m);getchar();for(i=0;i<=999;i+)if(strcmp(booksi.shuming,m)=0)printf(
38、"%s","作者名:");printf("%sn",booksi.zuozheming);printf("%s","分类号:");printf("%sn",booksi.fenleihao);printf("%s","出版单位:");printf("%ns",booksi.danwei);printf("%s","出版时间:");printf("%sn",b
39、ooksi.shijian);printf("%s","价格:");printf("%sn",booksi.jiage);printf("确定删除,输入Y/N:");scanf("%c",&dd);getchar();if(dd='y'|dd='Y')for(p=i;p<=997;p+)strcpy(booksp.shuming,booksp+1.shuming);strcpy(booksp.zuozheming,booksp+1.zuozhemin
40、g);strcpy(booksp.fenleihao,booksp+1.fenleihao);strcpy(booksp.danwei,booksp+1.danwei);strcpy(booksp.shijian,booksp+1.shijian);strcpy(booksp.jiage,booksp+1.jiage);elseprintf("是否继续,输入Y/N:");scanf("%c",&a);getchar();system("cls");if(a='n'|a='N')shanchu()
41、; elsegoto shanchu1;system("cls");else if('B'=j|'b'=j)shanchu2:printf("请输入要删除的作者名:");scanf("%s",m);getchar();for(i=0;i<=999;i+)if(strcmp(booksi.zuozheming,m)=0)printf("%s","图书书名:");printf("%sn",booksi.shuming);printf("%s","分类号:");pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电池制造中的品牌推广与企业形象塑造考核试卷
- 危险品仓储的紧急情况应急预案制定考核试卷
- 搪瓷制品的节能效果与环保意义考核试卷
- DB11T 270-2014 生活垃圾卫生填埋场运行管理规范
- 筑堡工程课件教学课件
- 法国概述课件教学课件
- 兵团精神课件教学课件
- 淮阴工学院《工程项目管理2》2023-2024学年第一学期期末试卷
- 2024届黑龙江省部分学校高三年级下册第五次模拟考试语文试题(解析版)
- 高性能玻璃微珠相关项目投资计划书范本
- 职业技能大赛-鸿蒙移动应用开发赛初赛理论知识考试及答案
- 锅炉应急预案演练方案
- 2024山东高速集团限公司招聘367人高频难、易错点500题模拟试题附带答案详解
- 【人教版】《劳动教育》二下 劳动项目一 洗头 课件
- 第三单元长方形和正方形(单元测试)-2024-2025学年三年级上册数学苏教版
- 灯展合同范本
- 《ISO 55013-2024 资产管理-数据资产管理指南》解读和实施指导材料(雷泽佳编制-2024)
- 【课件】城镇与乡村课件2024-2025学年人教版地理七年级上册
- 北京市历年中考语文现代文之议论文阅读30篇(含答案)(2003-2023)
- 四川省绵阳市2025届高三数学上学期第一次诊断性考试试题文含解析
- 请款单模板(范本)
评论
0/150
提交评论