版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、德州学院计算机系课程设计报告实习名称程序设计课程设计设计题目图书信息管理系统实习时间 2010.06.27-2010.07.04专业班级指导老师教学单位(小组分工情况:学号姓名分工二O 一 O年七月五日(设计或实验)论述、结果分课程设计报告正文内容及格式要求:1、正文部分主要包括:选题背景、论点或方案论证、过程析、结论或总结。2、标题:题目用小二号黑体字 (加黑),居中;副标题用三号黑体字,紧挨正标题下居中,文字前加破折号。 英文题目为18磅加粗Times NewRoman字,副标题为16磅加粗TimesNew Roman字o3、课程设计报告格式要求:一级标题用小三号黑体字;二级标题用四号黑体
2、字;三级标题用小四号黑体字;正文用宋体小四号字(英文用12磅Times NewRoman字),采用1.5倍行距,标准字符间距:页码一律用小5号字标明。4、课程设计报告撰写要求:(1)文字通顺,语言流畅,能将设计过程表述清楚。(2)图表整洁,布局合理,须按国家规定的绘图标准绘制。3)报告字数不少于 3 千字。C语言程序设计报告- 图书管理系统、实验准备做系统前,首先,自己详细看了c程序设计教程(教科书)的第十章文 件,基本自学会了文件的相关内容,理解了相关函数的用法和作用;另,上网 查询了很多相关资料, 还有找了很多相关的系统, 都详细的看了一遍, 加深了对 C的理解以及对文件的相关内容进一步理
3、解。学习了 C语言的内容,图书信息管 理系统有助于C语言学习的进一步巩固,在本系统可以增强对指针、数组、文件、 函数等基本知识的进一步理解。 另外图书信息管理系统也是学校常用的基本系统 之一,它有助于学校对图书馆书籍的基本管理。、功能简介图书信息管理系统是对图书信息的基本管理, 它包括:图书信息的输入、 图 书信息的修改及删除、图书信息的查询、图书信息的添加、图书信息的浏览。使用模块化编程的方法每项功能有一个或多个函数组合来完成 .三、系统与性环境系统可以在MicrosoftVisualC+6.0软件运行,硬件基本无要求,现在的计算机基本都可以运行该系统。四、功能划分及详细说明主要算法的设计:
4、(1)主函数的算法设计首先,运行程序,进入菜单,然后选择操作(运用 swith语句),调用各子函 数。在返回操作中运用 while语句进行控制返回菜单。(2)各子函数的算法设计1、图书信息的输入函数f勺开始3、图书信息的查询void search()选择查询方式,1按书号查询,2按书名查询,然后定位,再调用输出函数;4、图书信息的浏览开始首先,输出所有图书的信息,并输出图书记录数,然后调用 辅助函数进行菜单选择,操作完成后返回主菜单。5、图书信息的添加首先,从文件中调用函数读入函数,再输入要添加数,然后添加图书信息, 并保存。上机调试过程:在调试过程中出现了许多的错误!特别是在查询、修改删除这
5、 2个函数的 调上花费了很多时间,主要是文件的写入与读出以及菜单调试的问题, 还有建立 新的链接也出现问题,说明自己对程序的执行过程理解不够深刻。五、源程序#in clude#in clude#i ncludevstri ng.h#in clude#defi ne LEN sizeof(stu)typedef struct stude ntlong nu mber;char n ame10;char sex3;int age;float chi nese;float math;float en glish;float sum;float average;struct stude nt *n e
6、xt;stu;book *creat(void);book *cha nges(book *head);book *modify(book *head,l ong nu m);book *del(book *head,l ong nu m);book *in sert(book *head,book *stud);book *in put(book *head,book *p1);void sort(book *head);void total_average_sort(book *head);void chin ese_sort(book *head);void math_sort(book
7、 *head);void en glish_sort(book *head);void prin t(book *head);void Statistics(book *head);void search(book *head);void nu msearch(book *head,l ong nu m); void n amesearch(book *head,char n ame); int n;book *creat(void) I book *head,*p1,*p2;n=0;p1= p2=(book *)malloc(LEN);prin tf(请输入图书信息! n);head=NUL
8、L;p1= in put(head,p1);while(p1- nu mber!=0) In=n+1;if(n=1) head=p1;else p2-n ext=p1;p2=p1;p1=(book *)malloc(LEN); p1= in put(head,p1); p2- next=NULL;return(head);book *input(book *head,book *p1)/*输入图书的信息 */nt i,f,k;book *p2;loop:printf( 图书号(为整数,输入0时返回上一级):);sea nf(%ld,&p1- nu mber); if(p1- nu mbernu
9、 mber=0) return(p1);elsep2=head;f=0;for(i=1;inu mber=p2-nu mber)f=1;break;p2=p2-n ext;if(f)pri ntf(图书不能重复,请重新输入!n);goto loop;prin tf(书名:);sca nf(%s,p1- n ame);Ioop1:printf( 类别:1.文科 2.理科 n);printf(请选择类别:);sca nf(%d,&k);switch(k)case 1:strcpy(p1-sex,文科);break;case 2:strcpy(p1-sex,理科);break;default:pri
10、ntf(”类别只能是“文科”或“理科”,请重新输入! n);gotoIoop1;prin tf(存期:);sca nf(%d,&p1-age);while(p1-ageage120)prin tf(你输入的存期不符合实际情况,请重新输入!n);printf(存期:);sca nf(%d,&p1-age);prin tf(章数:);sea nf(%f,&p1-chi nese);while(p1-chi nesechi nese100)prin tf(你输入的章数不符合实际情况,请重新输入!n);prin tf(章数:);scan f(%f,&p1-chi nese);prin tf(页数:);
11、sca nf(%f,&p1-math); while(p1-mathmath100)prin tf(你输入的页数不符合实际情况,请重新输入!n);prin tf(页数:);scan f(%f,&p1-math);printf(阅读次数:);sca nf(%f,&p1-e nglish);while(p1-e nglishe nglish100)prin tf(你输入的阅读次数不符合实际情况,请重新输入!nprintf(阅读次数:);scan f(%f,&p1-e nglish);p1-sum=p1-chi nese+p1-math+p1-e nglish; p1-average=p1-sum/
12、3;return(p1);void search(book *head)int k;long num;char n ame10;if(n=0)pri ntf(数据库为空,没有图书的记录!n);return;else返回上:);doprin tf(1.按书号查找2. 按书名查找 0.级 n);printf(请选择:);sca nf(%d,&k);switch(k)case 1:doprintf(书号(输入0时跳出按书号查找)scan f(%ld,&n um);if(num=0)break;elseif(n um0)nu msearch(head ,nu m);elseprintf(输入错误,请重
13、新选择! n);while(1);break;case 2:doprintf(书名(输入0时跳出按书名查找):);scan f(%s, name);printf(书号t书名t类别t存期t章数t页数t阅读次数t总次数t平均次数n);n amesearch(head, name);while(strcmp( name,0)!=0);break;case 0:break; default:pri ntf(输入错误,请重新选择!n);while(k!=0);void nu msearch(book *head,l ong num)book *p1;p仁head;while(p1!=NULL)if(nu
14、m=p1- nu mber)printf(书号t书名t类别t存期t章数t页数t阅读次数t总次数t平均次数n);prin tf(%ldt%st%st%dt%.1ft%.1ft%.1ft%.1ft%.1fn,p1- nu mber,p1-n ame,p1-sex,p1-age,p1-ch in ese,p1-math,p1-e nglish,p1-sum,p1- average);return;p1=p1- n ext;printf(没有找到你要查找的图书信息!n);void n amesearch(book *head,char n ame)nt a=1;book *p1;p仁head;whil
15、e(p1!=NULL)if(strcmp( name,p1- n ame)=0)prin tf(%ldt%st%st%dt%.1ft%.1ft%.1ft%.1ft%.1fn,p1- nu mber,p1-n ame,p1-sex,p1-age,p1-ch in ese,p1-math,p1-e nglish,p1-sum,p1- average);a=O;p1=p1- n ext;f(a)printf(没有找到你要查找的图书信息!n);book *cha nges(book *head)book *p1;int k;long num;doprintf(1. 修改 2. 删除 3. 插入 0.
16、返回上一级n); printf( 请选择:);sca nf(%d,&k);switch(k)case 1:do if(n=0)printf(数据库为空,没有图书的记录!n);break;elseprintf(请输入图书的书号(书号应为整数,输入0时跳出修改数据):);scan f(%ld,&n um); if(num=0)break;elseif(n um0) head=modify(head, nu m);elseprintf(书号不能为负数,请重新输入!n);while(1);break;case 2:doif(n=0)pri ntf(数据库为空,没有图书信息!n);break;elsep
17、rintf(请输入要删除的图书的书号(书号应为整数,输入 0时跳出删除元素):);sca nf(%ld,&nu m); if(num=0)break; elseif(num 0)head=del(head ,nu m);elseprintf(书号不能为负数,请重新输入!n);while(1);break;case 3:pri ntf(请输入图书信息!n);p仁(book *)malloc(LEN);p1= in put(head,p1);while(p1- nu mber!=0)head=in sert(head,p1);prin t(head);prin tf(请输入图书信息! n);p仁(
18、book *)malloc(LEN);p1= in put(head,p1); |break;case 0:break;default:pri ntf(输入错误,请重新输入! n);while(k!=0);return(head);void sort(book *head)nt k;if(n=0)pri ntf(数据库为空,没有图书记录!n);return;doprin tf(1.按书号排序2.按总次数和平均次数排序3.按章数成绩排序4.按页数排序5.按阅读次数排序0.返回上一级n);printf(请选择:);sca nf(%d,&k);switch(k) Icase 1:pri nt(hea
19、d);break;case 2:total_average_sort(head);break;case 3:ch in ese_sort(head);break;case 4:math_sort(head);break;case 5:e nglish_sort(head);break;case 0:break;default:pri ntf(输入错误,请重新输入!n);while(k!=0);宀 LdunsALdxfs=6UXLdeLUALda)seuzOALda)6eALdl LdH0da)s uzOALdHxelu)(lv s UZOA Ldososxelu 八s UZOA Ld)七(X
20、UALdH L2 Lprpe UH Ld)04oHxelu GOP一 -(=51$?fr 乍報总症、8乍報w乍隸te乍m粼乍媒r乍叩r=)七dL+土 LdunsALdxfs=6UXLdeLUALda)seuzOALda)6eALdlLdH0d -LunsALdHxelu )(IVLUnsA LdososxeLUALUnsA Ld)七 (X UALdH L2 Lprpe UH Ld)04oHxelu )op_(=u$?fr 乍報总症、乍報总|厘乍報皑 乍報冊 乍隸肚Igllml絲乍媒严 乍呼r=)七UKToeHwxelu 苍0匸 O也-U 一Zd*-Ld* |ooq(pe 一I* looq)七
21、OS 6eeel-eol powhile(j n ext)if(p1-mathmax&p1-mathmath;p2=p1;k=max;for(p1=p2;p1;p1=p1- n ext)if(p1-math=max)prin tf(%ldt%st%st%dt%.1ft%.1ft%.1ft%.1ft%.1fn,p1- nu mber,p1-n ame,p1-sex,p1-age,p1-ch in ese,p1-math,p1-e nglish,p1-sum,p1- average);j+;while(j n ext)if(p1-e nglishmax&p1-e nglishe nglish;p2
22、=p1;k=max;for(p1=p2;p1;p1=p1- n ext)if(p1-e nglish=max)prin tf(%ldt%st%st%dt%.1ft%.1ft%.1ft%.1ft%.1fn,p1- nu mber,p1-n ame,p1-sex,p1-age,p1-ch in ese,p1-math,p1-e nglish,p1-sum,p1-average);j+;while(j nu mber=num)break;p1=p1- n ext;if(p1- nu mber=num)doprin tf(1.书名2.类别3.存期4.章数成绩5.页数6阅读次数 0.返回上一级n);pr
23、intf(请选择:);scan f(%d,&k);switch(k)修改成功!重新输入!case1:printf(书名:);scanf(%s,p1-name);printf(n);break;case 2:loop2:printf(类别:1.文科 2. 理科n);printf(请选择类别:);sca nf(%d,&m);switch(m)case 1:strcpy(p1-sex,case 2:strcpy(p1-sex, default:pri ntf(n);goto loop2;IIII文科);break;理科);break;类别只能是“文科”或“理科”,请printf(修改成功! n);b
24、reak;case 3:pri ntf(存期:);sca nf(%d,&p1-age);while(p1-ageage120)prin tf(你输入的存期不符合实际情况,请重新输入! n);printf(存期:);sca nf(%d,&p1-age);printf(”修改成功! n);break;case 4:printf(章数成绩:);sea nf(%f,&p1-chi nese);while(p1-chi nesechi nese100)printf(你输入的章数成绩不符合实际情况,请重新输入! n);printf(章数成绩:);sca nf(%f,&p1-chi nese);p1-sum
25、=p1-chi nese+p1-math+p1-e nglish; p1-average=p1-sum/3;printf(修改成功! n);break;case 5:pri ntf(页数:);sca nf(%f,&p1-math);while(p1-mathmath100)printf(你输入的页数不符合实际情况,请重新输入!n);prin tf(页数:);sca nf(%f,&p1-math);p1-sum=p1-chi nese+p1-math+p1-e nglish; p1-average=p1-sum/3;printf(修改成功! n);break;case 6:printf(阅读次数
26、:);sca nf(%f,&p1-e nglish);while(p1-e nglishe nglish100)printf(年输入的阅读次数不符合实际情况,请重新输入!n);printf(阅读次数:);sca nf(%f,&p1-e nglish);p1-sum=p1-chi nese+p1-math+p1-e nglish;p1-average=p1-sum/3;printf(修改成功! n);break;case 0:break;default:pri ntf(输入错误,请重新选择! n);while(k!=0);elseprintf(没有找到你要修改的图书的信息!n);return(h
27、ead);book *del(book *head,l ong num)book *p1,*p2;if(head=NULL)pri ntf(数据库为空,没有图书记录!n);gotoen d;p仁head;while( nu m!=p1- nu mber&p1- next!=NULL)p2=p1;p1=p1- n ext;if(num=p1- nu mber)if(p1=head)head=p1- next;pri ntf(删除成功! n);else p2- next=p1- next;pri ntf(删除成功! n);n=n-1;else printf(没有找到你要删除的图书信息!n,n um
28、);en d:;return(head);book *in sert(book *head,book *stud)book *p0,*p1,*p2;p仁head;p0=stud;if(head=NULL)head=p0;p0- next=NULL;elsewhile(p0- nu mberp1- nu mber)&( p1- next!=NULL)p2=p1;p1=p1- n ext;if(p0-nu mbernu mber)if(head=p1)head=p0;else p2-n ext=p0;p0-n ext=p1;elsep1- next=p0;p0- next=NULL;n=n+1;r
29、eturn(head);void Statistics(book *head) |book *p1;int i,c=0,m=0,e=0;float cmax=0,mmax=0,emax=0,summax=0,averagemax=0; p仁head;for(i=1;ich in ese=cmax) cmax=p1-ch in ese;if(p1-math=mmax) mmax=p1-math;if(p1-e nglish=emax)emax=p1-e nglish;if(p1-sum=summax)summax=p1-sum;if(p1-average=averagemax) averagem
30、ax=p1-average;if(p1-chi nesemathe nglishn ext; printf(总成绩最高分:5.1fn,summax);printf(平成绩最高分:%5.1fn,averagemax);printf(章数最多:%5.1fn,cmax);printf(页数最高分:%5.1fn,mmax);printf(阅读次数最多:%5.1fn,emax);printf(章数最少:%dn,c);printf(页数最少:%dn,m);printf(阅读次数最少:%dn,e);prin tf(n); IZvoid prin t(book *head)book *p1;printf(n现
31、在的d个图书记录为:n,n);p1=head;if(head!=NULL) Iprintf(书号t书名t类别t存期t章数t页数t阅读次数t总次数t平均次数n);do prin tf(%ldt%st%st%dt%.1ft%.1ft%.1ft%.1ft%.1fn,p1- nu mber,p1-n ame,p1-sex,p1-age,p1-ch in ese,p1-math,p1-e nglish,p1-sum,p1- average);p1=p1- n ext; while(p1!=NULL);void mai n()int choice; book *head;do/* 打印表头*/*n);tf
32、(A AAAAAAAAAAjA A A欢迎来到图书成绩管理系统!AAAAAAAAAAAAA An);printf(n);printf(图书成绩管理系统的基本功能n);printf(1.新建;n);printf(2.查找;n);printf(3.更新;n);printf(4.排序;n);printf(5.统计;n);printf(6.显示;n);printf(0.跳出;n);printf(n);printf(*printf(按键选择,回车确定!n);printf(n);An);请选择:);/*提示用户选择操作功能*/printf(prin tf(,A aaaaaaaaaaaaaaaaaaaaaaaaaaa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度物联网项目开发与实施合同
- 2024年度安居房建设项目工程设计合同
- 2024年度文化遗产保护拆除施工合同
- 2024年度物联网技术仓储应用合同
- 2024年度成都物业公司合作开发合同
- 吉林省长春市力旺实验初级中学2024-2025学年八年级上学期期中历史试题
- 2024年度影视制作合同费用与分成
- 2024年遂宁道路客运从业资格证模拟考试
- 《城建城管执法培训》课件
- 2024年度玩具设计与代加工合同
- 痔疮治疗制剂产业链招商引资的调研报告
- 2024-2030年中国财务公司行业深度调研及发展前景展望报告
- DB1506-T 56-2024高品质住宅小区评价标准1106
- 医用磁共振成像MRI装置市场发展预测和趋势分析
- 市政道路提升改造工程投标文件(技术方案)
- 期中 (试题) -2024-2025学年人教PEP版英语六年级上册
- 篮球社团教案
- 【初中地理】第一章地球综合训练卷 2024-2025学年人教版地理七年级上册
- 大学生职业生涯规划成品
- 跟着音乐去旅行智慧树知到期末考试答案章节答案2024年浙江旅游职业学院
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
评论
0/150
提交评论