心算抢答Word格式文档下载.docx
《心算抢答Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《心算抢答Word格式文档下载.docx(25页珍藏版)》请在冰点文库上搜索。
并将课程设计报告与源程序存盘。
学习委员将课程设计报告与磁盘(缺一不可)收齐后交指导老师。
一、目的
全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、设计要求
掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
1.设计正确,方案合理。
2.界面友好,使用方便。
3.程序精炼,结构清晰。
4.设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
5.上机演示。
6.按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。
源程序及编译生成各文件均保存在软盘中;
7.按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。
并用A4的复印纸打印并装订;
8.在2007年3月24日之前,请各班学习委员收齐课程设计报告和源程序软盘交王颖老师,联系电话:
8883238。
三、基本情况
课程类别:
必修课
课程学分:
1学分
课程学时:
1周
课程对象:
机械设计制造及其自动:
0781、0782、0783、0784
四、时间安排
时间
任务
2008-7-3下午2:
30-4:
10
指导老师给学生布置课程设计的任务及要求
2008-7-7到2008-7-08
学生根据设计任务及要求,对系统进行需求分析、概要设计和详细设计,并在此基础上编写程序代码
学生提交系统程序清单初稿
上机调试程序
修改并完善程序并上机调试程序
2008-7-10
接受指导老师的验收
2008-7-11到2008-7-12
书写课程设计报告
提交课程设计报告
五、课程设计指导老师:
王颖
课程设计题目:
心算抢答系统
一、问题描述:
适用于小学生数学心算抢答赛。
比赛题型分为两种:
“四则简单运算”和“四则混合运算”,计算机随机出题,选手抢答。
要求进入每种题型比赛时,计算机均有提示,每队的记分窗口随得分情况而更新。
二、功能描述:
1、显示如下画面:
欢迎参加小学生心算抢答赛
按任意键开始比赛
2、举办单位确定参赛的队数,每队分配一个记分窗口,底分均为100分。
1、比赛题型分为两种:
“四则简单运算”(N道题)和“四则混合运算”(M道题),N、M由举办单位确定,计算机随机出题,先出“四则简单运算”题,每出一道,选手抢答,做对一题加5分,做错一题减5分。
后出“四则混合运算”,做对一题加10分,做错一题减10分。
2、根据最后总分,由高到低宣布比赛名次,按任意键退出比赛系统。
3、要求整个设计以人为本,用户界面友好。
三、算法提示:
1、用简单的程序设计方法
2、一定的窗口设计技巧
3、简单的数据类型
四、测试数据:
随机函数产生
五、其它:
对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
如底分的设置、每种类型题目的加、减分的多少均可由举办方设定。
课程设计报告规范
一、需求分析
1程序的功能
2方案的选定
二、概要设计
在需求分析的基础上,确定系统总体框架(系统功能结构图)。
三、详细设计
定义数据储存结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。
四、调试分析以及设计体会
1、测试数据:
准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。
2、程序调试中遇到的问题以及解决问题的方法。
3、课程设计过程经验教训、心得体会
五、使用说明
1、设计报告要求用A4纸打印成册:
2、标题和正文要求见附1
3、封面格式如下页。
六、使用说明
七、附录
1、参考书目
2、源程序清单(带注释)
附1:
●课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
●正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;
行距为22。
正文的内容:
一、课题的主要功能;
二、课题的功能模块的划分(要求画出模块图);
三、主要功能的实现(至少要有一个主要模块的流程图);
四、程序调试;
五、总结;
六、附件(所有程序的原代码,要求对程序写出必要的注释)。
●正文总字数要求在5000字以上(不含程序原代码)
前言
《C语言程序设计》课程设计是对学生的一种全面综合训练它括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。
为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。
学习委员将课程设计报告与磁盘收齐后交指导老师。
目录
课程设计主文档10
一、题目10
二、内容10
三、关键字:
10
四、概要设计10
五、详细设计11
相关的数据类型11
函数细说11
1.主函数main()11
2.四则简单运算函数simple()11
4.高低分排名函数exchange()12
六:
源程序函数清单:
15
七、调试分析19
八、心得体会19
九、参考资料20
十、评分21
课程设计主文档
一、题目
《小学生心算抢答系统》
二、内容
该系统是一个简单的小学生心算抢答系统。
同时也减少了老师的工作量。
整个系统除了主函数外,另外还有5个函数,实现三大功能:
四则简单运算功能、四则混合运算功能、从高分到低分排序功能等。
总体设计方案的选定:
程序的功能:
要实现心算抢答需要通过运用函数、编译语句、数据类型来实现。
由于是要随机出题,还要进行抢答功能,所以既要设定参赛队伍的结构体类型数组,还要进行随机数初始化。
以及数据的排序设计。
四、概要设计
程序的模块组成以及各个函数的功能:
1)、程序的模块组成:
主函数:
voidmain()
四则简单运算函数:
intsimple()
四则混合运算函数:
intmix()
高低分排名函数:
voidexchange()
交换函数:
voidswap()
2)、各个函数的主要功能:
intmain()
进行四则简单运算抢答
进行四则混合运算抢答
抢答结束后排出名次
交换函数:
为排序函数服务
五、详细设计
相关的数据类型
队伍信息结构数组
structteam
{charname;
intscore;
}tea[3]={{'
A'
100},{'
B'
C'
100}}
函数细说
四则简单运算功能、四则混合运算功能、从高分到低分排序功能。
1.主函数main()
利用scanf()函数输入第一轮和第二轮抢答的次数。
2.四则简单运算函数simple()
此函数通过随机数和加,减,乘,除,实现四则简单运算。
算法:
先初始化随机数发生器,得到两个随机数,在利用switch函数选择要进行的运算。
N-S流程图如下:
3.四则混合运算函数mix()
。
先初始化随机数发生器,得到三个随机数,在利用switch函数选择要进行的运算。
4.高低分排名函数exchange()
此函数建立在四则简单函数和四则混合运算的基础之上,当运算结束时,会执行此函数。
通过比较和交换函数,实现高低分排序。
函数功能调用关系流程图如下:
#include<
stdio.h>
#include<
stdlib.h>
time.h>
{intsimple();
intmix();
/*声明简单运算,混合运算和交换函数*/
voidexchange(int*p1,int*p2,int*p3);
100}};
/*设置三个队伍与各自起始分数*/
inti,p,j,t,k,n,m;
inta,b,c;
intresult1,answer1,result2,answer2;
int*q1,*q2,*q3;
charch1,ch2;
printf("
************************************\n"
);
$$\n"
$欢迎参加本次心算抢答!
$\n"
/*欢迎界面*/
for(i=0;
i<
10;
i++)
\n"
输入第一轮次数:
"
scanf("
%d"
&
n);
/*输入第一轮的次数*/
\n输入第二轮次数:
m);
/*输入第二轮的次数*/
按任意键开始\n"
getch();
开始!
第一轮\n"
这是简单数字\n"
请看问题\n"
for(p=0;
p<
n;
p++)
{result1=simple();
请输入队伍名字A或B或C:
getchar();
%c"
ch1);
/*按中文提示依此输入内容*/
\n输入答案"
answer1);
for(k=0;
k<
3;
k++)
{t=k;
if(ch1==tea[k].name)
if(result1==answer1)
tea[t].score+=5;
else
{printf("
这个答案是错的\n"
正确答案是%d\n"
result1);
tea[t].score-=5;
}
%c%d\n"
tea[i].name,tea[i].score);
这一轮结束\n"
\n\n\n\n\n"
第二轮开始!
这是简单数字!
请看问题:
for(j=0;
j<
m;
j++)
{result2=mix();
请输入一个队名A或B或C:
ch2);
\n输入答案:
answer2);
{t=i;
if(ch2==tea[i].name)
if(result2==answer2)
tea[t].score+=10;
\n这个答案是错的\n"
正确答案是%d\n"
result2);
tea[t].score-=10;
a=tea[0].score;
b=tea[1].score;
c=tea[2].score;
if(a>
b&
&
b>
c)
%c%c%c\n"
'
c>
a)
%c%c%c"
a>
c&
b)
if(c>
a&
if(b>
q1=&
tea[0].score;
q2=&
tea[1].score;
q3=&
tea[2].score;
exchange(q1,q2,q3);
%d%d%d\n"
tea[0].score,tea[1].score,tea[2].score);
simple()
{ints,num1,num2,stpy;
srand((unsigned)time(NULL));
num1=rand()%100+1;
num2=rand()%100+1;
stpy=rand()%4+1;
switch(stpy)
{case1:
s=num1+num2;
%d+%d=?
num1,num2);
break;
case2:
if(num1>
=num2)
{s=num1-num2;
%d-%d=?
else/*简单运算部分*/
{s=num2-num1;
num2,num1);
case3:
s=num1*num2;
%d*%d=?
case4:
s=num1/num2;
%d/%d=?
return(s);
mix()
{intt,num1,num2,num3,stpy;
num1=rand()%9+1;
num2=rand()%9+1;
num3=rand()%9+1;
t=(num1+num2)*(num2-num3);
(%d+%d)*(%d-%d)=?
num1,num2,num2,num3);
break;
t=num1*num2/num3;
/*混合运算部分*/
%d*%d/%d=?
num1,num2,num3);
t=num1*num2-num1/num3;
%d*%d-%d/%d=?
num1,num2,num1,num3);
t=(num1+num2-num3)*num3/num1;
(%d+%d-%d)*%d/%d=?
num1,num2,num3,num3,num1);
return(t);
voidexchange(int*p1,int*p2,int*p3)
{voidswap(int*x,int*y);
if(*p1<
*p2)swap(p1,p2);
/*按高低分排名*/
*p3)swap(p1,p3);
if(*p2<
*p3)swap(p2,p3);
voidswap(int*x,int*y)
{intt;
t=*x;
*x=*y;
*y=t;
七、调试分析
(1)先进入欢迎界面后,根据提示分别输入第一轮的次数,和第二轮的次数。
(2)当输入了次数后,先运行的是简单运算,先输入参赛队伍,再输入答案,如果答案正确则给相应的队伍加分,当错误时,则扣分。
(3)当简单运算结束后,出现混合运算的提示,与简单运算的方法一样。
(4)在抢答结束后应该会出现各队的得分,并自动对其进行排序。
(5)注意要按要求输入数字和字母,否则会得到错误的信息。
八、心得体会
以前在学习C时以为C就只是一个简单的编程工具,而通过这次课程设计,我才发觉自己看到的不过只是冰山的一角,而现在我越加的了解到C的丰富多彩,也越来越惊艳于她的美丽。
而通过这次设计,我也掌握了很多的程序设计方法,同时在思考问题时也变得更加严谨;
那是因为在设计之初,敲击键盘时的马虎和思路上的不严谨使设计常常进展缓慢,因而在不断改进的过程中,思维开始严谨,思路开始清晰明确起来.
在刚拿到题目时,我自己便把程序应该有的功能模块全一一列好,以求快速将程序编好,但第一次运行便以失败而告终,很多功能无法连接在一起而得以体现.类似于排名和返回的功能在多次改进后还是无法实现.最终还是在同学的帮助下才得以解决。
有时不是凭自己一个人能够完成的,而是需要大家的合作。
此外在课程设计中,我充分体会到自学的作用,若不去学很多函数都无法理解并运用.而对于我这种C中新手自学尤其重要.
C语言是一门很有实际作用且需要投入大量精力的知识,因此我必须掌握好C语言,多多实践方能知己不足,补己之短.对待其他知识也应该如此.
九、参考资料
<
<
C/C++程序设计教程>
>
C程序设计>
C程序设计题解与上机指导>
C语言之家()
C语言教室(http:
//www.vcok.co
十、评分
应用技术学院课程设计评分表
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期: