资源描述
《c语言课程设计汇报》
学院: 物理和电子信息学院
年级专业: 09级电子信息工程2班
学号:
姓名:
同组人员:
指导老师:
完成日期: 6月21日
目 录
一、所选课题
二、设计要求
三、程序具体分工
四、课题分析和设计
五、程序介绍
六、源程序代码
七、程序调试
八、步骤图
九、试验总结
十、参考文件
一、所选课题
小学生数学测试
二、设计要求
1、 可选择题型(加,减,乘,除);
2、 两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数,若选择除法运算则被除数能被整除,且除数不能为零。
3、 每次在输入答案后应判定对错,并给出是否继续测试提醒,若答案错误,应给出正确答案;
4、 最终给出评分。
三、程序具体分工
乘除部分由我完成,界面和加减测试部分由徐磊完成。
四、课题分析和设计
本程序是非数值计算型算法设计,我们设计出了小学生数学测试软件基础功效,并设计了简单界面。本程序关键考察针对小学生该怎样设计程序:比如小学生只进行两位数之间加减法,只进行一位数和两位数之间乘法,除法只能是整除等。课题要求我们设计个能够进行加、减、乘法程序,但我们设计这个小学生数学测试软件也不仅实现了加、减、乘法测试,还实现了除法测试。
五、程序介绍
程序应包含<stdio.h>和<stdlib.h>两个头文件,其中存放库函数,而产生随机数函数则存放在头文件中。另外程序有五个函数,分别为void menu(); /*主菜单函数*/ void add() ;/*加法函数*/ void sub();/*减法函数*/ void mul();/*乘法函数*/ void div1();/*除法函数*/,还有产生随机数函数在程序中直接调用。然后依据要求编写程序,乘法、除法要求和做题后判定、提醒等。
六、源程序代码
#include<stdio.h>
#include<stdlib.h>
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+b))
{
re++;
sum++;
printf("^_^Very good! You are right! Will you go on?\nThe quantity of question is%d\nThe right is %d\n1. Go on 2. Exit\n",re,sum);
}
else
{
re++;
printf("Sorry!You are wrong! The right answer is %d.Will you go on?\nThe quantity of question is %d\nThe right is %d\n1. Go on 2. Exit\n",a+b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
void sub()
{
int a,b,c,d,re=0,sum=0;
system("cls");
while(1)
{
a=rand()%100;
b=rand()%100;
while((a-b)<0)
{
a=rand()%100;
b=rand()%100;
}
printf("%d-%d=",a,b);
scanf("%d",&c);
if(c==(a-b))
{
re++;
sum++;
printf("^_^Very good! You are right! Will you go on?\nThe quantity of question is%d\nThe right is %d\n 1. Go on 2. Exit\n",re,sum);
}
else
{
re++;
printf("Sorry!You are wrong! The right answer is %d.Will you go on?\nThe quantity of question is %d\nThe right is %d\n 1. Go on 2. Exit\n",a-b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
void mul()
{
int a,b,c,d,re=0,sum=0;
system("cls");
while(1)
{
a=rand()%20;
b=rand()%20;
printf("%d*%d=",a,b);
scanf("%d",&c);
if(c==(a*b))
{
re++;
sum++;
printf("^_^ Very good! You are right! Will you go on?\nThe quantity of question is%d\nThe right is %d\n1.Go on 2.Exit\n" ,re,sum);
}
else
{
re++;
printf("Soory! You are wrong! The right answer is %d.Will you go on?\n The quantity of question is %d\nThe right is %d\n1.Go on 2.Exit\n ",a*b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
void div1()
{
int a,b,c,d,sum=0,re=0;
system("cls");
while(1)
{
a=rand()%100;
b=rand()%100;
if(b==0)
b=rand()%100;
while((a%b)!=0)
{
a=rand()%100;
b=rand()%100;
if(b==0)
b=rand()%100;
}
printf("%d/%d=",a,b);
scanf("%d",&c);
if(c==(a/b))
{
sum++;
re++;
printf("^_^ Very good! You are right! Will you go on?\nThe quantity of question is%d\nThe right is %d\n1.Go on 2.Exit\n" ,re,sum);
}
else
{
re++;
printf("Soory! You are wrong! The right answer is %d.Will you go on?\n The quantity of question is %d\nThe right is %d\n1.Go on 2.Exit\n" ,a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
七、程序调试
1、菜单函数实施结果:
进入程序后进入程序主菜单,运行结果以下:
2、输入“1”进入“jia fa ce shi”(加法测试),运行结果以下:
3、(1)输入正确结果,运行结果以下:
(2)输入错误答案,运行结果以下:
4、输入“2”,退出加法测试,回到主界面,运行结果以下:
5、减法测试同加法测试
6、输入“3”,进入“chen fa ce shi”(乘法测试),运行结果以下:
7、(1)输入正确结果,运行结果以下:
(2)输入错误答案,运行结果以下:
8、输入“2”,返回主界面
9、除法测试同乘法测试
10、输入“5”,运行结果以下:
八、步骤图
程序开始
菜单页面,用户选择1,2,3,4,5五个应用项目
退出选项
除法测试
乘法测试
减法测试
加法测试
1 2 3 4 5
给出答案
程序结束
判定答案是否正确
正确数加1,是否继续答题
给出正确答案,是否继续答题
九、试验总结
经过对小学生数学测试软件程序编辑制作,我加深了对C语言学习了解。C语言是一个计算机程序设计语言。它既含有高级语言特点,又含有汇编语言特点。它能够作为系统设计语言,编写工作系统应用程序,也能够作为应用程序设计语言,编写不依靠计算机硬件应用程序。所以,它应用范围广泛。在以后学习生活中我要不停加深掌握C语言这门技术。
这次课程设计课总来说让我受益匪浅。在软件设计过程中碰到了很多困难,但我最终还是坚持了下来,毫不畏惧困难,在同学和老师帮助和讲解下我总算是顺利完成了软件设计。即使在调试程序碰到了很多困难,当软件调试成功时那种喜悦感觉没有什么东西能够替换。在程序编写过程中我发觉我自己有很多知识漏洞和缺点,需要深入努力学习来完善自己。
十、参考文件
1)谭浩强,C程序设计教程,清华大学出版社,
2)谭浩强编著,《C程序设计》,清华大学出版社,1991年
物理和电子信息学院课程设计评定意见
指导老师评语
关键内容包含:设计汇报内容完整性和完成情况、汇报格式规范性、经过课程设计取得收获等。
展开阅读全文