C语言课程设计小学生心算CAI系统报告书.docx
《C语言课程设计小学生心算CAI系统报告书.docx》由会员分享,可在线阅读,更多相关《C语言课程设计小学生心算CAI系统报告书.docx(19页珍藏版)》请在冰豆网上搜索。
![C语言课程设计小学生心算CAI系统报告书.docx](https://file1.bdocx.com/fileroot1/2023-4/2/4782d5d0-bccc-4006-9114-4686a90aaa19/4782d5d0-bccc-4006-9114-4686a90aaa191.gif)
C语言课程设计小学生心算CAI系统报告书
应用技术学院
课程设计报告
课程名称C语言课程设计
课落款称小学生心算CAI系统
专业电气工程及其自动化
班级电气0985
学号0526
姓名王清源
指导教师陈世清黄晓宇曹燚
2020年7月5日
湖南工程学院
课程设计任务书
课程名称C课程设计
课题小学生心算CAI系统
专业班级电气0985
学生姓名王清源
学号0526
指导教师陈世清黄晓宇曹燚
审批
任务书下达日期2020年7月5日
任务完成日期2020年7月11日
一、设计内容与设计要求
1.设计内容:
见附录
2.设计要求:
1).设计正确,方案合理。
2).界面友好,利用方便。
3).程序精炼,结构清楚。
4).设计报告5000字以上,。
5).上机演示。
二、进度安排
第12周礼拜一布置任务,查找资料。
礼拜二确信整体方案,进行详细设计。
礼拜三编写程序,上机调试。
礼拜四编写程序,上机调试。
礼拜五答辩,总结。
礼拜六~礼拜天写课程设计报告
附:
课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:
一级题目用3号黑体,二级题目用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:
一、一、设计目的二、整体设计(程序设计组成框图、流程图)3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数挪用关系描述等)4、调试与测试:
调试方式,测试结果的分析与讨论,测试进程中碰到的要紧问题及采取的解决方法五、源程序清单和执行结果:
清单中应有足够的注释
正文总字数要求在5000字以上(不含程序原代码)。
附录:
设计课题六:
小学生心算CAI系统
一、问题描述:
本系统能够用来进行单独的的加、减、乘、除心算练习,也可综合心算的速度与正确率进行测试。
当用户在进行简单的四那么运算时运算速度和正确率都较高时,能够进入四那么混合运算,借此来进一步提高自己的心算能力。
二、功能描述:
1、用户能够通过两种方式来选择功能,既能够按相应的数字键进入相应的心算练习,也能够按光标键来选择功能项。
2、运算机自动出题,用户进入每项练习时,屏幕上会显示用户所做的相应的题数,若是不想继续能够随时退出。
3、设计的系统完全适合用户,比如除法时考虑到小学生的水平问题,只许诺显现整除情形。
4、用户输入的答案不对时,提示错误,用户输入的结果若是持续两次不对,运算机遇自动给出正确答案,供用户参考。
5、界面设计友好。
三、算法提示:
1、用简单的程序设计方式
2、必然的窗口设计技术
3、简单的数据类型
四、测试数据:
运算机随机产生
1、设计目的............................................1
2、整体设计............................................1
3、详细设计............................................2
一、要紧函数............................................2
二、
函数的要紧关系...........................................2
4、调试与测试.........................................4
附:
源程序清单
一、设计目的:
全面熟悉,把握C语言大体知识,C语言中的顺序,分支,循环三种结构及数组,函数C语言大体图形编程等方式,把编程和实际结合起来,增强对不同的问题的运用和灵活选择适合的数据结构和算法描述的本领,熟悉编制和调试程序的技术,把握分析结果的假设干有效方式,进一步提高上机动手能力,培育利用运算机解决实际问题的能力,养成提供文档资料的适应和标准编程的思想,为以后在专业课程中应用运算机系统解决计算,分析,实验和设计等学习环节打下较扎实的基础.通过本课程设计,培育上机动手能力,巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力。
二、整体设计:
三、详细设计:
一、要紧函数
(1)、主控模块
voidDoCommand()
Steele,C语言参考手册(第五版)[M],北京:
人民邮电出版社,2000,5:
78-90
[4]DavidHanson,C语言接口与实现:
创建可重用软件的技术[M],武汉机械工业出版社,2001,8:
87-89
[5]BrianW.Kernighan,DennisM.Ritchie,C程序设计语言[M],
北京清华大学出版社,1997,4:
128-134
[6]BrianW.Kernighan,RobPike,程序设计实践[M],武汉:
机械工业出版社,2000,9:
149-153
[7]HerbertSchildt,C语言大全[M],长沙:
电子工业出版社,2001,3:
163-169
附:
源程序清单
#include<>
#include<>
#include<>
voidmenu()
{
printf("********************************************************************************");
printf("^_^_^_^_^_^_^_^_^_^_^_^小朋友,欢迎你们来学习小学算术_^_^_^_^_^_^_^_^_^_^_^_^_^_");
printf("");
printf("1.加法");
printf("2.减法");
printf("3.乘法");
printf("4.除法");
printf("0.退出");
printf("");
printf("快选择你要学习的内容吧!
");
printf("");
printf("^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_");
printf("********************************************************************************");
}
voidplus1()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第一关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countprintf("%d",m=rand()%10);
printf("+");
printf("%d",n=rand()%10);
printf("=");
total=m+n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第一关!
\n");
}
}
voidplus2()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第二关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%10;
n=rand()%100;
}while(n<10);
printf("%d",m);
printf("+");
printf("%d",n);
printf("=");
total=m+n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第二关!
\n");
}
}
voidplus3()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第三关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%100;
n=rand()%100;
}while(m<10&&n<10);
printf("%d",m);
printf("+");
printf("%d",n);
printf("=");
total=m+n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第三关!
\n");
}
}
voidsub1()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第一关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%10;
n=rand()%10;
}while(m<=n);
printf("%d",m);
printf("-");
printf("%d",n);
printf("=");
total=m-n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第一关!
\n");
}
}
voidsub2()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第二关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%100;
n=rand()%10;
}while(m<10);
printf("%d",m);
printf("-");
printf("%d",n);
printf("=");
total=m-n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第二关!
\n");
}
}
voidsub3()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第三关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%100;
n=rand()%100;
}while(m<=n||m<10||n<10);
printf("%d",m);
printf("-");
printf("%d",n);
printf("=");
total=m-n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第三关!
\n");
}
}
voidplus()
{
inti;
plus1();
printf("是不是继续挑战?
Y
(1)/N(0):
");
scanf("%d",&i);
if(i==1)
plus2();
else
return;
i=NULL;
printf("是不是继续挑战?
Y
(1)/N(0):
");
scanf("%d",&i);
if(i==1)
plus3();
else
return;
}
voidsub()
{
inti;
sub1();
printf("是不是继续挑战?
Y
(1)/N(0):
");
scanf("%d",&i);
if(i==1)
sub2();
else
return;
i=NULL;
printf("是不是继续挑战?
Y
(1)/N(0):
");
scanf("%d",&i);
if(i==1)
sub3();
else
return;
}
voidmul1()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第一关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countprintf("%d",m=rand()%10);
printf("*");
printf("%d",n=rand()%10);
printf("=");
total=m*n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第一关!
\n");
}
}
voidmul2()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第二关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%100;
n=rand()%10;
}while(m<10);
printf("%d",m);
printf("*");
printf("%d",n);
printf("=");
total=m*n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第二关!
\n");
}
}
voidmul()
{
inti;
mul1();
printf("是不是继续挑战?
Y
(1)/N(0):
");
scanf("%d",&i);
if(i==1)
mul2();
}
voiddiv1()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第一关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%10;
n=rand()%10;
}while(n==0||m%n!
=0);
printf("%d",m);
printf("/");
printf("%d",n);
printf("=");
total=m/n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第一关!
\n");
}
}
voiddiv2()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第二关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%100;
n=rand()%10;
}while(n==0||m<10||m%n!
=0);
printf("%d",m);
printf("/");
printf("%d",n);
printf("=");
total=m/n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第二关!
\n");
}
}
voiddiv3()
{
intcount=0,m,n,s,total,k;
printf("欢迎进入第三关!
\n");
printf("请设定题目数量:
");
scanf("%d",&k);
while(countdo{
m=rand()%100;
n=rand()%100;
}while(n==0||m<10||n<10||m%n!
=0);
printf("%d",m);
printf("/");
printf("%d",n);
printf("=");
total=m/n;
loopa:
scanf("%d",&s);
if(s==total)
{printf("恭喜你,答对了!
\n");count++;}
else
{printf("回答错误,请从头回答!
\n");gotoloopa;}
printf("恭喜你通过了第三关!
\n");
}
}
voiddiv()
{
inti;
div1();
printf("是不是继续挑战?
Y
(1)/N(0):
");
scanf("%d",&i);
if(i==1)
div2();
else
return;
i=NULL;
printf("是不是继续挑战?
Y
(1)/N(0):
");
scanf("%d",&i);
if(i==1)
div3();
else
return;
}
main()
{
voidmenu();
intk;
do{
menu();
printf("请选择:
");
scanf("%d",&k);
switch(k)
{
case1:
plus();break;
case2:
sub();break;
case3:
mul();break;
case4:
div();break;
case0:
break;
}
printf("\n");
}while(k!
=0);
printf("\n");
return0;
}