C语言程序设计小学算术运算测试样本.docx
《C语言程序设计小学算术运算测试样本.docx》由会员分享,可在线阅读,更多相关《C语言程序设计小学算术运算测试样本.docx(9页珍藏版)》请在冰豆网上搜索。
![C语言程序设计小学算术运算测试样本.docx](https://file1.bdocx.com/fileroot1/2023-1/11/2d9400cf-031d-46ef-9d40-f69eb4a45e67/2d9400cf-031d-46ef-9d40-f69eb4a45e671.gif)
C语言程序设计小学算术运算测试样本
河南理工大学
计算机科学与技术学院
课程设计报告
2008—2009年第一学期
课程名称:
C语言程序设计
设计题目:
小学算术运算测试(math.c)
学生姓名:
刘高君
学号:
31070907
专业班级:
通信工程07-1班
指引教师:
刘洁
年09月05日
1设计任务书……………………………………………………3
1.1题目与规定…………………………………………………………3
1.2本系统涉及知识点………………………………………………3
2功能设计………………………………………………………3
2.1算法设计……………………………………………………………3
2.2某些模块流程图……………………………………………………3
3程序代码设计…………………………………………………4
3.1输入模块……………………………………………………………4
3.2输出模块……………………………………………………………4
4C程序设计总结………………………………………………5
4.1程序调试状况………………………………………………………5
4.2程序调好后实验成果……………………………………………5
4.3本人在程序设计中感想…………………………………………5
5道谢……………………………………………………………5
6参照文献………………………………………………………6
7附录………………………………………………………6
1设计任务书
1.1题目与规定
本人筹划与张二威合伙编写一种小学算术运算测试系统,重要用来测试小学生对十以内得加减乘除法运算掌握限度。
详细规定如下:
(1)制作一种可供小学数学运算程序,能完毕10以内得加减乘除法,能依照输入题数出题,有人性化汉语提示。
(2)判断做题与否对的。
(3)计算成绩,给出所有做过题目对的答案。
依照分工,本人重要工作是详细编译程序并调试,整顿出文档资料。
1.2本系统涉及知识点
构造、数组、函数、循环。
2功能设计
2.1算法设计
本系统需要实现功能规定:
运用rand()和switch(algtype)产生随机计算式,进而实现测试功能。
1,其模块如下
1-产生随机数和随机运算符号,进而产生随机计算式
2-顾客输入自己解答
3-判断正误,然后输出成绩
4-题目做完后,提示顾客与否继续
5-顾客键入y后进入下一轮,n推出程序
图1小学算术运算测试模块图
2,依照上述模块图编写相应代码
(1)运用for语句,rand()语句和switch()语句产生随机计算式。
(2)通过printf函数提示输入数字,然后通过scanf函数输入数字。
(3)通过if-else语句判断刚才与否对的,若对的直接进入下一道;若不对的,给出对的答案并进入下一道。
(4)用if,while语句提示顾客与否进入下一轮。
(5)Getchar()和while,return语句进行循环,键入“y”,进入下一轮,“n”直接退出。
2.2某些模块流程图
当一轮测试结束后,运用getchar()和if语句判断与否继续。
其流程图如下:
3程序代码设计
3.1输入模块
(1)函数原型:
scanf(“%d”,&answer);
YesorNo=getchar();
(2)功能:
运用scanf函数输入计算成果
运用if选取语句和getchar函数来拟定与否进入下一轮测试。
(3)变量及其类型
result[i];整形形参数组,接受scanf函数结束得整形数据地址。
(4)模块代码及有关注释:
Scanf(“%d,&answer)/*获取顾客输入成果*/
If(answer==result[i]++points;/*积分*/
Else
Printf(“\n%d为对的答案,小笨蛋”,result[i];/*显示对的答案*/
3.2输出模块
(1)函数原型:
printf(“\n%d+%d”,num1[i],num2[i];
printf(“\n%d-%d”,num1[i],num2[i];
printf(“\n%d-%d”,num1[2],num1[i];
printf(“您成绩是”:
num1[i]=rand()%10
(2)功能:
拟定计算式两个操作数和运算符号(加法或减法)
输出成绩和汉语提示。
(3)变量及类型
num1[i],num2[i]整形形参数数组
(4)模块代码及其有关注释:
num1[i]=rand()%10,/*产生10以内随机整数*/
num2[i]=rand()%10/*产生10以内得随机整数*/
4C程序设计总结
4.1程序调试状况:
按题目规定编好程序后,开始上机调试,一方面创立一种空工程,然后再创立一种c++source文献,然后在该文献里输入所编写程序代码,精确输入完毕后,进行调试,有错时,按照提示改正错误。
4.2程序调好后实验成果:
当前开始计算,小朋友注意拉,好好学习每天向上!
:
1-7=?
-6
0-9=?
-9
8-8=?
1
0为对的答案,小笨蛋
4*5=?
20
1-7=?
5
-6为对的答案,小笨蛋
1*5=?
3
5为对的答案,小笨蛋
7+6=?
13
4+2=?
6
2+2=?
4
6*8=?
48
您成绩是良好。
如下是你刚才所做所有题目
1-7=-6
0-9=-9
8-8=0
4*5=20
1-7=-6
1*5=5
7+6=13
4+2=6
2+2=4
6*8=48
你还想继续么(y/n)?
n(退出了……)
4.3本人在程序设计中感想:
本来我主线不懂得大二开学第一周尚有个c语言课程设计,因此也没心理准备。
懂得要做课程设计之后,我就想:
既然做了,就要认真做好!
因此我就认真审题,准备材料。
好多东西都忘了,只得又自己查书,从头做起,埋头苦干。
然后在编写程序阐明书时,特别是在绘制流程图时,要用到办公软件中某些不惯用功能,例如插入图表及图片,这时我有遇到了困难,有不得不翻阅《计算机文化基本》。
在这次课程设计我把计算机和c语言知识所有复习了一遍。
5道谢
感谢刘洁教师指引和张二威同窗热心协助!
!
6参照文献
[1]贾宗璞许合利,C语言程序设计,中华人民共和国矿业大学出版社,.2.1
[2]许合利沈记全,计算机文化基本,中华人民共和国矿业大学出版社,.9.1
[3]www.XX.com
[4]
附录(源代码):
#include
#include
#defineExerNumber10/*每轮题目数*/
voidtest()
{
intalgtype=0;/*计算类型*/
inti,/*for循环控制变量*/
points=0,/*成绩*/
num1[10],num2[10],/*两个操作数*/
result[10],/*程序计算成果*/
answer=0;/*学生回答*/
charopt[10];
printf("当前开始计算,小朋友注意拉,好好学习每天向上!
:
");
for(i=0;i<10;++i)
{
num1[i]=rand()%10;/*产生10以内随机整数*/
num2[i]=rand()%10;/*产生10以内随机整数*/
algtype=rand()%3+1;
switch(algtype)
{
case1:
result[i]=num1[i]+num2[i];/*加法计算*/
printf("\n%d+%d",num1[i],num2[i]);
opt[i]='+';
break;
case2:
if(num1>num2)/*减法计算*/
{
printf("\n%d-%d",num1[i],num2[i]),
result[i]=num1[i]-num2[i];
}
else
{
printf("\n%d-%d",num2[i],num1[i]),
result[i]=num2[i]-num1[i];
}
opt[i]='-';
break;
case3:
result[i]=num1[i]*num2[i];/*乘法计算*/
printf("\n%d*%d",num1[i],num2[i]);
opt[i]='*';
break;
}
printf("=?
");
scanf("%d",&answer);/*获取顾客输入成果*/
if(answer==result[i])++points;/*积分*/
else
printf("\n%d为对的答案,小笨蛋",result[i]);/*显示对的答案*/
}
printf("\n你成绩是");/*打印成绩*/
switch(points)
{
case10:
case9:
printf("先进。
");
break;
case8:
case7:
printf("良好。
");
break;
case6:
case5:
printf("及格。
");
break;
default:
printf("不及格,还要努力啊,加油!
");
}
printf("\n如下是你刚才作所有题目");
for(i=0;i<10;++i)
{
printf("\n%d%c%d=%d",num1[i],opt[i],num2[i],result[i]);
}
}
intmain(void)
{
charyesOrNo;/*回答与否继续*/
test();
do
{
printf("\n你还想继续么(y/n)?
");/*决定与否继续*/
yesOrNo=getchar();
if(yesOrNo=='y'||yesOrNo=='Y')test();
if(yesOrNo=='n'||yesOrNo=='N')exit(0);
}while
(1);
return(0);
}