




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录一、课程设计的目的与要求31.1课程设计目的:31.2课程设计要求:3二、题目说明52.1程序开发背景52.2开发工具介绍6三、总体设计73.1系统流程图73.2 软件流程图9四、详细说明114.1 产生100以内的随机整数114.2随机选择计算法则124.3随机出题并打出题目134.3判断答题者是否做对题目 若错误给出正确答案144.4判断答对的题数给出分数144.5打印出答题者所做的题目16五、遇到的问题与解决方案17六、课程设计总结18七、参考文献19附录(源程序代码):20一、课程设计的目的与要求1.1课程设计目的: 1.为培养学生严谨的工作态度,锻炼学生编写文档的能力。进一步掌握和利用C语言进行程设计的能力;进一步理解和运用结构化程设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图或N-S图表示算法;掌握书写程设计开发文档的能力(书写课程设计报告); 2、熟练掌握C语言课程中所学的理论知识; C语言是在国内外广泛使用的一种计算机语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。学习使用C语言程序的目的是掌握程序设计的思路,学会用计算机语言编写程序正确处理算法和语法的关系算法是程序的核心、是灵魂,语法是外壳、是工具。通过课程设计,我们要熟练的掌握C语言的算法、语言、函数的调用、循环的使用、数组的运用等。3、通过综合C语言的基本知识来解决实际问题;C语言中与许多的东西,像:数据类型、运算符、表达式、程序设计结构、数组与函数调用。其中C语言最难和最经典的地方就是循环,(while和for的嵌套)运用WHILE,FOR,SWITCH和if的循环嵌套,我们可以实现现实中课程信息管理、图书信息管理、学生信息管理、商品信息管理等。C语言还具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。4、加强分析和解决问题的能力。通过这次的课程设计,加强同学对程序设计的思考、设计、分析、理解和解决问题的能力。对于同学来说,主要是学习成长设计的方法,进行程序设计的基本训练为将来进一步学习打下基础。课程设计不能之掌握概念,还要动手编程、上机调试运行。只有自己动手,才能学的更多。1.2课程设计要求:1、课程设计步骤:(1)对系统进行功能需求分析;(2)设计合理的数据结构和系统框架;(3)编程简练,程序功能齐全,能正确运行;(4)说明书、流程图要清楚;(5)课题完成后必须按要求提交课程设计说明书;在课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。认真编写课程设计报告。2、课程设计可以由24名同学合作完成一个课题。全体成员应共同协作完成选题,确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。整个设计期间,组长负责协调工作。各小组成员明确自己的任务后,应独立完成各自模块的设计、编码和调试,独立完成课程设计说明书。小组成员要理解同组其他成员设计的模块,熟练操作本组设计。3、考核方式和成绩评定考核分为两个部分:(1)程序运行情况:按规定时间到机房运行程序,由老师检查运行情况(2)课程设计报告:是否按规定书写课程设计要求的各项内容课程设计成绩采用百分制:100%=平时(20)上机检查(30%)+课程设计报告(50%)二、题目说明 题目:算术运算测试 ,由系统产生随机整数,并随机选择算数运算法则。功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数. 界面用字符实现。100道题目和标准答案必须存在文件中。2.1程序开发背景简单地说,算术运算就是数的加、减、乘、除以及乘方开方等数学运算。而对于算术来说,它是数学中最古老,最基础和最初等的部分.它研究数的性质及其运算.把数和数的性质,数和数之间的四则运算在应用过程中的经验积累起来,并加以整理,就形成了最古老的一门数学算术。算术运算测试程序:该程序由系统产生随机整数,并随机选择算数运算法则。再打印出系统随即出的算数运算题,然后有答题者给出答案,再由系统来判断答题者所给出的答案是否正确,并计算出答题者的成绩,最后打印出答题者所做过的题。2.2开发工具介绍C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。C语言的特点:C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。C语言中main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。优点: C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。开始三、总体设计i=0I10产生100以内的随机整数并进行算术运算I+输入题目答案判断答案是否正确计算分数给出正确答案3.1系统流程图 Type选择加法运算选择减法运算 输出做对题数及成绩Points输出做对题数及成绩输出做对题数及成绩输出做对题数及成绩输出做对题数及成绩输出做对题数及成绩输出做对题数及成绩输出做对题数及成绩输出做对题数及成绩输出做对题数及成绩输出做对零道题目 打印做题者的题目及结果结束 图3-1i=0Inum2i) printf(n%d-%d,num1i,num2i); resulti=num1i-num2i; else printf(n%d-%d,num2i,num1i); resulti=num2i-num1i; opti=-; break; 4.3随机出题并打出题目产生随机整数,并根据产生的数据判断运算法则且打印所出的题目。有关截图:相关代码:for(i=0;inum2i) printf(n%d-%d,num1i,num2i); /* 打出题目 */ resulti=num1i-num2i; else printf(n%d-%d,num2i,num1i); resulti=num2i-num1i; opti=-; break; 4.3判断答题者是否做对题目 若错误给出正确答案 输入答案判断结果是否正确,如果所给答案错误则系统给出正确答案。相关截图:代码:scanf(%d,&answer); /* 输入答题者的答案 */ if(answer=resulti) /* 判断答题者给出的答案是否正确 */ +points; printf(hui da zhen que); else printf(n*hui da cuo wu); printf(n*%d wei zheng jie,resulti); 4.4判断答对的题数给出分数根据前面的数据points判断答题者的分数相关截图:相关代码switch(points) case 10: printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 9 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 8 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 7 : printf(gongzuodui %d daoti,chengjiwei; %d,points,points*points); break; case 6 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 5 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 4 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 3 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 2 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; case 1 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*points); break; default: printf(zuoduilingdaoti); 4.5打印出答题者所做的题目打印答题者之前所做的题目并给出正确的答案。相关截图:相关代码:for(i=0;in;i+)经常写成For(i=0,in,i+),导致运行错误。解决方法:编程时候需要仔细和耐心。并记住易错的地方,输入时不应该太快 然后仔细检查。2、 对一些课本中的知识不熟悉,导致刚开始编程的时候很难下手。 解决方法:重新掌握不熟悉的知识并收集相关资料,通过课程设计,我们要熟练的掌握C语言的算法、语言、函数的调用、循环的使用、数组的运用等。 3、输入时易出现函数名被输入错误,调试时候系统显示有错误,明明是函数名输入错误,但自己就是不去检查函数名是否输入错误,非得调试系统时多次显示错误才去检查。解决方法:输入切记浮躁并认真书写函数名,输入后随时检查一下;4、输入scanf(%f%f%f,&a,&b,&c);时,常常会把&丢掉,还有时会把最后边的“;”丢掉。5、对于scanf(%d%d%d,&a,&b,&c);输入数据时常会输入错误。因为三个%d是连在一起写的,因此,在输入数据的时候有两种方法:第一种:输入一个整型后按回车,再输入一个按回车,最后再输入一个按回车;如下所示:1Enter2Enter3Enter第二种:连续输入三个整型,不过在这三个数字之间要用空格隔开,再按回车。如下所示:1 2 3 Enter6、输入输出的数据类型与所用格式说明符不一致。六、课程设计总结一周的课程设计很快结束了,一开始拿起题目时什么都不懂,真不知道从何下手到后来觉得它很有趣,很想去做并希望能把它做得更好。刚开始错误实在太多,改错误真的很头疼,不过当经过一次又一次的调试后,终于弄好了,那时却是特别的高兴。总的来说就是这次的课程让我学了不少东西,也让我对编程更有兴趣,虽然学的不是很好,不过以后会努力的。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。总的来说,本次课程设计,实在是受益匪浅。虽然课程设计只有短短的几天,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。本次C 语言的课程设计让我对C 语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识匮乏的大学生增添了许多社会经验,为我们将来走上工作岗位其了不小的铺垫作用。本次课程设计中遇到了很多以前没有遇到过的问题,也曾想要放弃,但看到那些同学都在那认真的写程序,给了我继续的信心。在同学的帮助下,我顺利的结束了本次课程设计,让我知道原来凭借自己努力取得的成功会让自己这么欣慰,也让我知道了友谊和团结的重要性。此次课程设计涉及到的相关基础知识:if-else条件结构、switch选择结构、for循环结构while循环结构、自定义函数、指针、结构体、链表、文件等,以及 DOS程序的应用。此次课程设计体会:综合实验的难度比较大,要求在掌握C语言知识的基础上,能够编写程序,并且能够根据编译提示修改程序中的错误,调试运行程序,最终还要检验是否能够实现实验任务中的功能要求。此次课程设计不足:在模块化程序设计方面所学到的知识还很浅薄,比如模块的划分、模块的组建等,今后还要继续努力。七、参考文献【1】 实用C语言程序设计教程 李金祥等编 中国电力出版社 2010【2】 Visual C+课程设计案例精编 作者:夏崇镨、任海军、余健【3】 C语言程序设计 谭浩强 清华大学出版社 1999年12月【4】 课程设计与系统开发案例 伍俊良 清华大学出版社 网址1: /html/95/n-136395.html附录(源程序代码):#include#includemain ( ) int type=0; /* 算数运算的法则:用来接收系统产生随机整数; */int i; int points=0,answer=0; int num110,num210; /* 定义两个int类型的整数数组,接收系统产生的用于运算的两个随机整数 */ int result10; /* 定义一个int类型的整数数组,用来接收答 题者所 给出的答案 */ char opt10; /* 定义一个char类型的字符数组,用来接收系统随机产生的加减运算符号 */clrscr( ); /* 清屏 */printf(*n); printf(*wellcome*n); printf(*n); printf(xian zai kai shi zuo tin); printf(qing kan ti:n); /* 提示答题者做题 */ for(i=0;inum2i) /* 判断两个数之间的大小 */ printf(n%d-%d,num1i,num2i); resulti=num1i-num2i; else printf(n%d-%d,num2i,num1i); resulti=num2i-num1i; opti=-; break; printf(=?); scanf(%d,&answer); /* 输入答题者的答案 */ if(answer=resulti) /* 判断答题者给出的答案是否正确 */ +points; printf(hui da zhen que); else printf(n*hui da cuo wu); printf(n*%d wei zheng jie,resulti); printf(nni de cheng ji ); /* 打印出 “你的成绩:” */ printf(n*n); switch(points) /* switch 语句根据points 进行判断的表达式的结果来执行多个分支中的一个 打印出答题者的做题数与成绩 */ case 10: printf(gongzuodui %d daoti,chengjiwei: %d,points,points*10); break; case 9 : printf(gongzuodui %d daoti,chengjiwei: %d,points,points*10); break; case 8 : printf(gong
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新质生产力与企业出海
- 新媒体主播:新质生产力的新职业代表
- 新质生产力带来的发展机遇
- 圆轴扭转的概念及内力
- 2025年口腔颌面外科特殊手术处理模拟测试答案及解析
- 新质生产力的国内与国际视野
- 2025年神经外科常见手术操作技能评估答案及解析
- 2025年眼科青光眼手术前后护理注意事项模拟考试卷答案及解析
- 2025年法医学法医鉴定常见案例答案及解析
- 2025年骨科手术常见并发症的应急处理模拟考试卷答案及解析
- 汉字基本笔画与书写训练
- 数控铣工(四级)职业技能理论知识考试题库附答案(新版)
- 儿童常见疾病的防治 OK课件
- 软件工程导论课件(第六版)(张海潘编著)(1-13章)
- 中建硅墨烯保温板外墙保温施工方案
- 第三讲 神话学
- 山东大学核心期刊目录(文科)
- 中医基础理论-脏象学说
- ICU患者的早期活动
- GB/T 8566-2007信息技术软件生存周期过程
- GB/T 13452.2-2008色漆和清漆漆膜厚度的测定
评论
0/150
提交评论