小学生数学测试软件C语言课程设计报告书
- 格式:doc
- 大小:353.00 KB
- 文档页数:26
课程设计(论文)题目名称小学数学测试软件课程名称C语言程序课程设计学生姓名学号系、专业信息工程系、信息大类指导教师黄同成2010年6月26 日注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。
指导教师(签字):学生(签字):课程设计(论文)评阅表学生姓名学号系信息工程系专业班级信息一班题目名称小学数学程序设计课程名称C语言程序课程设计二、指导教师评定注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。
目录1 前言 (1)2 需求分析 (1)2.1要求 (1)2.2任务 (1)2.3运行环境 (1)2.4开发工具 (1)3 概要设计与详细设计 (2)3.1系统流程图 (2)4 编码与实现 (6)4.1分析 (6)4.2具体代码实现 (8)5 课程设计总结 (15)参考文献 (16)致谢 (16)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系统流程图4 编码与实现4.1分析在程序开头部分定义四个无参函数,用来进行函数调用。
河南理工大学课程设计报告20013—2014学年第一学期课程名称数据结构课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机科学与技术指导教师2014 年 1 月8日目录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:系统自动赋值。
C语言课程设计报告题目:小学算术运算测试设计者:XXXX专业班级:13级通信2班学号:XXXX指导教师: XXXX2014年6 月14 日河南理工大学计算机学院目录1 题目与要求………………………………………………1.1 问题提出………………………………………………………1.2 本系统涉及的知识点…………………………………………1.3 功能要求………………………………………………………2 功能设计…………………………………………………2.1 算法设计………………………………………………………2.2 部分模块流程图………………………………………………3 程序代码设计……………………………………………………4 C程序设计总结……………………………………………………5 结束语………………………………………………………………参考文献………………………………………………………………附录……………………………………………………………………1 题目与要求1.1 问题提出本人计划制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确。
正确的给鼓励,错误的发出警报,并给出正确答案,最后计算分数。
1.2 本系统涉及的知识点循环、函数、结构1.3 功能要求1、能根据输入要测试的题目数,输出相应数目的试题。
2、能判断正误,错误的报警,并给出正确答案。
3、能计算出得分。
2 功能设计2.1 算法设计1、本程序实现的功能要求:利用for循环和switch完成的主菜单。
2、进入第一步出现如下信息:用户输入要练习的题数。
第二步:输出算术式子用户输入结果进行测试。
第三步:输出测试结果屏幕显示出本次测试的基本情况。
2.2 部分模块流程图3 程序代码设计输入模块1)函数原形:switch(op)2)功能:利用结构体完成10以内的加减法的出题。
3)变量及类型:int a:整形变量,存放产生10以内的随机数。
int number:整形变量,用来统计错误的题数。
长江学院信息工程系《程序设计综合课程设计》报告(2015/2016学年第一学期)学生姓名:方新盛学生班级:1530501学生学号: 2指导教师:戴晟辉2016年1月6日目录一课程设计目的及要求 (1)二课程设计任务和内容 (1)三设计说明 (2)1主要流程图 (2)2课程设计思想 (3)3 详细设计 (4)3.1 登陆模块 (4)3.2 加法模块 (6)3.3 减法模块 (7)3.4 混合模块 (9)3.5运算结果 (10)3.6使用软件 (12)四课程设计感想 (12)五参考文献 (13)六附件(程序代码) (14)小学生测验课程设计报告一、课程设计目的及要求(1)提高和加强自己的计算机应用与软件开发能力,使自己由初学者向专业的程序员过渡。
(2)培养自己独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势,综合运用所学知识,解决实际问题,全面提高学生的程序设计能力和开发能力。
(3)学习和掌握C++面向对象程序设计方法以及上机调试技巧,为今后学习其它专业课程打好坚实的基础。
(4)检测自己在这一学期对C++面向对象的学习及掌握情况。
知道自己的不足,及时的弥补。
为以后的学习打下一定的基础,也为自己以后如何制定学习计划做一铺垫。
二. 课程设计任务和内容功能齐全:界面操作灵活方便,至少实现以下基本功能:●电脑随机出10道题,每题10分,程序结束时显示学生得分;●确保算式没有超出1~2年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;●每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;●对于每道题目,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;●总成绩90分以上现实“SMART”,80~90分显示“GOOD”,70~80分显示“OK”,60~70分显示“PASS”,60分以下显示“TRY AGAIN”。
应用技术研究所课程计划报告课程名称C语言课程设计小学生心算专题CAI系统一、设计能力和设计要求1.设计容量:见附录。
2.设计要求:1)设计正确,方案合理。
2).友好的界面和易于使用。
3)程序精炼,结构清晰。
4).设计报告要5000字以上。
5).在电脑上演示。
第二,时间表在第12周的周一分配任务和查找信息。
周二,确定总体方案,进行详细设计。
周三写程序,在电脑上调试。
周四写程序,在电脑上调试。
周五,防守,总结。
周六到周日写课程设计报告。
附:课程设计报告装订顺序:封面、任务书、目录、正文、评分和附件(A4大小的图纸和程序清单)。
正文格式:一级标题3号加粗,二级标题4号宋体加粗,正文4号宋体加粗;行距为22。
正文内容:1、1、设计目的2、总体设计(程序设计框图和流程图)3、详细设计(模块功能描述(如功能函数、进出口参数描述、函数调用关系描述等。
)4、调试与测试:调试方法、测试结果的分析与讨论、测试过程中遇到的主要问题及采取的解决方案5、源程序清单及执行结果:清单要充分。
正文总字数应在5000字以上(不含程序原代码)。
附录:设计专题6:小学生心算CAI系统一、问题描述:这套系统可以用于加减乘除等单项心算练习,也可以结合心算的速度和准确度进行测试。
当用户在进行简单四则算术运算时,运算速度和正确率较高时,可以进入初等算术,从而进一步提高心算能力。
二。
功能描述:1、用户可以通过两种方式选择功能,或者按相应的数字键进入相应的心算练习,或者按光标键选择功能项。
2、电脑自动出题。
当用户输入每个练习时,用户完成的相应数量的问题将显示在屏幕上。
如果不想继续,随时可以退出。
3、所设计的系统完全适合用户。
比如除法的时候考虑到小学生的水平,只允许整除。
4、当用户输入答案不正确时,会提示错误。
如果用户连续两次输入结果不正确,计算机会自动给出正确答案供用户参考。
5、友好的界面设计。
三、算法提示:1、通过简单的编程方法2、一些橱窗设计技巧3、简单数据类型四。
吉林工程技术师范学院《C语言程序》课程设计报告书设计题目:小学练习程序专业:班级:学生姓名:学号:指导教师:2011年6月xxxxx学院目录摘要 (I)第1章绪论 (1)第2章系统分析 (2)2.1技术分析 (3)2.2功能分析 (3)第3章总体设计与详细设计 (4)3.1 系统总体设计 (4)3.2 详细设计 (6)第4章编码实现 (8)4.1 数据输入部分代码设计 (8)4.2 运算部分代码设计 (8)4.3 输出部分代码设计 (8)第5章系统调试 (10)5.1程序运行结果 (10)5.2调试过程中的问题与对策 (11)第6章总结与心得 (12)附录:1源代码 (13)2参考资料 (18)摘要小学数学学习中,课堂练习是理解和巩固知识的一种重要手段,也是启发学生智力、培养学生能力的一条重要途径。
可是众所周知数学练习是必须有较高的练习质量作基础,所以提高小学。
为检测小学生对加减乘除运算的掌握情况,特编写该程序以提高小学生的运算能力。
使用该程序之后,小学生可以利用课余时间联系运算。
C语言是近年在国内外得到迅速推广应用的一种语言。
C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。
因此,C语言特别适合于编写各种软件关键字:算术小学运算第1章绪论当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
经过这一个学期对《C程序设计》的学习,我们都学到了不少东西,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。
做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。
c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main{printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
()(2)通过编程进一步理解和掌握运算符的确切含义和功能。
2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。
(2)完成典型题目,分析遇到的困难和实验中的收获。
2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。
C语言课程设计报告《c语言课程设计报告》学院:物理与电子信息学院年级专业:09级电子信息工程2班学号:姓名:安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University同组人员:指导老师:完成日期:2010年6月21日目录一、所选课题二、设计要求三、程序具体分工四、课题分析与设计五、程序介绍六、源程序代码七、程序调试八、流程图九、实验总结2C语言课程设计报告安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University 3十、参考文献一、所选课题小学生数学测试二、设计要求1、可选择题型(加,减,乘,除);2、两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数,若选择除法运算则被除数能被整除,且除数不能为零。
3、每次在输入答案后应判断对错,并给出是否继续测试的提示,若答案错误,应给出正确答案;4、最后给出评分。
三、程序具体分工乘除部分由我完成,界面和加减测试部分由徐磊完成。
四、课题分析与设计本程序是非数值计算型算法设计,我们设计出了小学生数学测试软件的基本功能,并设计了简单的界面。
本程序主要考察针对小学生该怎样设计程序:例如小学生只进行两位数之间的加减法,只进行一位数与两位数之间的乘法,除法只能是整除等。
课题要求我们设计个可以进行加、减、乘法的程序,但我们设计的这个小学生数学测试软件也不仅实现了加、减、乘法的测试,还实现了除法的测试。
五、程序介绍程序应包括<stdio.h>和<stdlib.h>两个头文件,其中存放库函数,而产生随机数的函数则存放在头文件中。
另外程序有五个函数,分别为void menu(); /*主菜单函数*/ void add() ;/*加法函数*/ void sub();/*减法函数*/ void mul();/*乘法函数*/ void div1();/*除法函数*/,还有产生随机数函数在程序中直接调用。
c语言课程设计数学测试软件一、教学目标本节课的教学目标是让学生掌握C语言编程的基本方法,能够运用C语言设计简单的数学测试软件。
具体来说,知识目标包括:理解C语言的基本语法和数据类型;掌握C语言的运算符和表达式;了解函数的定义和调用。
技能目标包括:能够编写简单的C语言程序;能够运用C语言设计数学测试软件;能够调试和运行C语言程序。
情感态度价值观目标包括:培养学生的编程兴趣和自信心;培养学生的问题解决能力和创新精神。
二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、运算符、表达式和函数的定义和调用。
具体来说,教学大纲如下:1.C语言的基本语法和数据类型;2.C语言的运算符和表达式;3.函数的定义和调用;4.数学测试软件的设计和实现。
三、教学方法为了达到本节课的教学目标,我将采用以下教学方法:1.讲授法:通过讲解C语言的基本语法、数据类型、运算符、表达式和函数的定义和调用,让学生掌握C语言编程的基本方法;2.案例分析法:通过分析数学测试软件的设计和实现,让学生理解如何运用C语言设计数学测试软件;3.实验法:让学生动手编写和调试C语言程序,培养学生的编程兴趣和自信心。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我将准备以下教学资源:1.教材:《C语言程序设计》;2.参考书:《C语言编程思想》;3.多媒体资料:C语言编程实例和数学测试软件的设计和实现视频;4.实验设备:计算机和网络。
通过以上教学资源的使用,我希望能够丰富学生的学习体验,帮助学生更好地理解和掌握C语言编程的基本方法,并能够运用C语言设计简单的数学测试软件。
五、教学评估本节课的教学评估将采用多种方式,以全面、客观、公正地评价学生的学习成果。
评估方式包括:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和理解程度;2.作业:通过学生提交的作业,评估学生对C语言编程基本方法的掌握程度;3.考试:通过期末考试,全面测试学生对C语言编程知识和技能的掌握程度。
c语言课程设计报告C语言课程设计报告。
一、设计目的。
本次课程设计的目的在于通过实际的项目实践,帮助学生巩固C语言的基础知识,提高编程能力,培养学生的实际动手能力和解决问题的能力。
二、设计内容。
1. 学生信息管理系统。
设计一个简单的学生信息管理系统,包括学生的基本信息录入、查询、修改和删除功能。
通过这个项目,学生可以学习如何使用C语言中的结构体、文件操作等知识,加深对C语言的理解。
2. 简易计算器。
设计一个简易的计算器程序,实现基本的加减乘除运算,同时具备错误输入提示和异常处理功能。
通过这个项目,学生可以学习如何使用条件语句、循环语句和函数等知识,提高对C语言的掌握程度。
3. 学生成绩管理系统。
设计一个学生成绩管理系统,包括成绩录入、统计、排名等功能。
通过这个项目,学生可以学习如何使用数组、指针等知识,提高对C语言的应用能力。
三、设计思路。
在设计过程中,我们要注重培养学生的问题分析和解决能力,鼓励他们多动手实践,多思考,多尝试。
同时,要引导学生注重代码的规范性和可读性,提高代码的质量和可维护性。
四、设计方法。
1. 理论教学与实践相结合。
在课程教学中,要注重理论知识的讲解,同时配合实际的项目练习,让学生在实践中巩固所学知识,提高编程能力。
2. 引导学生独立思考与合作交流。
在项目实践过程中,要引导学生独立思考问题,培养他们解决问题的能力,同时鼓励学生之间的合作交流,共同解决问题,促进学习效果的提高。
3. 鼓励创新与实践。
在项目设计中,要鼓励学生发挥创造力,设计出独特的程序,同时要注重实际操作,让学生通过实践检验自己的设计,不断完善和改进。
五、设计效果。
通过本次课程设计,学生将能够掌握C语言的基本语法和常用技巧,提高编程能力,培养解决问题的能力,为以后的学习和工作打下坚实的基础。
六、总结。
C语言课程设计是学生学习C语言的重要环节,通过设计实际项目,可以提高学生的动手能力和解决问题的能力,为学生今后的学习和工作打下坚实的基础。
c语言课程设计报告书3篇c语言课程设计报告书1我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的.语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
河南城建学院《c程序设计》课程设计报告书设计题目:小学生数学测试软件指导老师:张芳芳沈云琴崔雪冰学生学号:083215242学生姓名:同组人员:时间:2015年12月25日目录第1章选题 (2)1.1 题目背景 (2)1.2课程设计目的及要求 (2)(1)提高和加强自己的计算机应用与软件开发能力,使自己由初学者向专业的程序员过渡。
(2)1.3系统实现的具体分工 (3)1.3.1标题 (3)1.3.2小学生数学测试软件的编写要求: (3)1.4开发环境 (4)第2章设计内容 (5)2.1实现功能 (5)2.2 概要设计(涉及类的框图) (6)2.3 界面设计 (7)第3章系统实现 (8)3.1 涉及知识点 (8)3.2 系统运行(主要运行界面抓图) (8)3.3 源程序清单(关键代码) (12)第4章结束语 (16)参考文献 (19)第1章选题1.1 题目背景科技的飞速发展将会给传统教育模式带来革命性的变革,多媒体设备已经引进各个学校,新型的教学模式不仅各教师带来了方便,更不用老是在充当“粉笔吸尘器”。
同时教师可以应用多媒体的先进技术制作优美的教学软件,又能很好地把握教学节奏,给学生带来不一样的学习环境,学习兴趣也会大大提高,智能化、网络化、信息化的教学软件应用势在必行。
1.2课程设计目的及要求(1)提高和加强自己的计算机应用与软件开发能力,使自己由初学者向专业的程序员过渡。
(2)培养自己独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势,综合运用所学知识,解决实际问题,全面提高学生的程序设计能力和开发能力。
(3)学习和掌握C++面向对象程序设计方法以及上机调试技巧,为今后学习其它专业课程打好坚实的基础。
(4)检测自己在这一学期对C++面向对象的学习及掌握情况。
知道自己的不足,及时的弥补。
为以后的学习打下一定的基础,也为自己以后如何制定学习计划做一铺垫。
1.3系统实现的具体分工系统分为算法,题数,结果总结等几大模块,其中教师可以通过选择算法和算数,由程序运行出结果以及准确率,main() 函数实现对程序主界面的引导。
C语言课程设计设计期限2013年 6 月 17 开始至 2013 年 6 月 21 结束系别信息管理与信息系统专业 36 班级 112030601学生姓名邓茂华学号11203060106指导教师纪钢金艳重庆理工大学[主要内容有]:问题描述、基本设计要求、系统分析、流程图、程序代码、测试数据、小结。
[问题描述]:通过C语言编写小学生数学测试软件:1) 可选择题型(+,-,*,/);2) 可选择每次答题的个数;3) 随机生成两个数进行运算;4) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;5) 给出统计结果。
[基本设计要求]:利用C语言中函数的嵌套调用、全局变量、循环控制等来实现数据之间的运算,最终实现小学生数学测试软件的运行。
[系统分析]:#include<stdio.h>#include<stdlib.h>#include<time.h>#include<math.h>int type;//定义全局变量;int j;void main(){int yunsuan();//在主函数中嵌套一个子函数,实现子后面主函数调用子函数的运行结果;int answer;int temp;int score=0,right=0;int k,i;printf("\n\n 制作人:邓茂华学号:11203060106\n\n\n");//制作系统的封面;printf("***********************************************\n");printf("**------------小学生数学测试系统-------------**\n");printf("***********************************************\n");for(;;)//设置死循环,实现测试结束后返回;{printf("\n请你选择测试题目的种类(只需输入数字代号):\n");//选择测试题目的种类;printf("\n1.加法2.减法3.乘法4.除法\n");scanf("%d",&type);while(type!=1&&type!=2&&type!=3&&type!=4)//输入错误时实现循环,直到输入正确时跳出循环;{printf("你输入错误,请重新输入\n");printf("\n1.加法2.减法3.乘法4.除法\n");scanf("%d",&type);}printf("\n请输入你想答题的难易程度:\n\n");printf("\n1.简单2.一般3.困难\n\n");scanf("%d",&j);while(j!=1&&j!=2&&j!=3){printf("\n请输入你想答题的难易程度:\n\n");printf("\n1.简单2.一般3.困难\n\n");scanf("%d",&j);}printf("\n请输入你要答题的个数:\n");scanf("%d",&k);for(i=0;i<k;i++){answer=yunsuan();//调用子函数的结果;printf("\n请输入你的答案:\n");scanf("\n%d",&temp);if(answer==temp)//将测试者输入的结果与计算机算出的结果比较,并判断正误;printf("\n答对了,很好!\n"),right++;else printf("\n**********答错了,正确答案是%d,继续努力!\n\n",answer);}printf("\n\n--------------------------------------------------------------\n\n");score=(100*right)/k;//实现对测试者的评分;printf("**********你答对了%d道题!\n",right);if(score<60){printf("**********只考了%d分,成绩不是很理想哦!继续努力!!\n",score);continue;}if(score>=60&&score<80){printf("**********你考了%d分,成绩一般!\n",score);continue;}else if(score>=80&&score<100){printf("**********你考了%d分,不错哟!再接再励!\n",score);continue;}else{printf("**********哇,你真是太棒啦,居然考了%d分,说不定是未来的数学家哦!\n",score);printf("\n");continue;}}}int yunsuan()//在子函数中实现加减乘除的运算并返回结果;{int a,b,c,m;m=(int)pow(10,j);if(type==1)//加法运算;{srand(time(0));a=rand()%m;b=rand()%m;printf("%d+%d=",a,b);return(a+b);}else if(type==2)//减法运算;{srand(time(0));a=rand()%m;c=m-a;c=rand()%c;printf("%d-%d",a+c,a);return(c);}else if(type==3)//乘法运算;{srand(time(0));a=rand()%m;b=rand()%100;printf("%d*%d=?",a,b);return(a*b);}else //除法运算;{srand(time(0));a=rand()%(m-1)+1;c=rand()%(m-1)+1;printf("%d/%d",a*c,a);return(c);}}[流程图]:[程序代码]:#include<stdio.h>#include<stdlib.h>#include<time.h>#include<math.h>int type;int j;void main(){int yunsuan();int answer;int temp;int score=0,right=0;int k,i;printf("\n\n 制作人:邓茂华学号:11203060106\n\n\n");printf("***********************************************\n");printf("**------------小学生数学测试系统-------------**\n");printf("***********************************************\n");for(;;){printf("\n请你选择测试题目的种类(只需输入数字代号):\n");printf("\n1.加法2.减法3.乘法4.除法\n");scanf("%d",&type);while(type!=1&&type!=2&&type!=3&&type!=4){printf("你输入错误,请重新输入\n");printf("\n1.加法2.减法3.乘法4.除法\n");scanf("%d",&type);}printf("\n请输入你想答题的难易程度:\n\n");printf("\n1.简单2.一般3.困难\n\n");scanf("%d",&j);while(j!=1&&j!=2&&j!=3){printf("\n请输入你想答题的难易程度:\n\n");printf("\n1.简单2.一般3.困难\n\n");scanf("%d",&j);}printf("\n请输入你要答题的个数:\n");scanf("%d",&k);for(i=0;i<k;i++){answer=yunsuan();printf("\n请输入你的答案:\n");scanf("\n%d",&temp);if(answer==temp)printf("\n答对了,很好!\n"),right++;else printf("\n**********答错了,正确答案是%d,继续努力!\n\n",answer);}printf("\n\n--------------------------------------------------------------\n\n");score=(100*right)/k;printf("**********你答对了%d道题!\n",right);if(score<60){printf("**********只考了%d分,成绩不是很理想哦!继续努力!!\n",score);continue;}if(score>=60&&score<80){printf("**********你考了%d分,成绩一般!\n",score);continue;}else if(score>=80&&score<100){printf("**********你考了%d分,不错哟!再接再励!\n",score);continue;}else{printf("**********哇,你真是太棒啦,居然考了%d分,说不定是未来的数学家哦!\n",score);printf("\n");continue;}}}int yunsuan(){int a,b,c,m;m=(int)pow(10,j);if(type==1){srand(time(0));a=rand()%m;b=rand()%m;printf("%d+%d=",a,b);return(a+b);}else if(type==2){srand(time(0));a=rand()%m;c=m-a;c=rand()%c;printf("%d-%d",a+c,a);return(c);}else if(type==3){srand(time(0));a=rand()%m;b=rand()%100;printf("%d*%d=?",a,b);return(a*b);}else{srand(time(0));a=rand()%(m-1)+1;c=rand()%(m-1)+1;printf("%d/%d",a*c,a);return(c);}}[测试数据]:界面:加法:减法:乘法:除法:评分并返回:[小结]:原以为自己把书上的东西都弄明白了就行了,在做这次课程设计的时候就发现有些不是那么回事了,但也并不是完全没用,做这个还是需要很多的理论基础。
⼩学数学学习系统(C语⾔课程设计报告,有源代码)课程设计报告课程设计名称:C语⾔课程设计课程设计题⽬:⼩学数学学习系统⽬录第1章概要设计 (3)1.1题⽬的内容与要求 (3)1.2总体结构 (3)第2章详细设计 (4)2.1数据结构设计 (4)2.2功能设计 (4)2.2.1 学⽣信息存储模块 (4)2.2.2 菜单选择模块 (5)第3章调试分析 (10)第4章使⽤说明 (11)参考⽂献 (19)附录(源代码) (21)第1章概要设计1.1题⽬的内容与要求内容:1.具有随机出题功能,且可以选择难度等级,不要混合运算功能;2.⾃动评分功能,当⽤户电答题后能给出⽤户的分值;3.查看正确答案;4.错题重做功能。
要求:1、⽤户登录;2、程序采⽤⽂本菜单界⾯。
1.2总体结构本程序主要分为5个模块(功能模块图见图1.1):1.学⽣信息存储模块,2.菜单选择模块,3.试题测试模块,4.得分与排名模块图1.1第2章详细设计2.1数据结构设计⾸先定义结构体数组存储学⽣信息,注册,录⼊学⽣个⼈信息,将学⽣信息储存在TXT ⽂档中,⽤指针写⼊⽂件,⽤while循环语句开始写⼊测试等级难度,保存正确结果,计算正确率,最后查看排名。
2.2 功能设计2.2.1 学⽣信息存储模块main函数实现程序的菜单操作。
根据⽤户选择的不同选项调⽤不同的函数,实现“注册”、“输⼊学号”、“选择难度答题”、“返回主菜单”等功能。
具体情况流程图如图2.1所⽰:算法1在屏幕上输出“请注册”选项;2接受⽤户输⼊2.2.2图 2.2图2.3 2.2.3图 2.4图 2.5 2.2.4 得分与排名模块图 2.6章调试分析第3章调试分析在上机调试过程中遇到许多问题:1.引⽤库函数的头⽂件写成“#include “stdio””;2.变量int类型未先定义后使⽤;仔细思考总结,查阅教材解决;3.将学⽣信息输⼊后答题,但发现⽆法进⾏下⼀步功能;解决办法:按F10键进⾏单步调试,⾸先发现指向⽂件数据的指针没有数据,然后对⽂件直接进⾏数据加⼊,发现其他功能能够实现,然后对指向⽂件数据的指针进⾏修改,发现⽆论怎样修改数据都⽆法进⼊到⽂件,于是对数据输⼊函数进⾏修改,发现犯了⼀个⽐较低级的错误,scanf(“”)输⼊数据时忘记“&”符号,造成数据⽆法输⼊;4.使⽤随机数函数,但是调试过程中出现“rand()未定义”,⽆法产⽣随机数;解决办法:查找书籍,发现是未使⽤“rand()”函数的头⽂件,调⽤“#include”后,随机函数问题得以解决;第4章使⽤说明(1).注册。