您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 程序设计综合训练(优秀篇)
程序设计综合训练报告《程序设计综合训练》设计报告专业:班级:学号:姓名:指导教师:成绩:计算机工程学院2012年10月程序设计综合训练报告(1)题目名称、内容课程管理系统假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计学生选修课程系统,使之能提供以下功能:1、课程信息录入功能(课程信息用文件保存,也可不用)2、课程信息浏览功能3、排序:按课程编号排序4、查询功能:按课程性质查询5、课程修改、删除(任选一项)(2)解题的基本思路主函数选择需要处理的功能,分别再写出课程录入自定义函数、课程浏览自定义函数、课程排序自定义函数、课程查询自定义函数、课程删除自定义函数。(3)设计方案该系统包括数据录入、浏览、排序、删除、查询功能模块,每个模块在程序系统中用一个自定义函数来实现,如图:主函数:Main函数输入1调用课程录入自定义函数输入2调用课程浏览自定义函数输入3调用课程排序自定义函数输入4调用课程查询自定义函数输入5调用课程删除自定义函数输入6退出系统Choice=0程序设计综合训练报告真luru()(录入信息)Choice!=0输出各种提示语句给choice赋值123456其它清屏choice调用Luru()自定义函数调用Liulan()自定义函数调用Paixu()自定义函数调用Find()自定义函数调用Shanchu()自定义函数退出循环输出“重新选择”i=subject(全局变量)输出各种提示和对应的输入Subject自增加1程序设计综合训练报告liulan()(浏览信息)i真真假真Subject!=0输出提示语句假真i=0isubject输出值i++输出没有数据无程序设计综合训练报告paixu()(按编号排序)find()(课程名称查找相应的信息)shanchu()(删除对象)forj=0tosubject-2fori=0tosubject-2-j真kech[i].numkech[i+1].num假kech[i]与kech[i+1]里的所有值交换fori=0tosubject-1输出各值输入要查询的课程名称name1fori=0tosubject-1真name1里的值=kech[i].name假输出kech[i]里的所有值返回i返回-1程序设计综合训练报告(4)程序调试1、出现的问题解决方法:仔细检查,不时地加入输出语句。2、出现的问题调用find()自定义函数,值赋给kk!=-1真假fori=ktosubject-2kech[i+1]里的值对应的赋值给kech[i]输出没有这门课程subject自减1程序设计综合训练报告没有了信息提示。解决方法:将主函数中的信息提示调到循环体。3.出现的问题选择处理功能后感觉信息太多没有清屏。解决方法:加入了清屏功能的自定义函数。程序设计综合训练报告(5)测试课程录入课程浏览课程排序程序设计综合训练报告课程查询课程删除程序设计综合训练报告系统退出程序设计综合训练报告(6)总结当看到这系统之前,感觉这是一个不可能完成的作业,系统艾,多高档的东西啊,但等我坐下来认真分析时,才发现这系统并没有想象中的那么难,也是由我们平时做的简单程序段组成的。虽然程序段简单但也有些细节性错误搞得我头大,弄得我一度想放弃。这系统花了我不少时间,编系统的过程让我很带劲儿,感觉回到了高中,但回想起来总觉得缺少了些什么没有让我脑子里充满色彩,这提醒到我我不适合做程序员,这是我第一次编系统可能也是最后一次吧。不过通过这次编系统有几点还是要必须肯定的:①这次实训让我对之前一窍不通的结构体有了一定的了解②大事也是由小事组成③编程让我更会思考问题④细节决定成败⑤虚心向别人求教。总之,当自己做完这课程管理系统,我感觉非常充实,途中虽然有时候感觉有点茫然,有点累,但我觉得收获是巨大的,并且在以后的学习生活中也用得到,所以感觉很欣慰,很有成就感。当然我能有这么好的收获很大程度上还是首先因为我们有非常优秀的陈老师,她花了自己工作以外的时间给我们讲结构体和链表(算然我这次编系统没有用到链表,但在考试的时候起了非常大的用处),其次是高中就有了良好的基础,我心中充满了感激之情,无法用言语表达,感谢您,陈老师!您辛苦了!祝您程序设计综合训练报告身体健康,事业有成,万事如意!(7)附录#includestdio.h#includestring.h#defineN100structkech/*定义结构体*/{charname[10];/*课程名称*/charxz[20];/*课程性质*/intnum;/*课程编号*/intzxs;/*总学时*/intjsxs;/*授课学时*/intsyxs;/*实验学时*/intsjxs;/*上机学时*/intscore;/*学分*/intxq;/*开课学期*/}kech[N];intsubject=0;voidluru()/*录入课程信息*/{inti=subject;printf(/******请输入课程信息******/\n);printf(课程编号:);/*输入课程编号*/scanf(%d,&kech[i].num);printf(课程名称:);/*输入课程名称*/scanf(%s,kech[i].name);printf(课程性质:);/*输入课程性质*/scanf(%s,kech[i].xz);printf(总学时:);/*输入总学时*/scanf(%d,&kech[i].zxs);printf(授课学时:);/*输入授课学时*/scanf(%d,&kech[i].jsxs);printf(实验学时:);/*输入实验学时*/scanf(%d,&kech[i].syxs);printf(上机学时:);/*输入上机学时*/scanf(%d,&kech[i].sjxs);程序设计综合训练报告printf(学分:);/*输入学分*/scanf(%d,&kech[i].score);printf(开课学期:);/*输入开课学期*/scanf(%d,&kech[i].xq);subject++;}voidliulan()/*浏览课程信息*/{inti;if(subject!=0){printf(\n课程编号课程名称课程性质总学时授课学时实验学时上机学时学分开课学期\n);/*输出信息*/for(i=0;isubject;i++){printf(%6d%6s%6s%4d%6d%6d%6d%2d%6d\n,kech[i].num,kech[i].name,kech[i].xz,kech[i].zxs,kech[i].jsxs,kech[i].syxs,kech[i].sjxs,kech[i].score,kech[i].xq);}}else{printf(没有数据);}}voidpaixu()/*按课程编号排序*/{inti,j;intt[7];chara[20];for(j=0;jsubject-1;j++)/*冒泡法由小到大排序*/for(i=0;isubject-1-j;i++)if(kech[i].numkech[i+1].num){t[0]=kech[i].num;/*交换课程编号*/kech[i].num=kech[i+1].num;kech[i+1].num=t[0];strcpy(a,kech[i].name);/*交换课程名称*/strcpy(kech[i].name,kech[i+1].name);strcpy(kech[i+1].name,a);strcpy(a,kech[i].xz);/*交换课程性质*/strcpy(kech[i].xz,kech[i+1].xz);strcpy(kech[i+1].xz,a);程序设计综合训练报告t[1]=kech[i].zxs;/*交换总学时*/kech[i].zxs=kech[i+1].zxs;kech[i+1].zxs=t[1];t[2]=kech[i].jsxs;/*交换授课学时*/kech[i].jsxs=kech[i+1].jsxs;kech[i+1].jsxs=t[2];t[3]=kech[i].sjxs;/*交换实验学时*/kech[i].sjxs=kech[i+1].sjxs;kech[i+1].sjxs=t[3];t[4]=kech[i].syxs;/*交换上机学时*/kech[i].syxs=kech[i+1].syxs;kech[i+1].syxs=t[4];t[5]=kech[i].score;/*交换学分*/kech[i].score=kech[i+1].score;kech[i+1].score=t[5];t[6]=kech[i].xq;/*交换开课学期*/kech[i].xq=kech[i+1].xq;kech[i+1].xq=t[6];}printf(按学期排序\n);printf(课程编号课程名称课程性质总学时授课学时实验学时上机学时学分开课学期\n);/*输出交换后的课程信息*/for(i=0;isubject;i++)printf(%6d%6s%6s%4d%6d%6d%6d%2d%6d\n,kech[i].num,kech[i].name,kech[i].xz,kech[i].zxs,kech[i].jsxs,kech[i].syxs,kech[i].sjxs,kech[i].score,kech[i].xq);}intfind()/*查找功能*/{inti;charname1[10];printf(请输入要查询/删除的课程名称:);scanf(%s,name1);for(i=0;isubject;i++)/*需查询的课程信息输出*/{if(strcmp(name1,kech[i].name)==0){printf(\n课程编号课程名称课程性质总学时授课学时实验学时上机学时学分开课学期\n);printf(%6d%6s%6s%4d%6d%6d%6d%2d%6d程序设计综合训练报告\n,kech[i].num,kech[i].name,kech[i].xz,kech[i].zxs,kech[i].jsxs,kech[i].syxs,kech[i].sjxs,kech[i].score,kech[i].xq);returni;}}return-1;}voidshanchu(){inti;intk=find();if(k!=-1){for(i=k;isubject-1;i++){strcpy(kech[i].name,kech[i+1].name);strcpy(kech[i].xz,kech[i+1].xz);kech[i].num=kech[i+1].num;kech[i].zxs=kech[i+1].zxs;kech[i].jsxs=kech[i+1].jsxs;kech[i].syxs=kech[i+1].syxs;kech[i].sjxs=kech[i+1].sjxs;kech[i].score=kech[i+1].score;kech[i].xq=kech[i+1].xq;}subject--;printf(/*******删除成功*******/);}else{printf(/*******没有这个课程名称*******/);}}voidScreenClear(){system(pause);system(cls);}voidmain(){intchoice=0;while(choice!=6){printf(/*************欢迎使用本系统,请根据需要进行操作!*************/\n);程序设计综合训练报告printf(/**********主菜单**********/\n);printf(1.课程录入\n);printf(2.课程浏览\n);printf(3.课程排序\n);printf(4.课程查询\n);printf(5.课程删
本文标题:程序设计综合训练(优秀篇)
链接地址:https://www.777doc.com/doc-5719219 .html