目录
1. 设计任务书………………………………………………………2
1.1 题目与要求……………………………………………2
1.2 本程序涉及的知识点…………………………………2
2.功能设计…………………………………………………2
2.1 算法设计………………………………………………2
2.2 部分模块流程图………………………………………2
3. 程序代码设计…………………………………………4
3.1 输入函数………………………………………………4
3.2 输出函数………………………………………………5
4. C 程序设计总结…………………………………………6
5.致谢………………………………………………………6
参考文献……………………………………………………6
河南理工大学 C 程序设计报告
1、 设计任务书
1.1、 题目与要求
我计划编写小学算术运算测试程序。要求完成 10 以内的加减运算。能根据用户
输入的想要练习的题目数自行出题。用户输入答案后可以判断正误,并能给出算对
及算错的题目数,最后计算出分数。同时,对于用户算错的题目会发出报警声,提
示用户注意,同时给出正确结果。做完一次测试后用户可决定是否继续进行下一次
测试。
1.2、 本程序涉及的知识点
变量的定义、输入和输出函数、产生随机数函数、if 语句、goto 语句、转意字
符的使用等等。
2、 功能设计
2.1、算法设计
1、本程序实现的功能要求:利用 if 语句完成所示的主菜单。
根据提示选择是否开始
根据提示计算的题目数
进行答题
统计结果给出正确答案
用 goto 语句实现是否循环
2、进入第一步出现如下信息:
开始测试?(输入 y 开始,输入 n 推出)
选择 y 后,进入第二步。
用户输入要练习的题数。
第三步:输出算术式子
用户输入结果进行测试。
第四步:输出测试结果
屏幕显示出本次测试的基本情况。
2.2、部分模块流程图
1
河南理工大学 C 程序设计报告
开始
unsigned time
time=0
Srand(time)
a=rand()%10
b=rand()%10
成立
不成立
a
河南理工大学 C 程序设计报告
3、 程序代码设计
3.1、输入函数
1)函数原形:scanf(“%d”,&*)
2) 功
能: scanf()函数利用取地址符号&完成对程序中某个变量的赋值,进而
程序中判断循环的功能。
3)变量及类型:
int a,b,m: 整型形参变量,接收 main()传过来的随机数字。
int i,num:循环控制变量。
int c,d,f,n,num,j,s,t: 整 型 形 参 变 量 。 其 中 j 具 有 自 加 功 能 ;
d,f,num,t:需要用户赋值;c,n,s:系统自动赋值。
4)说
明:输入字符后需要按回车键,待系统做出判断后往下执行。
5)模块代码及其相关注释:
loop:printf("开始测试?输入 1 开始,输入其他键退出:");j=0;
scanf("%d",&d);
/*输入整型数据,把它存储在变量 d 的地址内*/
if(d==1)
{
printf("请输入练习的题目数:");
scanf("%d",&num); /*输入要练习的题数*/
for(i=0;i10) goto Loop;
3
河南理工大学 C 程序设计报告
3.2、输出函数
1)函数原形:printf(“**********”,*)
2)功
能:输出相关提示信息及最后结果。
3)相关变量: int n:输出正确结果。
int j,c,s :输出计算正确,错误的题数及所得分数。
4)说
明:输出时要把要输出的信息用双引号括起来,输出数字时要在其代表
变量前加逗号。
5)模块代码及其相关注释:
{
printf("%d+%d=",a,b); /*输出算式 a+b*/
n=a+b;
scanf("%d",&t);
if(t!=a+b)
printf("错误,正确答案为:%d。\n\a\a",n);
/*输出计算结果*/
else{
printf("正确\n");j++;
}
}
}
c=num-j;
s=100*j/num;
printf("做对题数:%d,做错题数:%d,得分:%d\n",j,c,s);
/*输出测试相关结果*/
printf("再来一次?");
4
河南理工大学 C 程序设计报告
printf("2 再来,其他键退出:");
/*提示用户输入信息*/
scanf("%d",&f);
if(f==2)
goto loop;
else printf("结束");
}
}
4、 C 程序设计总结
本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克
服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的
几次调试中曾经出现过不能运行、不能产生十以内随机数字、不能随机出现加减、
不会正确输出结果、不能进行循环练习等等问题。经过我的努力及同学的帮助,这
些问题得到克服,并且使程序的功能也得到了一定的完善。现在它能对出错的题目
发出报警声,并且给出正确答案。最后还能分别输出对错的题数及所得分数。
在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了
课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多
读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,
力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细
心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出
错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。
5、 致谢
能够完成这次课程设计必须感谢 C 语言课程老师张黎娜(是她教会了我 C 语言
这门课程)、王攀同学(她帮我修改了几处重要错误,同时启发我完善了该程序的
功能)。
参考文献
[1] 贾宗璞、许合利,C 语言程序设计,江苏:中国矿业大学出版社,2007.6
[2] 谭浩强,C 程序设计(第二版),北京:清华大学出版社,2001.1
[3] http://www.baidu.com
5