您好,欢迎访问三七文档
课程设计报告课程名称《C语言程序设计》课题名称心算抢答系统专业计算机科技与技术班级计算机1202班学号29号姓名陈润同指导教师李珍辉陈华光李杰君2013年7月1日湖南工程学院课程设计任务书课程名称《C语言程序设计》课题心算抢答系统专业班级计算机1202班学生姓名陈润同学号29号指导老师李珍辉陈华光李杰君审批任务下达日期2013年6月15日任务完成日期2013年7月1日一、设计内容与设计要求1.课程设计目的:全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。2.课题题目⑴班级成绩管理系统⑵班级档案管理系统⑶飞机订票系统⑷猜数字游戏⑸电子英汉词典设计⑹心算抢答系统⑺运动会分数统计系统⑻小学生心算CAI系统3.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。具体要求如下:⑴设计课题题目:每位同学根据自己学号除以8所得的余数加一选择相应题号的课题。原则上不予换提,私自换题者不记成绩。⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。③完成系统详细设计:包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。④调试分析、设计体会、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。⑤关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。二、进度安排第20周星期一8:30——11:30星期二8:30——11:30星期四8:30——11:30星期五8:30——11:30任务书设计课题六:心算抢答系统一、问题描述:适用于小学生数学心算抢答赛。比赛题型分为两种:“四则简单运算”和“四则混合运算”,计算机随机出题,选手抢答。要求进入每种题型比赛时,计算机均有提示,每队的记分窗口随得分情况而更新。二、功能描述:1、显示如下画面:2、举办单位确定参赛的队数,每队分配一个记分窗口,底分均为100分。1、比赛题型分为两种:“四则简单运算”(N道题)和“四则混合运算”(M道题),N、M由举办单位确定,计算机随机出题,先出“四则简单运算”题,每出一道,选手抢答,做对一题加5分,做错一题减5分。后出“四则混合运算”,做对一题加10分,做错一题减10分。要求进入每种题型比赛时,计算机均有提示,每队的记分窗口随得分情况而更新。2、根据最后总分,由高到低宣布比赛名次,按任意键退出比赛系统。3、要求整个设计以人为本,用户界面友好。三、算法提示:1、用简单的程序设计方法2、一定的窗口设计技巧3、简单的数据类型四、测试数据:利用随机函数产生欢迎参加小学生心算抢答赛按任意键开始比赛五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。如底分的设置、每种类型题目的加、减分的多少均可由举办方设定。目录1.系统需求分析..............................................................................................................12.总体设计......................................................................................................................13.详细设计......................................................................................................................14.系统调试......................................................................................................................25.结果分析......................................................................................................................66.总结..............................................................................................................................6附录:源程序清单湖南工程学院课程设计报告11、系统需求分析设计题目:《心算抢答系统》用户需求:本系统适用于小学生数学心算抢答赛。设计目标:帮助老师进行小学生数学心算抢答赛,优化老师的工作。系统功能:本系统的比赛题型分为两种:“四则简单运算”和“四则混合运算”,每类型由计算机随机出题,选手进行抢答。要求进入每种题型比赛时,计算机均有提示,每队的记分窗口随得分情况而更新。2、总体设计1.系统功能分析:整个函数除了主函数main()外,另外还有两个被调函数sim()和mix(),本函数实现三大功能:四则简单运算功能、四则混合运算功能、从高分到低分的排序功能。2.系统功能模块划分与设计:主函数main():调用sim()和mix();四则简单运算函数sim():进行四则简单运算抢答;四则混合运算函数mix():进行四则混合运算抢答;3、详细设计1:主函数main()利用scanf()函数输入第一轮和第二轮抢答的次数n和m。2:四则简单运算函数sim()此函数通过随机数和加,减,乘,除,实现四则简单运算。算法:先初始化随机数发生器,得到两个随机数,再利用switch函数选择要进行的运算。N-S流程图如下:湖南工程学院课程设计报告23:四则混合运算函数mix()此函数通过随机数和加,减,乘,除,实现四则简单运算。算法:先初始化随机数发生器,得到四个随机数,再利用switch函数选择要进行的运算。N-S流程图如下:4、系统调试(1)先进入欢迎界面后,根据提示分别输入第一轮的次数,和第二轮的次数。srand(unsigned)time(NULL)num1=rand()num2=rand()num3=rand()num4=rand()switch(stpy)case1:printf()srand(unsigned)time(NULL)num1=rand()num2=rand()stpy=rand()%4+1case2:printf()stpy=rand()%4+1switch(stpy)case1:printf()case2:printf()case3:printf()case4:printf()return(s)case3:printf()case3:printf()return(t)湖南工程学院课程设计报告3(2)当输入了次数后,先运行的是简单运算,先输入参赛队伍,再输入答案,如果答案正确则给相应的队伍加分,当错误时,则扣分并对各队进行输出。湖南工程学院课程设计报告4(3)当简单运算结束后,出现混合运算的提示,与简单运算的方法一样。湖南工程学院课程设计报告5(4)在抢答结束后应该会出现各队的得分,并自动对其进行排序。(5)退出界面显示。湖南工程学院课程设计报告6(6)注意要按要求输入数字和字母,否则会得到错误的信息。5、结果分析特点:本程序可以较好的运行,并且界面显示比较友好,比较适合应用于小学生的心算抢答赛,可以有效的减少老师工作量,明显提高老师的工作效率;除此之外,本程序支持多队学生的比赛,只要在程序的开头将”#defineN3”中的“3”进行改变即可,所以说,该程序有较强的适应性能。可以实现对底分的设置、每种类型题目的加、减分的多少均由举办方设定的意图。缺点:本程序在进行除法运算时,无法根据小学生的实际情况进行比较人性化的出题,只能是要求小学生计算两个数的取商运算。6、总结以前在学习C时以为C就只是一个简单的编程工具,而通过这次课程设计,我才发觉自己看到的不过只是冰山的一角,而现在我越加的了解到C的丰富多彩,也越来越惊艳于她的美丽。回想设计之初,在刚拿到题目时,我自己便把程序应该有的功能模块全一一列好,以求快速将程序编好,但第一次运行便以失败而告终,很多功能无法连接在一起而得以体现。类似于排名和返回的功能在多次改进后还是无法实现。最终还是在同学的帮助下才得以解决。所以我总结出:有时不是凭自己一个人能够完成的,而是需要大家的合作。再者,由于敲击键盘时的马虎和思路上的不严谨而使设计常常进展缓慢,之后在不断改进的过程中,我的思维开始严谨,思路开始清晰明确起来。而通过这次设计,我也掌湖南工程学院课程设计报告7握了很多的程序设计方法与技巧,同时在思考问题方面也变得更加严谨。此外,在课程设计中,我充分体会到自学的重要作用,若不去自己查找资料自学,很多函数是无法理解并得以较好运用的,而对于我这样的C语言新手来说,自学就显得格外的重要了。总之,C语言是一门很有实际作用且需要投入大量精力的知识,因此我必须掌握好C语言,多多实践方能知己不足,补己之短。对待其他知识也应该如此。湖南工程学院课程设计报告8附录:源程序清单:#include“stdio.h”#include“stdlib.h”#include“time.h”#defineN3intmain(){intsim();intmix();structTeam{charname;intscore;}team[N];structTeamtemp;inti,j,p,t,k,n,m;intresult1,answer1,result2,answer2;charch1,ch2;printf(***********************\n);printf(**\n);printf(**\n);printf(*welcomejioninthiscompetition!*\n);printf(**\n);湖南工程学院课程设计报告9printf(**\n);printf(***********************\n);for(i=0,j=65;iN;i++,j++){team[i].name=j;team[i].score=100;}printf(\n\n\n\n);printf(inputsimplecountnumbern:);scanf(%d,&n);/*输入第一轮的次数*/printf(\ninputmixcountnumberm:);scanf(%d,&m);/*输入第二轮的次数*/printf(\n);system(pause);printf(Thefirstturnbegain!\n);printf(Thefirstturn.\n);printf(Thisissimplecount.\n);printf(Pleaselookatthequestion:\n);for(p=0;pn;p++){result1=sim();printf(Pleaseinputoneteamname(A,B,C...):);
本文标题:C语言心算抢答系统
链接地址:https://www.777doc.com/doc-2908921 .html