程序设计综合训练(优秀篇)_第1页
程序设计综合训练(优秀篇)_第2页
程序设计综合训练(优秀篇)_第3页
程序设计综合训练(优秀篇)_第4页
程序设计综合训练(优秀篇)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上程序设计综合训练设计报告专 业: 班 级: 学 号: 姓名: 指导教师:成绩: 计算机工程学院 2012年10月(1)题目名称、内容课程管理系统假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计学生选修课程系统,使之能提供以下功能:1、课程信息录入功能(课程信息用文件保存,也可不用) 2、课程信息浏览功能3、排序:按课程编号排序4、查询功能:按课程性质查询5、课程修改、删除(任选一项)(2)解题的基本思路主函数选择需要处理的功能,分别再写出课程录入自定义函

2、数、课程浏览自定义函数、课程排序自定义函数、课程查询自定义函数、课程删除自定义函数。 (3)设计方案该系统包括数据录入、浏览、排序、删除、查询功能模块,每个模块在程序系统中用一个自定义函数来实现,如图:Main函数输入1调用课程录入自定义函数输入2调用课程浏览自定义函数输入3调用课程排序自定义函数输入4调用课程查询自定义函数输入5调用课程删除自定义函数输入6退出系统主函数:Choice=0Choice!=0输出各种提示语句给choice赋值 1 2 3 4 5 6 其它清屏 真choice输出“重新选择”退出循环调用Shanchu()自定义函数调用Find()自定义函数调用Paixu()自定义

3、函数调用Liulan()自定义函数调用Luru()自定义函数luru()(录入信息)i=subject(全局变量)输出各种提示和对应的输入Subject自增加1 liulan()(浏览信息) 假 真 iSubject!=0 输出提示语句 假 真 真i=0ikechi+1.num 假 kechi与kechi+1 里的所有值交换for i=0 to subject-1输出各值 find()(课程名称查找相应的信息)输入要查询的课程名称name1for i=0 to subject-1 真 name1里的值= 假 输出kechi里的所有值 返回i返回-1shanchu()(删除对

4、象)调用find()自定义函数,值赋给k k!= -1 真 假 for i=k to subject-2kechi+1里的值对应的赋值给kechi 输出没有这门课程subject自减1(4)程序调试 1、出现的问题解决方法:仔细检查,不时地加入输出语句。 2、出现的问题没有了信息提示。解决方法:将主函数中的信息提示调到循环体。3.出现的问题选择处理功能后感觉信息太多没有清屏。解决方法:加入了清屏功能的自定义函数。(5)测试课程录入课程浏览课程排序课程查询课程删除系统退出(6)总结当看到这系统之前,感觉这是一个不可能完成的作业,系统艾,多高档的东西啊,但等我坐下来认真分析时,才发现这系统并没有想

5、象中的那么难,也是由我们平时做的简单程序段组成的。虽然程序段简单但也有些细节性错误搞得我头大,弄得我一度想放弃。这系统花了我不少时间,编系统的过程让我很带劲儿,感觉回到了高中,但回想起来总觉得缺少了些什么没有让我脑子里充满色彩,这提醒到我我不适合做程序员,这是我第一次编系统可能也是最后一次吧。不过通过这次编系统有几点还是要必须肯定的:这次实训让我对之前一窍不通的结构体有了一定的了解大事也是由小事组成编程让我更会思考问题细节决定成败虚心向别人求教。总之,当自己做完这课程管理系统,我感觉非常充实,途中虽然有时候感觉有点茫然,有点累,但我觉得收获是巨大的,并且在以后的学习生活中也用得到,所以感觉很欣

6、慰,很有成就感。当然我能有这么好的收获很大程度上还是首先因为我们有非常优秀的陈老师,她花了自己工作以外的时间给我们讲结构体和链表(算然我这次编系统没有用到链表,但在考试的时候起了非常大的用处),其次是高中就有了良好的基础,我心中充满了感激之情,无法用言语表达,感谢您,陈老师!您辛苦了! 祝您身体健康,事业有成,万事如意!(7)附录#include#include#define N 100struct kech /*定义结构体*/char name10; /*课程名称*/char xz20; /*课程性质*/int num; /*课程编号*/int zxs; /*总学时*/int jsxs; /

7、*授课学时*/int syxs; /*实验学时*/int sjxs; /*上机学时*/int score; /*学分*/int xq; /*开课学期*/kechN; int subject=0;void luru() /*录入课程信息*/int i=subject;printf(/*请输入课程信息*/n);printf(课程编号:); /*输入课程编号*/scanf(%d,&kechi.num); printf(课程名称:); /*输入课程名称*/scanf(%s,);printf(课程性质:); /*输入课程性质*/scanf(%s,kechi.xz);printf(总学

8、时:); /*输入总学时 */scanf(%d,&kechi.zxs);printf(授课学时:); /*输入授课学时*/scanf(%d,&kechi.jsxs);printf(实验学时:); /*输入实验学时*/scanf(%d,&kechi.syxs);printf(上机学时:); /*输入上机学时*/scanf(%d,&kechi.sjxs);printf(学分:); /*输入学分*/scanf(%d,&kechi.score);printf(开课学期:); /*输入开课学期*/scanf(%d,&kechi.xq); subject+;void liulan() /*浏览课程信息*/

9、 int i;if (subject!=0)printf(n 课程编号 课程名称 课程性质 总学时 授课学时 实验学时 上机学时 学分 开课学期n); /*输出信息*/for(i=0;isubject;i+)printf( %6d %6s %6s %4d %6d %6d %6d %2d %6d n,kechi.num,,kechi.xz,kechi.zxs,kechi.jsxs,kechi.syxs,kechi.sjxs,kechi.score,kechi.xq);elseprintf(没有数据);void paixu() /*按课程编号排序*/int i,j;int t7

10、;char a20;for(j=0;jsubject-1;j+) /*冒泡法由小到大排序*/for(i=0;ikechi+1.num)t0=kechi.num; /*交换课程编号*/kechi.num=kechi+1.num;kechi+1.num=t0;strcpy(a,); /*交换课程名称*/strcpy(,kechi+1.name);strcpy(kechi+1.name,a);strcpy(a,kechi.xz); /*交换课程性质*/strcpy(kechi.xz,kechi+1.xz);strcpy(kechi+1.xz,a); t1=ke

11、chi.zxs; /*交换总学时*/kechi.zxs=kechi+1.zxs;kechi+1.zxs=t1;t2=kechi.jsxs; /*交换授课学时*/kechi.jsxs=kechi+1.jsxs;kechi+1.jsxs=t2;t3=kechi.sjxs; /*交换实验学时*/kechi.sjxs=kechi+1.sjxs;kechi+1.sjxs=t3;t4=kechi.syxs; /*交换上机学时*/kechi.syxs=kechi+1.syxs;kechi+1.syxs=t4;t5=kechi.score; /*交换学分*/kechi.score=kechi+1.score;

12、kechi+1.score=t5;t6=kechi.xq; /*交换开课学期*/kechi.xq=kechi+1.xq;kechi+1.xq=t6;printf(按学期排序n);printf( 课程编号 课程名称 课程性质 总学时 授课学时 实验学时 上机学时 学分 开课学期n); /*输出交换后的课程信息*/for(i=0;isubject;i+)printf( %6d %6s %6s %4d %6d %6d %6d %2d %6d n,kechi.num,,kechi.xz,kechi.zxs,kechi.jsxs,kechi.syxs,kechi.sjxs,kechi

13、.score,kechi.xq);int find() /* 查找功能*/int i;char name110;printf(请输入要查询/删除的课程名称:);scanf(%s,name1); for(i=0;isubject;i+) /*需查询的课程信息输出*/if(strcmp(name1,)=0)printf(n 课程编号 课程名称 课程性质 总学时 授课学时 实验学时 上机学时 学分 开课学期n);printf( %6d %6s %6s %4d %6d %6d %6d %2d %6d n,kechi.num,,kechi.xz,kechi.zxs

14、,kechi.jsxs,kechi.syxs,kechi.sjxs,kechi.score,kechi.xq);return i;return -1;void shanchu()int i;int k=find();if (k!=-1)for (i=k;isubject-1;i+)strcpy(,kechi+1.name);strcpy(kechi.xz,kechi+1.xz);kechi.num=kechi+1.num;kechi.zxs=kechi+1.zxs;kechi.jsxs=kechi+1.jsxs;kechi.syxs=kechi+1.syxs;kechi.s

15、jxs=kechi+1.sjxs;kechi.score=kechi+1.score;kechi.xq=kechi+1.xq;subject-;printf(/*删除成功*/);elseprintf(/*没有这个课程名称*/);void ScreenClear() system(pause);system(cls);void main()int choice=0;while(choice!=6)printf(/*欢迎使用本系统,请根据需要进行操作!*/n);printf(/*主菜单*/n);printf(1.课程录入n);printf(2.课程浏览n);printf(3.课程排序n);printf(4.课程查询n);printf(5.课程删除n);printf(6.系统退

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论