小学生数学测试软件-C语言课程设计
- 格式:doc
- 大小:364.00 KB
- 文档页数:27
课程设计(论文)题目名称小学数学测试软件课程名称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分析在程序开头部分定义四个无参函数,用来进行函数调用。
c语言课程设计 小学数学一、课程目标知识目标:1. 让学生掌握C语言的基本语法和结构,如变量声明、数据类型、运算符、控制语句等;2. 帮助学生理解并运用C语言编写简单的数学运算程序,解决小学数学问题;3. 引导学生了解程序设计的思路和方法,培养其逻辑思维能力。
技能目标:1. 培养学生运用C语言编写数学运算程序的能力;2. 培养学生通过编程解决实际问题的能力;3. 培养学生动手实践、调试程序的能力。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养其探究精神;2. 培养学生团队合作意识,学会与他人共同解决问题;3. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
课程性质:本课程为小学数学与C语言编程相结合的跨学科课程,旨在通过编程解决数学问题,提高学生的逻辑思维能力和动手实践能力。
学生特点:小学高年级学生,具备一定的数学基础和逻辑思维能力,对编程有一定的好奇心。
教学要求:教师应注重理论与实践相结合,关注学生的学习过程,鼓励学生积极参与讨论和实践,培养学生的自主学习能力。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. C语言基础知识:- 变量声明与数据类型- 运算符与表达式- 控制语句(if、for、while等)- 函数定义与调用2. 编程解决数学问题:- 小学四则运算(加、减、乘、除)- 循环与迭代(如:求解最大公约数、最小公倍数)- 数列与数学公式(如:求解等差数列、等比数列)- 逻辑推理与条件判断(如:质数判断、奇偶性判断)3. 实践项目与案例分析:- 编写计算器程序,实现基本数学运算功能- 设计数学题目生成器,随机生成小学数学题目- 分析经典数学问题,如“鸡兔同笼”,并用编程解决教学大纲安排:第一周:C语言基础知识学习,包括变量、数据类型、运算符等第二周:控制语句学习,学会使用if、for、while等语句第三周:函数定义与调用,培养学生模块化编程思想第四周:编程解决数学问题,学习四则运算、循环与迭代等第五周:实践项目与案例分析,提高学生编程解决实际问题的能力教学内容与课本关联性:本课程教学内容与小学数学课本紧密结合,通过编程实现数学问题的求解,帮助学生巩固数学知识,提高编程技能。
3.设计结果与分析利用微软公司的C++开发工具Microsoft Visual C++ 6.0创建MFC应用程序,添加各种对话框资源、菜单项,编写代码完成软件的各种功能,软件经过检查修改无误后运行通过操作各个菜单项以及对话框按钮,各部分的功能与菜单提示一致。
(1)运行软件,主对话框及各功能菜单如图3、4、5、6所示。
图3 主对话框图4 “软件说明”子菜单图5 “评分说明”子菜单沈阳大学图6 “意见反馈”子菜单(2)选择主对话框界面的题型分级,点击“开始”按钮,开始答题,满足用户需求,实现随机出题,答题完成,单击“下一题”或回车调用下一道题目,如图7所示。
图7 答题对话框当答案框中输入为空时,弹出对话框提示输入答案,如图8所示。
图8 无答案提示框沈阳大学当答题答案回答错误时,弹出对话框提示回答错误并显示错误次数,每道题有3次答题的机会,3次答错后进入下一题,错误次数不同获得的分数不同。
如图9所示。
图9 答题错误提示框答题对话框上附有操作菜单,方便用户在答题过程中临时变换所选题目等级,以及随时正确退出该软件,使用户用得方便自如。
如图10所示。
图10 答题对话框菜单(3)10道题目回答完毕之后系统自动调用成绩单对话框,成绩单会将每道题的三次答案以及最终得分都显示在列表中,一目了然,方便用户进行总结和纠错。
列表的右侧附有该软件的评分标准,供用户参考,帮助用户提高成绩。
下方列有对错题数、所用总时间、总成绩以及以往用户在所选等级段的最佳成绩,方便用户进行比较。
浏览完成绩单后点击“确定”按钮或直接关闭成绩单返回主对话框界面。
如图11所示。
沈阳大学图11 成绩单对话框同时“查看成绩”菜单项用于在用户做完10道题后查看所得分数,也可调出成绩单对话框,如果没有答题或答题中途返回主对话框,则用于存储信息的链表为空,不能显示成绩,此时弹出对话框提示无成绩,如图12所示。
图12 无成绩对话框(4)在主对话框的菜单栏包含三个菜单:软件说明、评分说明、意见反馈。
河南理工大学课程设计报告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:整形变量,用来统计错误的题数。
C课程设计:小学生测验程序面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。
功能要求:(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”。
题目3 运动会比赛计分系统要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;功能要求:(1)系统以菜单方式工作(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩(4)查看参赛学校信息和比赛项目信息等。
#include<stdio.h>#include<time.h>#include<stdlib.h>main(){int i,j,a,b,c,score[10],trueV alue,sum=0;srand((unsigned)time(NULL));for(i=0;i<10;i++){for(a=rand()%51,b=rand()%51;a+b>50 || a+b<0 || a-b>50 || a-b<0; a=rand()%51,b=rand()%51)/*表示运算数的范围不超过50*/c=rand()%3;for(j=0;j<3;j++){ /*表示输入答案的3次机会*/if(c==1){printf("%d:%d+%d=",i+1,a,b);trueValue=a+b;scanf("%d",&score[i]);if(score[i]!=trueValue){printf("答案错误,请重新输入.\n");score[i]=0;}else{if(j==0){score[i]=10;}else if(j==1){score[i]=7;}else{score[i]=5;}break;}}else{printf("%d:%d-%d=",i+1,a,b);trueValue=a-b;scanf("%d",&score[i]);if(score[i]!=trueValue){printf("答案错误,请重新输入.\n");score[i]=0;}else{if(j==0){score[i]=10;}else if(j==1){score[i]=7;}else{score[i]=5;}break;}}}if(score[i]==0){printf("正确答案是:%d\n",trueValue);}sum=sum+score[i];}printf("你的成绩是:%d\n",sum); if(sum>90){printf("SMART.\n");}else if(sum>=80){printf("GOOD.\n");}else if(sum>=70){printf("OK.\n");}else if(sum>=60){printf("PASS.\n");}else{printf("TRY AGAIN\n");}return 0;}。
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语言程序设计题目:小学生算术四则运算测试系统系名:信息工程系专业班级:计算机1102班*名:**学号:***********指导教师:2011年6月24 日课程设计任务书学生姓名:徐立专业班级:计算机1102指导教师:工作单位:信息工程系设计题目:小学生算术四则运算测试系统初始条件:选择结构(if语句),变量的定义,输入.输出函数,产生随机函数,goto语句要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)主要任务:1.为小学生出题(分别进行+、-、*、÷等不同运算)2.学生做题后,进行评阅;3.学生每做一题后,评阅时给出“答题正确,很好”或“答题错误,重做”等字样;4.加、减、乘、除运算功能可以自由选择实现;5.运算数值可以控制在两位(或三位)数的四则运算范围内。
设计报告撰写格式要求:论文需要有以下必须章节:第一章需求分析(包含系统主要完成具体任务、系统模块设计)第二章系统实现(包含开发环境、模块流程图)第三章系统调试与测试第四章结束语(包含总结、心得)附录(源代码)标题编号要统一,例如:第三章编目为:3、3.1 、3.1.1 最多使用三级标题项目编号统一为先是1 然后是(1)再其次是①。
章节一级标题使用2号、黑体加粗、居中对齐,二级标题使用小2,黑体,三级标题使用小3,黑体,正文统一使用小4,宋体。
论文必须要有目录论文装订顺序:封面->任务书->正文->封底时间安排:6月20日上午布置题目、宣讲课程设计要求6月20日下午学生选题、查阅资料和参考资料6月21日---6月23日上午完成课程设计6月23日下午验收学生程序6月24日验收学生报告指导教师签字:年月日系主任签字:年月日目录1.需求分析 (4)1.1系统主要完成具体任务 (4)1.2系统模块设计 (4)1.3模块具体说明 (4)2.系统实现 (5)2.1开发环境 (5)2.2模块流程图 (5)3.系统调试与测试 (6)3.1启用界面 (6)3.2加法界面 (6)3.3减法界面 (7)3.4乘法界面 (7)3.5除法界面 (8)3.6推出界面 (8)4.结束语 (9)5.总结 (9)附件:主要源程序代码 (9)1.需求分析1.1系统主要完成具体任务编写小学算术运算测试系统,要求完成两位数的加,减,乘,除四则预算。
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语言课程设计课程设计题目:小学数学学习系统目录第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.32.2.3图 2.4图 2.5 2.2.4 得分与排名模块图 2.6第3章调试分析在上机调试过程中遇到许多问题:1.引用库函数的头文件写成“#include “stdio””;2.变量int类型未先定义后使用;仔细思考总结,查阅教材解决;3.将学生信息输入后答题,但发现无法进行下一步功能;解决办法:按F10键进行单步调试,首先发现指向文件数据的指针没有数据,然后对文件直接进行数据加入,发现其他功能能够实现,然后对指向文件数据的指针进行修改,发现无论怎样修改数据都无法进入到文件,于是对数据输入函数进行修改,发现犯了一个比较低级的错误,scanf (“”)输入数据时忘记“&”符号,造成数据无法输入;4.使用随机数函数,但是调试过程中出现“rand()未定义”,无法产生随机数;解决办法:查找书籍,发现是未使用“rand()”函数的头文件,调用“#include<stdio.h>”后,随机函数问题得以解决;第4章使用说明(1).注册。
小学生测验C 课程设计一、教学目标本课程的教学目标是使学生掌握小学生测验C所需的知识点和技能,提高学生的学习成绩和自信心。
具体目标如下:1.知识目标:学生能够掌握本章节中的关键概念和知识点,包括(在此列举具体的知识点)。
2.技能目标:学生能够运用所学知识解决实际问题,提高解题能力和思维能力。
3.情感态度价值观目标:学生能够对学习保持积极的态度,培养良好的学习习惯和团队合作精神。
二、教学内容根据课程目标,本章节的教学内容主要包括以下几个方面:1.(在此列举具体的教学内容)。
2.(在此列举具体的教学内容)。
3.(在此列举具体的教学内容)。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:教师通过讲解和示范,引导学生理解和掌握知识点。
2.讨论法:学生分组讨论,促进学生之间的交流和合作。
3.案例分析法:通过分析实际案例,培养学生运用所学知识解决问题的能力。
4.实验法:进行实验操作,让学生亲身体验和验证所学知识。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:为学生提供权威、系统的学习材料。
2.参考书:提供丰富的学习资料,帮助学生深入理解课程内容。
3.多媒体资料:利用PPT、视频等资源,丰富教学手段,提高学生的学习兴趣。
4.实验设备:为学生提供实验材料和设备,进行实践操作。
通过以上教学设计,我们期望学生能够在本课程中达到预期的学习目标,提高学习成绩和自信心。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。
2.作业:布置适量作业,评估学生的知识掌握程度和应用能力。
3.考试:定期进行考试,检验学生对知识的掌握和运用能力。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生系统地掌握知识点。
2.教学时间:合理安排课堂时间,确保教学内容的充分讲解和实践。
河南城建学院《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课程设计报告及源程序代码课程设计报告课程名称 C语言课程设计课题名称小学数学测试系统专业纺织工程班级1202学号 28 姓名金?宜指导教师7>20XX年 01 月 06 日湖南工程学院课程设计任务书课程名称C语言课程设计课题小学数学测试系统专业班级纺织工程1202 学生姓名金?宜学号28 指导老师审批任务书下达日期2013 年 12 月 26 日任务完成日期 20XX年 01 月 06 日一、设计内容与设计课题九:小学数学测试系统。
具体内容见附录。
2.设计要求:1)设计正确,方案合理。
2)界面友好,使用方便。
3)程序精炼,结构清晰。
4)上机演示。
3.设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。
2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。
3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。
二、进度安排星期日(17周) 星期一(18周) 星期四(18周) 星期五(18周) 星期日(18周)14:00-17:00 18:00-21:00 18:00-21:00 18:00-21:00 交报告上课时间另外安排。
附录:设计课题九:小学数学测试系统一、问题描述:本系统可以用来进行简单的数学测试,并累计成绩,包括用户注册、用户登录、用户删除、题目测试、信息保存等功能。
二、功能描述:1、本系统采用结构体数组,每个数据的结构应当包括:用户名、用户密码、共测试题目数、答对题目数。
2、系统功能:用户注册:即添加新的用户名、用户密码。
用户登录:在进行数学测试之前,需进行登录,若没有该用户,需进行注册。
题目测试:系统自动生成题目注意题目的合理性,题目结果不能是负数,除数不能是0等,用户给出答案,系统可以自动测试其正确性,同时统计成绩。
武汉理工大学华夏学院课程设计课程名称C语言程序设计题目利用C语言开发一个“小学生算术四则运算测试系统”专业____电子商务_____班级______1091_______学号_____20510809105_____姓名______张宇_______成绩_________________指导教师杨沙、王绪梅2010年6月28日至2010年7月2日课程设计任务书设计题目:利用C语言开发一个“小学生算术四则运算测试系统”设计目的1.加深对《C语言程序设计》课程所学知识的理解;2.掌握结构化程序设计的基本方法;3.学会编制结构清晰、风格良好、数据结构选择恰当的C语言程序;4.掌握多模块的C语言程序的调试方法。
设计任务(在规定的时间内完成下列任务)任务描述:利用C语言开发一个“小学生算术四则运算测试系统”该系统是让计算机充当一位给小学生布置作业的算术老师,为学生出题、阅卷该系统应具备以下功能:1.为小学生出题(分别进行+、-、*、÷等不同运算)2.学生做题后,进行评阅;学生每做一题后,评阅时给出“答题正确,很好”或“答题错误,重做”等字样;3.加、减、乘、除运算功能可以自由选择实现;4.运算数值可以控制在两位(或三位)数的四则运算范围内。
具体要完成的任务是:1 完成整个规定任务的设计及调试,得出正确结果,并经教师检查及答辩;2. 写出规范的课程设计说明书;3. 课程设计结束后交设计说明书等文档和设计内容。
设计说明书的主要内容是详细写出在设计过程中所用到的主要技术或方法;4. 从6月28日起,学生每天至少要到设计教室半天以上;5.课程设计报告按国际通用格式书写,具体格式要求请在网络上查阅时间安排6月28日上午1-103教室动员全体学生,给学生下任务书;下午查阅相关资料;6月29日~7月1日完成选题的设计及报告的书写;7月2日上午提交课程设计报告并答辩。
指导教师签名:2010年 6 月27 日教研室主任(或责任教师)签名:2010年 6 月27 日1、问题描述1.1在最开始设计此程序过程中,我定义的变量flag为字符型,当把原程序段中对应于下面的程序段的程序段改为:……scanf("%d",&temp);while(temp!=answer){printf("\n答案错误,重做\n");printf("\n请输入正确的答案:\n");scanf("%d",&temp);}printf("\n继续请按y,退出测试请按n \n");scanf("%c",&flag);while(flag!=y&&flag!=n){printf("\n继续请按1,退出测试请按0 \n");scanf("%d",&flag);}……我将会发现当我做完一题且做对了的时候,无论我输入的是y还是n或者是其他的字符,printf("\n继续请按1,退出测试请按0 \n")这个提示在屏幕上出现两次,说明了在第一个scanf("%c",&flag)语句中无论什么,flag!=y&&flag!=n都是成立的,这说明了在第一个scanf("%c",&flag)中输入的字符并没有赋给flag。
C语言课程设计-小学生算术四则运算测试系统#ifndef H_STUDENT_HH#define H_STUDENT_HH#include "stdio.h"#include "string.h"#include "malloc.h"#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/ #define numsubs 5 /*学科数目*/typedef struct message_student /*结构体定义*/{char number[6];char name[20];char sex[4];float subject[numsubs];float score;float average;int index;}student;extern int numstus; /*学生数目*/extern student *pointer; /*指向结构体数组*/extern int lens;int menu_select(); /*函数声明*/int openfile(student stu[]);int findrecord(student stud[]);int writetotext(student stud[]);void welcome();void display1();void showtable();void sort(student stu[]);void deleterecord(student stu[],int i); void addrecord(student stud[]);void display(student stud[],int n1,int n2); void amendrecord(student stud[]);void count(student stud[]);void sortnum(student stud[]);void sortnum2(student stud[]);void sortname(student stud[]);void sortname2(student stud[]);void sortcount(student stud[]);void sortcount2(student stud[]);void statistic(student stud[]);void display1();#endif//#include "head.h"int menu_select(){char c;printf("\\");printf(" | 1. 增加学生记录 5.统计信息 |\"); printf(" | 2. 查询学生记录 6.打开文件 |\"); printf(" | 3. 修改学生记录 7.保存文件 |\"); printf(" | 4. 学生纪录排序 8.显示记录 |\"); printf(" | 0. 退出系统 |\");printf("\\");printf("请选择(0-8):");c=getchar();getchar();return (c-'0');}//#include "head.h"int findrecord(student stud[]) /*查找信息*/{char str[2];int i,num;if(numstus==0){printf("没有可被查找的记录\");return -1;}else{printf("以何种方式查找?\1.学号\2.姓名\3.名次\"); gets(str); if(str[0]=='1') /*按学号查找*/{printf("请输入学号:");gets(str);for(i=0;i<=numstus;i++)if(strcmp(str,stud[i].number)==0) {display(stud,i,i);break;}else continue;}else if(str[0]=='2') /*按姓名查找*/ {printf("请输入姓名:");gets(str);for(i=0;i<=numstus;i++)if(strcmp(str,stud[i].name)==0) {display(stud,i,i);break;}else continue;}else if(str[0]=='3') /*按名次查找*/ {printf("请输入名次:");scanf("%d",&num);getchar();for(i=0;i<=numstus;i++)if(num==stud[i].index){display(stud,i,i);break;}else continue;}if(i>numstus){printf("没有查找所要的信息。
C语言课程设计设计期限2013 年 6 月17 开始|至2013 年 6 月20 结束系别信息管理与信息系统专业班级学生姓名学号指导教师]主要内容有:[问题描述],小学生数学测试软件的编写[基本设计要求],~1) 可选择题型(+,-,*,/);2) 可选择每次答题的个数;3) 随机生成两个数进行运算;4) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;5) 给出统计结果。
注:根据课程设计的基本要求,针对几点进行了改进,大体改进如下,具体改进详见程序。
1)可选择类型有加、减、乘、混合运算;2)可选择每次答题的个数;3)》4)随机生成两个或三个数进行运算;5)每次在输入答案后应判断对错,若答案错误,应给出正确答案;6)给出统计结果,包括正确的个数和分数;7)根据分数的情况给出不同的建议[系统分析],程序中包括头文件#include<>、#include<>、#include<>、#include<>包函的函数。
定义子函数int style()来选择测试类型,定义子函数void jia(),void jian(),void cheng(),void hun()分别进行加、减、乘、混合运算。
定义子函数void xiao()用于成绩在80-100之间时生成两个笑脸,子函数void wu()用于成绩在60-80之间时生成两个表情,子函数void ku()用于成绩少于60时生成两个哭脸。
上述三个子函数的使用目的在于使软件在使用时增加使用者的兴趣。
《·[流程图] ,#include<>int style();void xiao();void wu();void ku();void jia();void jian();、void cheng();void hun();void main(){for( ; ; ){switch(style()){)case 1:jia();break;case 2:jian();break;case 3:cheng();;break;case 4:hun();break;case 5:printf("欢迎再次使用,再见\n");exit(0);}$}}void xiao(){int x1,x2;char diamond1[][30]={{' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' '},{'*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*'},{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},({' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' '},{' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' '}};for(x1=0;x1<5;x1++){for(x2=0;x2<30;x2++)printf("%c",diamond1[x1][x2]);printf("\n");}¥}void wu(){int g1,g2;char diamond2[][30]={{' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' '},{'*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*'},{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},{' ','*',' ','*',' ',' ',' ',' ',' ','*',' ','*',' ',' ',' ',' ',' ',' ','*',' ','*',' ',' ',' ',' ',' ','*',' ','*',' '}};—for(g1=0;g1<4;g1++)printf("%c",diamond2[g1][g2]);printf("\n");}void ku(){int r1,r2;char diamond3[][18]={{'*','*',' ',' ',' ','*','*',' ',' ',' ',' ','*','*',' ',' ',' ','*','*'},、{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},{' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' '},{' ','*',' ',' ',' ','*',' ',' ',' ',' ',' ',' ','*',' ',' ',' ','*',' '}};for(r1=0;r1<4;r1++){for(r2=0;r2<18;r2++)printf("%c",diamond3[r1][r2]);printf("\n");}—}int style(){int num;printf("\n");printf(" -*-*-*-*-*目录-*-*-*-*-*-\n");printf(" 选择加法题请按1\n");printf(" 选择减法题请按2\n");^printf(" 选择乘法题请按3\n");printf(" 选择混合题请按4\n");printf(" 选择退出请按5\n");printf(" -*-*-*-*-*-*-*-*-*-*-*-*-\n");printf(" -*-*-请选择测试题类型,输入数字:");scanf("%d",&num);if(num>0&&num<6)return(num);[elseprintf(" -*-*-输入错误,请重新输入!\n");}void jia(){int a1,b1,ans1,zhen1,i1,k1,m1,n1,he;int q1;printf("\n");¥printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");printf("1.简单2.适中3.复杂请选择题目的难易程度:");scanf("%d",&n1);for( ; ; ){int right1=0,score1=0;m1=(int)(pow(10,n1));¥printf("请输入你想做的题目数量:");scanf("%d",&k1);printf("\n");printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");for(i1=0;i1<k1;i1++){srand(time(0));:a1=rand()%m1;b1=rand()%m1;if(a1%3==0){zhen1=a1+b1;printf(" %d. %d+%d=() 你的答案是:",i1+1,a1,b1);}if(a1%3==1)){he=a1+b1;zhen1=a1;printf(" %d. ()+%d=%d 你的答案是:",i1+1,b1,he);}if(a1%3==2){he=a1+b1;~zhen1=b1;printf(" %d. %d+()=%d 你的答案是:",i1+1,a1,he);}scanf("%d",&ans1);if(ans1==zhen1){printf("恭喜你,回答正确!\n");right1++;…}elseprintf("很遗憾,回答错误!正确答案是%d,别灰心,继续努力!\n",zhen1);printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");}score1=(100*right1)/k1;printf("你答对了%d道题!\n",right1);.if (score1>=80&&score1<=100){printf("你考了%d分,很不错,再接再厉哟!\n",score1);xiao();n1++;if(n1==4)break;else¥{printf("你想挑战更高难度的题目吗是请按1,不是请按2:");scanf("%d",&q1);if(q1==2)break;}}if(score1>=60&&score1<80)|{printf("你考了%d分,还不错,但不是特别理想,继续努力!\n",score1);wu();if(n1=3){printf("你想再来几题吗是请按1,不是请按2:");scanf("%d",&q1);if(q1==2)-break;}else{printf("你想挑战更高难度吗是请按1,不是请按2:");scanf("%d",&q1);if(q1==1)n1++;—elsebreak;}}if(score1<60){printf("你只考了%d分,成绩不理想,别灰心,继续努力!\n",score1);ku();…if(n1!=3){printf("你想再来几题吗是请按1,不是请按2:");scanf("%d",&q1);if(q1==2)break;}}$}}void jian(){int a2,b2,ans2,zhen2,i2,k2,m2,n2,cha;int q2;printf("\n");printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");—printf("\n");printf("1.简单2.适中3.复杂请选择题目的难易程度:");scanf("%d",&n2);for( ; ; ){int right2=0,score2=0;m2=(int)(pow(10,n2));printf("请输入你想做的题目数量:");·scanf("%d",&k2);printf("\n");printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");for(i2=0;i2<k2;i2++){srand(time(0));a2=rand()%m2;—b2=rand()%m2;if(a2%3==0){zhen2=a2-b2;printf(" %d. %d-%d=() 你的答案是:",i2+1,a2,b2);}if(a2%3==1){|cha=a2-b2;zhen2=a2;printf(" %d. ()-%d=%d 你的答案是:",i2+1,b2,cha);}if(a2%3==2){cha=a2-b2;zhen2=b2;?printf(" %d. %d-()=%d 你的答案是:",i2+1,a2,cha);}scanf("%d",&ans2);if(ans2==zhen2){printf("恭喜你,回答正确!\n");right2++;}…elseprintf("很遗憾,回答错误!正确答案是%d,别灰心,继续努力!\n",zhen2);printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");}score2=(100*right2)/k2;printf("你答对了%d道题!\n",right2);if (score2>=80&&score2<=100)){printf("你考了%d分,很不错,再接再厉哟!\n",score2);xiao();n2++;if(n2==4)break;else{。