《C程序设计课程设计模板A.docx》由会员分享,可在线阅读,更多相关《C程序设计课程设计模板A.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计(论文)任务书 轨道交通 学院 轨道交通信号 专业 20141 班 一、课程设计(论文)题目 小学生测验系统 二、课程设计(论文)工作自 2015 年 6 月 22 日起至 2015 年 6 月 28 日止。三、课程设计(论文) 地点: 计算中心 四、课程设计(论文)内容要求:1本课程设计的目的通过设计小学生测验系统程序,了解系统开发的需求分析、模块分解、编码测试、模块组装与整体调试的全过程,加深对C的理解与Visual C环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。 2课程设计的任务及要求(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超
2、出12年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 2)创新要求: 扩展:(1)测试时不能有重题。3)课程设计论文编写要求(1)要按照书稿的规格打印誊写课程设计论文(2)设计论
3、文装订按学校的统一要求完成4)课程设计进度安排第一天布置任务及分组、总体需求分析与讨论、查找资料;第二天 总体设计、模块划分,类的设计第三天 各功能模块(或函数)的具体实现;第四天各模块的调试与修改、系统组装并完善;第五天撰写课程设计报告,课程设计检查与答辩学生签名: 2015年6月 28日课程设计(论文)评审意见(1)任务完成情况:优()、良()、中()、一般()、差();(2)工作量饱满 :优()、良()、中()、一般()、差();(3)创新能力 :优()、良()、中()、一般()、差();(4)论文规范 :优()、良()、中()、一般()、差();(5)回答问题 :优()、良()、中()
4、、一般()、差(); 综合评定等级 :优()、良()、中()、及格()、不及格()评阅人: 曾辉 职称: 副教授 2015年 6 月28 日华东交通大学课程设计报告目录一、功能要求1二、开发环境2三、程序分析3四、程序详细内容5五、运行结果12六、课程设计心得14一、 功能要求(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超出12年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输
5、入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 扩展:(1)测试时不能有重题。*/二、开发环境1. 操作系统:Windows 72. 开发平台的名称及版本:Microsoft Visual C+ 6.0三、程序分析结束输出得分10分0分5分7分是是是否否否三次答对二次答对一次答对介绍Main函数开始1.主要流程图 2.课程设计思想 首先需要生成10道题目,而题目则由数字组成,首先我们要生成一个数,这个数在05
6、0,然后需要的选择到底运行加法还是减法,同样,用随机生成数(限制为0和1),如果生成0则作加法,如果生成1则作减法。之后再生成一个050的数。这样利用程序,就可以生成一道题。之后,再分析,如果两个数相加大于50,则重新生成。如果两个数相减小于0,同样重新生成。接下来,就是判断学生的答题。首先,第一次答对直接拿10分,跳入下一题。第一次答错,提示还有两次机会,提示重新作答。第二次答对得7分,进入下一题。若第二次答错,提示还有一次机会,并重新作答。第三次答对得5分,进入下一题。若第三次答错,显示正确答案,并进入下一题。所以我写一个判断答案的程序,首先如果答对且次数小于等于3则返回0值,并加分。如果
7、次数小于3且答案不正确,则提示还有多少次机会,并重新作答,返回1值。如果次数为3且答案不正确,则返回2值。然后在主函数中,判断返回值。当返回值为1时,则继续执行判断程序。若返回值为其他,则跳入下一步。之后,每显示1题则tishu增加1.循环至tishu=10跳出循环。完成整次测试。为了让系统检测到是否出现重复的题目,虽然概率很小,但是,也是有可能的,所以,我的想法是,每生成了一道符合要求的题目就将题目储存起来,然后将之后生成的题目与储存起来的题目一一比对(这里的题目比对也就是将之前每题随机生成的数进行比对)。如果有重复,同样重新出题,再一一比对。这样,就可以避免系统出现重复的题目。 四、程序详
8、细内容#include #include /随机数的头文件#include /int score;/分数int cishu=0;/次数int answer;/答案int SJ_1;/随机数1int SJ_2;/随机数2int SJ_op;/随机符号int in_answer;/输入的答案int tishu=0;/题号int a101010;void create_test()/创建题目srand(unsigned(time(0);SJ_op=rand()%2; /随机生成01的整数if(SJ_op=0) /当随机符号为0时, 做加法SJ_1=rand()%50; /随机生成049的整数 SJ_
9、2=rand()%50;answer=SJ_1+SJ_2;while(answer50) /两数相加大于50,则重新随机生成SJ_1=rand()%50;SJ_2=rand()%50;answer=SJ_1+SJ_2;if(SJ_op=1)SJ_1=rand()%50; /随机生成049的整数 SJ_2=rand()%50;answer=SJ_1-SJ_2;while(answer0;tishu-)while(a00tishu-1=SJ_1&a0tishu-10=SJ_2&atishu-100=SJ_op) create_test(); tishu=b;void display_test()/
10、显示题目if(SJ_op=0)cout *第tishu题* endlSJ_1+SJ_2=;if(SJ_op=1)cout *第tishu题* endlSJ_1-SJ_2in_answer;cishu+;if(answer=in_answer) /如果正确则判断是第几次答对。cout答案正确endl;switch(cishu)case 1:score+=10;break; case 2:score+=7;break;case 3:score+=5;break;cout 目前得分:scoreendl;return 0; /返回值 用来判断是否进入下一题else if(cishu3) /在答题次数在
11、3次以内 可以继续答题cout答案错误,请重新输入答案endl;cout你还有3-cishu次机会endl;return 1;else if(cishu=3) /第三次还错了 则没机会了cout机会用完了,正确答案是answerendlendl 目前得分scoreendl=90)cout 最终成绩score SMARTendl;if(score=80)cout 最终成绩score GOODendl;if(score=70)cout 最终成绩score OKendl;if(score=60)cout 最终成绩score PASSendl;if(score60)cout 最终成绩score TRY
12、 AGAINendl;void main()int a;tishu+;cout* 信控1班 * 23号 * 陈裕根 *endlendl;cout* 小学生测验系统 *endlendl;cout系统介绍:endl;cout 系统共10道题,每题有3次回答机会。若第一次回答正确得10分,第二次则7分,第三次则5分,否则不得分。endl;coutendl 开始答题 endl;while(tishu=2)check_create_test();tishu+;cishu=0;display_score();五、运行结果六、课程设计心得这次课设使我收益很多,从开始学习C+开始,我学了一个学期,我并不知道我
13、学了些什么东西。对于老师给的程序题,大多数都是为了某一个知识点而给出的题目。这次的课设,得以把以前学的凌乱知识点综合应用起来,对C+编程也有了更深一步的体会,同时感到综合运用知识还有一定的苦难,发现自己有一些基础知识还不够扎实,需要勤加练习,加强记忆。在一周的编程中,我学到了很多,平时学习不注意细节,在这次编程中深切体会到它的重要性。对编程中错误的自我修正,增强了自我调试程序,解决问题的能力。总之,本次课设为我们提供了一个检测学习,锻炼能力,认识不足的平台,很高兴会有这样一个机会锻炼自我。虽然本次课设的功能不多,但是我们所学的基础知识还是全部用上了。实现的功能也在比较低的层次,但是我们现在需要
14、循序渐进,慢慢的学习更深的内容,然后再进一步了解学习。再做出更好的程序,以供他人使用。C+面向对象程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本填补了这一领域的空白,同时用铁的事实强有力的告诉用户;C+面向对象程序设计语言作为计算机语言家族的新生事物,其发展前景是极为广阔的。经过一个学期对C+程序设计的学习,我们学习了理论知识,了解了其语言的设计思想,这些知识都是为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了我们进一步的掌握和应用它。同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。在编写程序的时候,我发现细心是尤为重要的一点,很多时候,我们掌握的知识,能够很好完成一些东西,但是由于我们的粗心,我们会将好多东西搞砸,所以细心在很多时候就显现了他的价值。第 14 页