c语言课程设计实验报告书
- 格式:doc
- 大小:470.50 KB
- 文档页数:32
C语言课程设计报告
院系:信息工程系
专业:11 级计算机科学与技术
题目:教小学生算术
姓名:许庆超
学号:2111714135
指导教师:夏学文
2012.12.31
湖北工程学院新技术学院
一、实验目的:
1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。 2.培养学生综合运用所学知识独立完成课题的能力。3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核
二、实验内容:
(1)制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确。正确的给鼓励,错误的发出警报,并给出正确答案,最后计算分数。
(2)执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。
(3)执行运行操作,逐一对每个模块进行调试。直到全部程序运行成功为止。
三、需求分析:
通过此系统实现以下功能:
做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。
1.1加法功能:
用PLUS函数实现加法算数,答对输入的题量后可晋级,难度
有所增加,结果错误后提示错误并且重新输入。
1.2减法功能:
用sub函数实现减法算数,并且结果不为负数,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。
1.3乘法功能:
用mul函数实现乘法算数,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。
1.4除法功能:
用div函数实现除法功能,并且生成的除法算数要除尽,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。
一.输入模块:(2种算法)
加法:请选择:1
欢迎进入第一关!
请设定题目数量:1
1+7=8
恭喜你,答对了!
恭喜你通过了第一关!
晋级模块:
是否继续挑战第一关?y(1)/n(0):1
欢迎进入第二关!
请设定题目数量:1
9+24=33
恭喜你,答对了!
恭喜你通过了第二关!
是否继续挑战第一关?y(1)/n(0):0
欢迎进入第三关!
请设定题目数量:1
78+58=136
恭喜你,答对了!
恭喜你通过了第三关!
乘法::请选择:1
欢迎进入第一关!
请设定题目数量:1
1*7=7
恭喜你,答对了!
恭喜你通过了第一关!
晋级模块:是否继续挑战第一关?y(1)/n(0):1
欢迎进入第二关!
请设定题目数量:1
34*0=0
恭喜你,答对了!
恭喜你通过了第二关!
是否继续挑战第一关?y(1)/n(0):0
欢迎进入第三关!
请设定题目数量:1
25*4=100
恭喜你,答对了!
恭喜你通过了第三关!
二.总体设计
主函数结构图:
三.算法设计:
1、本程序实现的功能要求:利用for 循环、do...while 循环和switch 完成的主菜单。
2、
输入想要测试的题目数
学生进行答题
判断正误
正确给出鼓励,错误报 警,要求重新回答
3、进入第一步出现如下信息:
主函数
加法功能函数
plus
减法功能函数
sub
乘法功能函数
m ul
除法功能函数
div
用户输入要练习的题数。
第二步:输出算术式子
用户输入结果进行测试。
第三步:输出测试结果
屏幕显示出本次测试的基本情况。四.流程图
主窗口
Switch (1) Switch (2) Switch (3) Switch (4) 加法功能 减法功能 乘法功能 除法功能
输入题量进入第一关
输入题量进入第一关
输入题量进入第一关
输入题量进入第一关
答对数=题量数
输入题量进入第下一关
输入题量进入第下一关
输入题量进入第下一关
输入题量进入第下一关
答对数=题量数
输入题量进入第下一关
输入题量进入第下一关
输入题量进入第下一关
输入题量进入第下一关
答对数=题量数 退出系统
Switch (5)
五.主要函数之间相互调用如下:主函数调用:
主函数的调用
main()
{
void menu();
int k;
do{
menu();
printf("请选择:");
scanf("%d",&k);
switch(k)
{
case 1:plus();break;
case 2:sub();break;
case 3:mul();break;
case 4:div();break;
case 0:break;
}printf("\n");
}while(k!=0);
printf("\n");
return 0;}