C语言课程设计报告30小学算术运算测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
信息学院
课程设计报告
200 8 — 200 9 学年第一学期
课程名称C语言课程设计
设计题目《小学算术运算测试》学生姓名
学号
专业班级
指导教师
目录
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)
1、设计任务书
1.1、题目与要求
我计划编写小学算术运算测试程序。要求完成10以内的加减运算。能根据用户输入的想要练习的题目数自行出题。用户输入答案后可以判断正误,并能给出算对及算错的题目数,最后计算出分数。同时,对于用户算错的题目会发出报警声,提示用户注意,同时给出正确结果。做完一次测试后用户可决定是否继续进行下一次测试。
1.2、本程序涉及的知识点
变量的定义、输入和输出函数、产生随机数函数、if语句、goto语句、转意字符的使用等等。
2、功能设计
2.1、算法设计
1、本程序实现的功能要求:利用if语句完成所示的主菜单。
2、进入第一步出现如下信息:
开始测试?(输入y开始,输入n推出)
选择y后,进入第二步。
用户输入要练习的题数。
第三步:输出算术式子
用户输入结果进行测试。
第四步:输出测试结果
屏幕显示出本次测试的基本情况。
2.2、部分模块流程图
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;i { srand((unsigned)time(NULL)); m=rand() % 2; /*接收程序随机产生的数字1或0*/ Loop:a=rand() % 10; b=rand() % 10; if(a+b>10) goto Loop; 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("再来一次?");