C语言课程设计小学数学测试软件.docx
《C语言课程设计小学数学测试软件.docx》由会员分享,可在线阅读,更多相关《C语言课程设计小学数学测试软件.docx(18页珍藏版)》请在冰点文库上搜索。
C语言课程设计小学数学测试软件
课程设计(论文)
题目名称小学数学测试软件
课程名称C语言程序课程设计
学生姓名
学号
系、专业信息工程系、信息大类
指导教师黄同成
2010年6月26日
课程设计(论文)任务书
年级专业
信息工程
学生姓名
学号
题目名称
小学数学测试软件
设计时间
6.13-6.26
课程名称
C语言程序课程设计
课程编号
131301301
设计地点
计算机中心
一、课程设计(论文)目的
利用已学的知识,进行程序设计。
C语言是一门很强的实践性课程。
课程设计为学生提供了一个既动脑又动手的,独立实践的机会。
提高学生适应实际的实践环境和实践编程的能力。
应能培养学生的独立个探索能力,同时也是对学生的理论知识和基础技能的全面考核。
二、已知技术参数和条件
1、已知技术参数
函数调用的应用、while()函数、switch()和if()函数的应用,及基本的普通的函数应用。
2、条件
学校提供的计算机实验设备,及自己的计算机设备。
三、任务和要求
1、要求
(1)用C语言实现程序设计;
(2)利用结构体进行相关信息处理;
(3)画出查询模块的流程图;
(4)系统的各个功能模块要求用函数的形式实现;
(5)界面友好(良好的人机互交),程序要有注释
2、任务
(1)可选择题型(+,—,*);
(2)可选择每次答题的个数;
(3)随机生成两个数进行运算;
(4)每次在输入答案后判断对错,若答案错误,应该给出正确答案;
(5)最后给出做对题目的总个数;
(6)编写代码;
(7)程序分析与调试。
注:
1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;
2.此表1式3份,学生、指导教师、教研室各1份。
四、参考资料和现有基础条件(包括实验室、主要仪器设备等)
藏考资料:
已有的C语言程序设计基本课程书,及图书馆借的C语言设计书。
现有的基础条件:
实验楼实验室计算机设备。
五、进度安排
2010.6.8-2010.6.11:
指导教师拟定课程设计课题
2010.6.12-2010.6.15:
选题,下发任务书,学生搜集相关参考资料
2010.6.16-2010.6.21:
编程
2010.6.22-2010.6.26:
撰写课程设计报告
2010.6.27-2010.6.29:
指导教师批阅课程设计报告,评定学生成绩
六、教研室审批意见
教研室主任(签字):
2010年6月12日
七、主管教学主任意见
主管主任(签字):
2010年6月13日
八、备注
指导教师(签字):
学生(签字):
课程设计(论文)评阅表
学生姓名学号
系信息工程系专业班级信息一班
题目名称小学数学程序设计课程名称C语言程序课程设计
一、学生自我总结
1、设计过程的感受与体会
在这个学期刚开学的时候,听说这个学期要学C语言,我当时充满了期待,当时以为它很简单。
等到开始学C语言理论课,我才发现C语言可不是那么容易的,在这个过程中,有时为了成功做出一个小程序而兴奋了几天,有时却又因为一个很难的程序题而烦恼。
在设计过程中,首先要解决的是自己完成还是和同学合作完成,因为这个小学数学测试软件系统并非一个大型系统。
开始自己一个人做,后来发现了许多问题,首先它发的时间比较多,并且设计中会出现许多错误,有时发了好多时间都没找到。
最后决定还是与同学合作,才发现团队合作是多么的重要,不同见解不同思维,能让你完成的更轻松,收获的更多,而且将来走上社会工作,往往是多人合作来完成一个大项目,而不是单打独斗。
因此更重要的是要学会合作。
而且在设计过程中会遇到一些陌生的函数,不过我们通过查资料及同学的帮助理解了它,虽然仅仅是一次小设计,但是我们收获的知识却不仅仅是一点点
学生签名:
2010年6月26日
二、指导教师评定
评分项目
资料查阅
编写规范
基本技能
设计能力
科学素养
工作量
综合成绩
权重
10
15
25
30
10
10
单项成绩
指导教师评语:
指导教师(签名):
2010年6月29日
注:
1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;
2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。
1前言
编写一个小学数学测试软件,可选择题型(+,—,*),可选择答题个数,并判断对错,错误,给出正确答案。
2需求分析
(1)用C语言实现程序设计;
(2)利用结构体进行相关信息处理;
(3)画出查询模块的流程图;
(4)系统的各个功能模块要求用函数的形式实现;
(5)界面友好(良好的人机互交),程序要有注释
2.2任务
(1)可选择题型(+,—,*);
(2)可选择每次答题的个数;
(3)随机生成两个数进行运算;
(4)每次在输入答案后判断对错,若答案错误,应该给出正确答案;
(5)最后给出做对题目的总个数;
(6)编写代码;
(7)程序分析与调试。
2.3运行环境
(1)WINDOWS2000/XP系统
(2)TurboC2.0编译环境
2.4开发工具
C语言
3概要设计与详细设计
3.1系统流程图
a=2
调用sub()函数
break
a=3
调用mul()函数
break
a=4
结束程序
N
Y
N
N
N
Y
Y
Y
break
调用add()函数
a=1
调用mean()函数
1
Inta
开始
main函数流程图
Inta,b,c,re=0,sum=0
1
a=rand()%100;b=rand()%100
调用scanf函数
c==a+b
re++,sum++
re++
2
system“cls”
Y
N
N
Y
2
break
add函数流程图
Inta,b,c,re=0,sum=0
1
a=rand()%100;b=rand()%100
调用scanf函数
c==a-b
re++,sum++
re++
2
system“cls”
Y
N
N
Y
2
break
sub函数流程图
Inta,b,c,re=0,sum=0
1
a=rand()%100;b=rand()%100
调用scanf函数
c==a*b
re++,sum++
re++
2
system“cls”
Y
N
N
Y
2
break
mul函数流程图
4编码与实现
4.1分析
在程序开头部分定义四个无参函数,用来进行函数调用。
voidmenu();
voidadd();
voidsub();
voidmul();
在
voidmain()
{}
中用
while()
{}进行语句循环而且在它的里面还用
switch(表达式)
case常量表达式1:
语句组1;
case常量表达式2:
语句组2;
case常量表达式3:
语句组3;
……………………………
case常量表达式n:
语句组n;
[default:
n+1;]
语句处理多分支情形,使用户能输入(1,2,3)时进行加法、减法、乘法三种不同的测试。
输入4时推出程序。
voidmenu()
{}
在这个函数中输出软件文字提示内容。
在
voidadd()
{}
voidsub()
{}
voidmul()
{}
这三个函数中用
while()
{
if()
{
}
case1:
{
}
循环语句嵌套使语句循环下去,。
并且在循环中,输入1继续答题,答题后re++计数,答对题后sum++计数。
当用户输入2时停止。
4.2具体代码实现
#include
#include
#include
voidmenu();
voidadd();
voidsub();
voidmul();
voidmain()
{
inta;
while
(1)
{
menu();
printf("请选择相应的选项:
");
scanf("%d",&a);
switch(a)
{
case1:
add();
break;
case2:
sub();
break;
case3:
mul();
break;
case4:
exit(0);
break;
default:
break;
}
}
}
voidmenu()
{
printf("***********************************************\n");
printf("*☆☆☆☆☆☆☆小学数学测试软件☆☆☆☆☆☆☆☆☆☆*\n");
printf("***********************************************\n");
printf("*---------请选择您要进行的操作----------------*\n");
printf("*----●1.加法测试----*\n");
printf("*----●2.减法测试----*\n");
printf("*----●3.乘法测试----*\n");
printf("*----●4.退出系统----*\n");
printf("***********************************************\n");
}
voidadd()
{
inta,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("回答对了!
还要继续答题吗?
\n选择的题目数:
%d,答对的题目数字:
%d\n1.继续2.退出",re,sum);
}
else
{
re++;
printf("回答错了.正确答案为%d.还要继续答题吗?
\n选择的题目数:
%d,答对的题目数字:
%d\n1.继续2.退出",a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
voidsub()
{
inta,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("回答对了!
还要继续答题吗?
\n选择的题目数:
%d,答对的题目数字:
%d\n1.继续2.退出",re,sum);
}
else
{
re++;
printf("回答错了.正确答案为%d.还要继续答题吗?
\n选择的题目数:
%d,答对的题目数字:
%d\n1.继续2.退出",a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
voidmul()
{inta,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("回答对了!
还要继续答题吗?
\n选择的题目数:
%d,答对的题目数字:
%d\n1.继续2.退出",re,sum);
}
else
{
re++;
printf("回答错了.正确答案为%d.还要继续答题吗?
\n选择的题目数:
%d,答对的题目数字:
%d\n1.继续2.退出",a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
5课程设计总结
1、设计过程的感受与体会
在这个学期刚开学的时候,听说这个学期要学C语言,我当时充满了期待,当时以为它很简单。
等到开始学C语言理论课,我才发现C语言可不是那么容易的,在这个过程中,有时为了成功做出一个小程序而兴奋了几天,有时却又因为一个很难的程序题而烦恼。
现在这个学期快结束了,学完了C语言理论课,接下来就是要学以致用,否则个人认为学什么都没有意义,期末开始了课程设计,为做好此设计,在老师的指导下,我和搭档开始我们初次应用C语言设计自己的第一个应用系统。
在进行课程设计之前几天,不知从何入手,一脸茫然。
为什么呢?
因为我们没有这样系统的做过程序,并不知道自己要做些什么,并且想自己做出来,以为这样才可体现我们的智慧和能力,其实这是大错特错的。
抱着这样的态度迷茫了三四天只想出了一丁点大至结构,离最后成功还远得很。
最后决定我们分工合作,并且在网上搜寻资料,才发现自己的想法网上比比皆是,比自己的想法更完美更合理的多得看都看不完。
此时才知道自己能力的不足,如早从网上借鉴,集大家之所成,加上自己的修改完善,早已做出了更好的系统结结构和想法了。
现在才知道,团队合作的重要性,三个臭皮匠赛过诸葛亮。
我们通过借鉴网上的资料,然后再不断地修改完善,增加自己所需的功能,做出自己的特色的程序。
完成设计后,我觉得收获不少,首先是自己首次应用所学知识做出了这个小学数学测试软件,那心里是多么的兴奋。
而收获更大的是让我学到了怎样和他人合作完成一件任务,以及在完成的过程中如何沟通。
完成设计是在一定时间内完成的,在完成这个设计开始前,我们做得不够好,大家都没有合理的安排时间,并且分工不明确,最后时间比较紧迫。
可能还存在一些不足,我们并没又发现。
不过有了这第一次的锻炼,我相信我们以后会做的更好。
2、遇到的问题与解决方法
在设计过程中,首先要解决的是自己完成还是和同学合作完成,因为这个小学数学测试软件系统并非一个大型系统。
开始自己一个人做,后来发现了许多问题,首先它发的时间比较多,并且设计中会出现许多错误,有时发了好多时间都没找到。
最后决定还是与同学合作,才发现团队合作是多么的重要,不同见解不同思维,能让你完成的更轻松,收获的更多,而且将来走上社会工作,往往是多人合作来完成一个大项目,而不是单打独斗。
因此更重要的是要学会合作。
而且在设计过程中会遇到一些陌生的函数,不过我们通过查资料及同学的帮助理解了它,虽然仅仅是一次小设计,但是我们收获的知识却不仅仅是一点点。
参考文献
[1]张福祥.C语言程序设计[M].辽宁大学出版社,2010.1
[2]张福祥.C语言程序设计实验实训与习题解答[M].沈阳:
辽宁大学出版社,2010.1
[3]牛莉,刘远军等.计算机等级考试辅导教程[M].北京:
中国铁道出版社,2008
致谢
毕业论文暂告收尾。
首先我要感谢黄老师对我们技术上的指导,并感谢和我一组的两位同学,没有他们的帮住,如果凭我自己是没办法这么快完成程序的,我们一苦过,一起累过,不过那些都是美好的回忆,最终我们征服了他。
在这里还要感谢我的室友,在我出现疑惑的时候,对我的指导。
在这段时间里,我在学习上和思想上都受益非浅。
这除了自身努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。
感谢信息一班的各位同学,与他们的交流使我受益颇多。
时间的仓促及自身专业水平的不足,整篇论文肯定存在尚未发现的缺点和错误。
恳请阅读此篇论文的老师、同学,多予指正,不胜感激!