C语言课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南理工大学
计算机科学与技术学院
课程设计报告
200 8 — 200 9 学年第一学期
课程名称C语言课程设计
设计题目《小学算术运算测试》学生姓名马坤明
学号************
专业班级计算机07-2班
指导教师刘小燕
2008 年9 月12日
目录
1.设计任务书 (2)
1.1 题目与要求 (2)
1.2 本程序涉及的知识点 (2)
2.功能设计 (2)
2.1算法设计 (2)
2.2部分模块流程图 (2)
3. 程序代码设计 (4)
3.1输入函数 (4)
3.2输出函数 (5)
4.C程序设计总结 (6)
5.致谢 (6)
参考文献 (6)
1、设计任务书
1.1、题目与要求
我计划编写小学算术运算测试程序。要求完成10以内的加减运算。能根据用户输入的想要练习的题目数自行出题。用户输入答案后可以判断正误,并能给出算对及算错的题目数,最后计算出分数。同时,对于用户算错的题目会发出报警声,提示用户注意,同时给出正确结果。做完一次测试后用户可决定是否继续进行下一次测试。
1.2、本程序涉及的知识点
变量的定义、输入和输出函数、产生随机数函数、if语句、goto语句、转意字符的使用等等。
2、功能设计
2.1、算法设计
1、本程序实现的功能要求:利用if语句完成所示的主菜单。
2、进入第一步出现如下信息:
开始测试?(输入y开始,输入n推出)
选择y后,进入第二步。
用户输入要练习的题数。
第三步:输出算术式子
用户输入结果进行测试。
第四步:输出测试结果
屏幕显示出本次测试的基本情况。
2.2、部分模块流程图
3、程序代码设计
3.1、输入函数
1)函数原形:scanf(“%d”,&*)
2) 功能: scanf()函数利用取地址符号&完成对程序中某个变量的赋值,进而
程序中判断循环的功能。
3)变量及类型:
int a,b,m: 整型形参变量,接收main()传过来的随机数字。
int i,num:循环控制变量。
int c,d,f,n,num,j,s,t: 整型形参变量。其中j 具有自加功能;
d,f,num,t:需要用户赋值;c,n,s:系统自动赋值。
4)说明:输入字符后需要按回车键,待系统做出判断后往下执行。
5)模块代码及其相关注释:
loop:printf("开始测试?输入1开始,输入其他键退出:");j=0; scanf("%d",&d); /*输入整型数据,把它存储在变量d的地址内*/
if(d==1)
{
printf("请输入练习的题目数:");
scanf("%d",&num); /*输入要练习的题数*/
for(i=0;i { srand((unsigned)time(NULL)); m=rand() % 2; /*接收程序随机产生的数字1或0*/ Loop:a=rand() % 10; b=rand() % 10; if(a+b>10) goto Loop; 3.2、输出函数 1)函数原形:printf(“**********”,*) 2)功能:输出相关提示信息及最后结果。 3)相关变量: int n:输出正确结果。 int j,c,s :输出计算正确,错误的题数及所得分数。 4)说明:输出时要把要输出的信息用双引号括起来,输出数字时要在其代表变量前加逗号。 5)模块代码及其相关注释: { printf("%d+%d=",a,b); /*输出算式a+b*/ n=a+b; scanf("%d",&t); if(t!=a+b) printf("错误,正确答案为:%d。\n\a\a",n); /*输出计算结果*/ else{ printf("正确\n");j++; } } } c=num-j; s=100*j/num; printf("做对题数:%d,做错题数:%d,得分:%d\n",j,c,s); /*输出测试相关结果*/ printf("再来一次?"); printf("2再来,其他键退出:"); /*提示用户输入信息*/ scanf("%d",&f); if(f==2) goto loop; else printf("结束"); } } 4、C程序设计总结 本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过不能运行、不能产生十以内随机数字、不能随机出现加减、不会正确输出结果、不能进行循环练习等等问题。经过我的努力及同学的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善。现在它能对出错的题目发出报警声,并且给出正确答案。最后还能分别输出对错的题数及所得分数。 在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。 5、致谢 能够完成这次课程设计必须感谢C语言课程老师张黎娜(是她教会了我C语言这门课程)、王攀同学(她帮我修改了几处重要错误,同时启发我完善了该程序的功能)。 参考文献 [1] 贾宗璞、许合利,C语言程序设计,江苏:中国矿业大学出版社,2007.6 [2] 谭浩强,C程序设计(第二版),北京:清华大学出版社,2001.1 [3]