资源描述
《C语言课程设计汇报》
标题:小学生数学测试软件
学号:
姓名:
同组人员:
年级专业:09电子信息工程
指导老师:
完成日期:/6/20
目 录
一、程序具体分工
二、课题要求
三、课题分析和设计
四、选题背景
五、程序介绍
六、源程序代码和调试
七、步骤图
八、结语
九、参考书目
一、程序具体分工
第一部分包含主函数是由杨威完成,第二部分add函数,sub函数,mul函数被调函数由我(钟雪冬)完成。
二、课题要求
1) 可选择题型(+,-,×);
2) 两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数;
3) 每次在输入答案后应判定对错,若答案错误,应给出正确答案;
4) 最终给出评分。
三、课题分析和设计
小学生数学测试软件是经过switch函数对add,sub,mul函数进行函数调用,进行各自函数功效,其中由rand()函数产生随机数。
四、 选题背景
C语言是现在世界上流行、使用最广泛高级程序设计语言。1972年,C语言在美国贝尔试验室里问世,以后又被数次改善,并出现了多个版本。80年代初,美国国家标准化协会(ANSI),依据C语言问世以来多种版本对C语言发展和扩充,制订了ANSIC标准。现在,在微机上广泛使用C语言编译系统有MicrosoftC、Turbo C 、Visual C++等,这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了部分扩充,使之愈加方便、完美。
C语言是一个结构化语言。它层次清楚,便于按模块化方法组织程序,易于调试和维护。C语言表现能力和处理能力极强。它不仅含有丰富运算符和数据类型,便于实现各类复杂数据结构。它还能够直接访问内存物理地址,进行位(bit)一级操作。因为C语言实现了对硬件编程操作,所以C语言集高级语言和低级语言功效于一体。既可用于系统软件开发,也适合于应用软件开发。
另外,C语言还含有效率高,可移植性强等特点。所以广泛地移植到了各类各型计算机上,从而形成了多个版本C语言。
为了将本学期所学C语言知识应用于实际,加深对C语言了解和掌握,我院开设了C语言课程设计这门课程。而我们小组选择了小学生测试软件这个课题,以此来锻炼我们编写程序能力。
五、程序介绍
小学生数学测试软件由5个函数组成,包含main主函数,rand()函数,add函数,sub函数,mul函数。
main主函数对add函数,sub函数,mul函数进行调用。
rand()函数产生随机数,其产生随机数值范围0~65535。
add函数实施加法运算。
sub函数实施减法运算。
mul函数实施乘法运算。
六、源程序代码和调试
代码:
#include<stdio.h>
#define random(x) (rand()%x)
static int count;
void add(int k)
{
int i,j,m;
int ans;
for(m=1;m<=k;m++)
{
i=random(100);
j=random(100);
printf("NO.%d:\n",m);
printf("%d + %d = ",i,j);
scanf("%d",&ans);
if(ans==(i+j))
{
count++;
printf(" congratulate!\n");
}
else
printf("Sorry! you are wrong!The answer is :%d\n",i+j);
}
}
void sub(int k)
{
int i,j,m;
int ans;
for(m=1;m<=k;m++)
{
i=random(100);
j=random(100);
if(i<j) m=m-1;
else
{
printf("NO.%d:\n",m);
printf("%d - %d = ",i,j);
scanf("%d",&ans);
if(ans==(i-j))
{
count++;
printf(" congratulate!\n");
}
else
printf("Sorry! you are wrong!The answer is : %d\n",i-j);
}
}
}
void mul(int k)
{
int i,j,m;
int ans;
for(m=1;m<=k;m++)
{
i=random(10);
j=random(10);
printf("NO.%d:\n",m);
printf("%d * %d = ",i,j);
scanf("%d",&ans);
if(ans==(i*j))
{
count++;
printf(" congratulate!\n");
}
else
printf("Sorry! you are wrong!The answer is : %d\n",i*j);
}
}
void main()
{
int i,k;
printf("Input 1,Choose addition problems\n");
printf("Input 2,Choose subtraction problems\n");
printf("Input 3,Choose multiplication problems\n");
printf("Input your options:");
scanf("%d",&k);
printf("\n");
printf("Enter the number of questions to answer:");
scanf("%d",&i);
switch(k)
{
case 1:add(i);break;
case 2:sub(i);break;
case 3:mul(i);break;
default:printf("\n Input errors!");break;
}
printf("You answer questions is:%d\n",count);
printf("Your final score is:%.2f\n",(float)count/i*100);
}
调试:
1 菜单函数实施结果:
进入程序后进入程序主菜单
结果以下:
输入1进入add函数,输入2进入sub函数,输入3进入mul函数.
2 add(加法)函数结果:
3 sub(减法)函数结果:
4 mul(乘法)函数结果:
5 成绩最终评定:
七、步骤图
开始
输入对应数字调用对应函数,输入1 add函数,输入2 调用sub函数,输入3 调用mul函数。
输入1,选择加法题
输入2,选择减法题
输入3,选择乘法题
输入数字,选择想做题数
输入数字,选择想做题数
输入数字,选择想做题数
进行加法操作
进行减法操作
进行乘法操作
输出结果及成绩评定
结束
八、结语
经过这次课程设计,我和杨威同学经过共同努力,完成了《小学生数学测试软件》这一课程设计,在这过程中也加深了对书本认识和了解。同时,我们也会去查资料,学会了我对很多函数有了新认识,也学会了利用多个函数,我也明白了写软件基础过程和基础方法。写软件过程中我又学到了曾经自己不知道函数或是自己不会函数使用方法。这次课程设计课总来说让我受益匪浅。在软件设计过程中碰到了很多困难,我们也学会了在困难中处理问题。
这次程序设计过程中,我们受益匪浅,也让我们体会到了失败时焦虑和难受,成功时兴奋和喜悦。同时我们小组组员互帮互助,让我认识到团体力量,团结就是力量。
九、参考书目
[1] 谭浩强,C程序设计教程,清华大学出版社,
[2] 赵永哲,李雄飞,戴秀英编著,《C语言程序设计》,科学出版社,
[3] 夏宽理,赵子正编著,《C语言程序设计》,中国铁道出版社,
[4] 谭浩强编著,《C程序设计》,清华大学出版社,1991年
[5] Gary J. Bronson, A First Book of ANSI C (Fourth Edition), Publishing House of Electronics Industry, .
[6] Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth Edition), China Machine Press, .
[7] Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, China Machine Press, .
物理和电子信息学院课程设计评定意见
指导老师评语
关键内容包含:设计汇报内容完整性和完成情况、汇报格式规范性、经过课程设计取得收获等。
成绩: 署名: 年 月 日
注:本页和上一页用A3纸套印成封面和封底,课程设计汇报正文用A4纸打印然后装订
展开阅读全文