C语言课程设计-小学生数学测试.doc
《c语言课程设计报告》
学院: 物理与电子信息学院
年级专业: 09级电子信息工程2班
学号:
姓名:
同组人员:
指导老师:
完成日期: 6月21日
目 录
一、所选课题
二、设计要求
三、程序具体分工
四、课题分析与设计
五、程序介绍
六、源程序代码
七、程序调试
八、流程图
九、实验总结
十、参考文献
一、所选课题
小学生数学测试
二、设计要求
可选择题型(加,减,乘,除);
两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数,若选择除法运算则被除数能被整除,且除数不能为零。
每次在输入答案后应判断对错,并给出是否继续测试的提示,若答案错误,应给出正确答案;
最后给出评分。
三、程序具体分工
乘除部分由我完成,界面和加减测试部分由徐磊完成。
四、课题分析与设计
本程序是非数值计算型算法设计,我们设计出了小学生数学测试软件的基本功能,并设计了简单的界面。本程序主要考察针对小学生该怎样设计程序:例如小学生只进行两位数之间的加减法,只进行一位数与两位数之间的乘法,除法只能是整除等。课题要求我们设计个可以进行加、减、乘法的程序,但我们设计的这个小学生数学测试软件也不仅实现了加、减、乘法的测试,还实现了除法的测试。
五、程序介绍
程序应包括和两个头文件,其中存放库函数,而产生随机数的函数则存放在头文件中。另外程序有五个函数,分别为void menu(); /*主菜单函数*/ void add() ;/*加法函数*/ void sub();/*减法函数*/ void mul();/*乘法函数*/ void div1();/*除法函数*/,还有产生随机数函数在程序中直接调用。然后根据要求编写程序,乘法、除法的要求和做题后的判断、提示等。
六、源程序代码
#include
#include
void menu();
void add();
void sub();
void mul();
void div1();
void main()
{
int a;
while(1)
{
menu();
printf("Please choose the option:");
scanf("%d",&a);
switch(a)
{
case 1:
add();
break;
case 2:
sub();
break;
case 3:
mul();
break;
case 4:
div1();
break;
case 5:
exit(0);
break;
default:
break;
}
}
}
void menu()
{
printf("**************************************************\n");
printf("*@@@@@@ Xiao Xue Shu Xue Ce Shi Ruan Jian @@@@@@@*\n");
printf("**************************************************\n");
printf("*----------Please select your operation----------*\n");
printf("*------ 1. + jia fa ce shi ------*\n");
printf("*------ 2. - jian fa ce shi ------*\n");
printf("*------ 3. * chen fa ce shi ------*\n");
printf("*------ 4. / chu fa ce shi ------*\n");
printf("*------ 5. exit the system----------*\n");
printf("**************************************************\n");
}
void add()
{
int a,b,c,d,re=0,sum=0;
system("cls");
while(1)
{
a=rand()%100;
b=rand()%100;
printf("%d+%d=",a,b);
scanf("%d",&c);
if(c==(a+