小学算术运算测试 C语言课程设计报告.docx
《小学算术运算测试 C语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《小学算术运算测试 C语言课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。
小学算术运算测试C语言课程设计报告
C语言课程设计报告
题目:
小学算术运算测试
设计者:
专业班级:
通信1105
学号:
指导教师:
张黎娜
2012年9月9日
河南理工大学计算机学院
目录
1.设计任务书2
1.1题目与要求2
1.2本程序涉及的知识点2
1.3功能要求2
2.功能设计3
2.1、算法设计3
3、程序代码设计5
3.1、输入函数5
3.2、输出函数5
3.4、源程序6
3.5、试验步骤与测试结果9
4、C程序设计总结10
致谢10
附录:
10
参考文献10
1.设计任务书
1.1题目与要求
我计划编写小学算术运算测试程序。
要求完成10以内的加减运算。
能根据用户输入的想要练习的题目数自行出题。
用户输入答案后可以判断正误,如果错误的话,提示正确答案,并能给出算对及算错的题目数,最后计算出分数。
做完一次测试后用户可决定是否继续进行下一次测试。
1.2本程序涉及的知识点
变量的定义、输入和输出函数、产生随机数函数、if语句、转意字符的使用dos命令等等。
1.3功能要求
1、实现按输入题数随机出10以内的加减法
2、判断做题是否正确;如果错误的话,提示正确答案
3、计算得分:
分别计算总分与得分,;
4、根据得分按满分,占总分的80%以上,占总分的80%以下给出不同的评语;
5、按esc键退出,其他任意键清除屏幕信息并继续.
2.功能设计
2.1、算法设计
1、本程序实现的功能要求:
利用if语句完成所示的主菜单。
2.2、部分模块流程图
见下页
3、程序代码设计
3.1、输入函数
1)函数原形:
scanf(“%d”,&*)
2)功能:
scanf()函数利用取地址符号&完成对程序中某个变量的赋值,进而程序中判断循环的功能。
3)变量及类型:
inta,b,p:
整型形参变量,接收main()传过来的随机数字。
inti:
循环控制变量。
intc,d,f,n,num,j,s,t:
整型形参变量。
其中fen具有自加功能;n,num,esc:
需要用户赋值;a,b,p:
系统自动赋值。
4)说明:
输入字符后需要按回车键,待系统做出判断后往下执行。
5)模块代码及其相关注释:
输入模块一:
scanf("%d",&n);
srand(time(0));//利用时间实现随机数输出//
输入模块二:
scanf("%d",&num);//输入用户所得的计算结果
输入模块三:
esc=getch();//暂停函数,当用户键入esc键 (ASCII=27)
if(esc==27)
break;
system("CLS");//清除屏幕//
3.2、输出函数
1)函数原形:
printf(“**********”,*)
2)功能:
输出相关提示信息及最后结果。
3)相关变量:
intnum:
输出正确结果。
分别输出计算正确,错误的题数及所得分数。
4)说明:
输出时要把要输出的信息用双引号括起来,输出数字时要在其代表
量前加逗号。
5)模块代码及其相关注释:
输出模块一:
printf("请输入题目数目:
");//*输出算式a+b*//
输出模块二:
printf("%d+%d=",a,b);//*输出算式a+b*//
printf("%d-%d=",a,b);//*输出算式a-b*//
printf("加油哦!
正确答案为%d+%d=%d\n",a,b,d);
printf("加油哦!
正确答案为%d-%d=%d\n",a,b,d);
输出模块三:
printf("按Esc退出,任意键继续!
\n");//提示用户信息
3.4、源程序
#include
#include
#include
#include
main()
{
inti,n,fen,p,esc;
inta,b,num,d;
fen=0;
while
(1)
{
printf("请输入题目数目:
");
scanf("%d",&n);
srand(time(0));//利用时间实现随机数输出//
for(i=0;i{a=rand()%11;b=rand()%11;p=rand()%2;
a=abs(a);//实现绝对值,把负数转化成正数//b=abs(b);p=abs(p);
if(p==0)
{
printf("%d+%d=",a,b);
scanf("%d",&num);
d=a+b;
if(num==d)fen++;
else
printf("加油哦!
正确答案为%d+%d=%d\n",a,b,d);}
if(p==1)
{
if(a
{intc;c=a;a=b;b=c;}
d=a-b;
printf("%d-%d=",a,b);
scanf("%d",&num);
if(num==d)fen++;
printf("加油哦!
正确答案为%d-%d=%d\n",a,b,d);
}
}
printf("总分%d,得分%d",n,fen);
if(fen<(0.8*n))
printf("你需要更加努力!
\n");
if(fen>=(0.8*n))
{
if(fen==n)
printf("非常棒!
\n");
elseprintf("加油,继续保持!
\n");
}
printf("按Esc退出,任意键继续!
\n");
esc=getch();
if(esc==27)
break;
system("CLS");//清除屏幕//
}
}
3.5、试验步骤与测试结果
步骤
第一步:
进入第一步出现如下信息:
请输入题目数目:
第二步:
输入数目后,进入第二步。
输出算术式子,用户输入结果进行测试。
第三步:
输出算术式子
用户输入结果进行测试。
第四步:
输出测试结果
屏幕显示出本次测试的基本情况。
测试结果
第一步:
程序开始运行
第二步:
请输入题目数目:
5
第三步:
做题并判断是否正确:
屏幕显示:
请输入题目数目:
5
10-4=6
9+2=7
加油哦!
正确答案为9+2=11
8-2=6
8-2=6
9-0=9
总分5,得分4加油,继续保持!
按Esc退出,任意键继续1
第五步:
按Esc退出,任意键继续!
4、C程序设计总结
本程序在刚开始调试时有许多错误,。
在刚开始的几次调试中曾经出现过不能运行、不能产生十以内随机数字、产生负数,a-b小于零,不能随机出现加减、不会正确输出结果等问题。
经过我的努力及同学的帮助,这些问题得到克服。
最后还能终于能分别输出对错的题数及所得分数了以及当错误的时候提示正确答案。
在这次设计过程中,不仅复习课本上所学知识,还通过查资料、访问网络。
从而启发我,要想写好程序,在写好课本知识的同时还需要多利用网络这个平台,尽量把所学的知识综合起来应用,写出好的程序。
除此之外,我还得到了一些有用的教训:
写程序时必须要细心,就连中英文标点符号的区别也要注意。
致谢
能够完成这次课程设计必须感谢C语言课程老师张黎娜.
附录:
math.h数学头文件
abs()绝对值函数
getch()暂停函数
system("CLS");//清除屏幕//
参考文献
[1]贾宗璞、许合利,C语言程序设计,北京:
人民邮电出版社,2011.9
[2]
[3]http:
//www.