C语言课程设计小学生数学测试

合集下载

C语言课程设计-小学数学测试软件

C语言课程设计-小学数学测试软件

课程设计(论文)题目名称小学数学测试软件课程名称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语言课程设计小学生四则运算

C语言课程设计小学生四则运算

#include"stdio.h"#include"stdlib.h"void main(){int a,b,c,d,e,f,g,t;printf("****************************欢迎使用!************************\n");printf("\n");printf("1.加法运算\n");printf("2.减法运算\n");printf("3.乘法运算\n");printf("4.除法运算\n");printf("*****************************请选择运算类型:");scanf("%d",&a);while(a<1||a>4){printf("输入错误,请重新输入");scanf("%d",&a);}if(a==1){printf("5,一位数加一位数\n");printf("6,一位数加两位数\n");printf("7,两位数加两位数\n");printf("*********************************请输入题型:");scanf("%d",&a);while(a<5||a>7){printf("输入错误,请重新输入");scanf("%d",&a);}if(a==5){loop:b=rand()%10;c=rand()%10;d=b+c;printf("%d+%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d+%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto loop;if(f==1)printf("欢迎再次使用!");}if(a==6){loo: b=rand()%10;c=rand()%100;if (c<10) c=c+10;d=b+c;printf("%d+%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d+%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto loo;if(f==1)printf("欢迎再次使用!");}if(a==7){loog:b=rand()%100;c=rand()%100;if(c<10) c=c+10;if(b<10) b=b+10;d=b+c;printf("%d+%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d+%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto loog;if(f==1)printf("欢迎再次使用!");}}if(a==2){printf("5,一位数减一位数\n");printf("6,两位数减一位数\n");printf("7,两位数减两位数\n");printf("请输入题型:");scanf("%d",&a);while(a<5||a>7){printf("输入错误,请重新输入");scanf("%d",&a);}if(a==5){car: b=rand()%10;c=rand()%10;d=b-c;printf("%d-%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d-%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto car;if(f==1)printf("欢迎再次使用!");}if(a==6){truck:b=rand()%100;if(b<10) b=b+10;c=rand()%10;d=b-c;printf("%d-%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d-%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto truck;if(f==1)printf("欢迎再次使用!");}if(a==7){boat:b=rand()%100;if(b<10) b=b+10;c=rand()%100;if(c<10) c=c+10;d=b-c;printf("%d-%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d-%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto boat;if(f==1)printf("欢迎再次使用!");}}if(a==3){printf("5,一位数乘一位数\n");printf("6,一位数乘两位数\n");printf("7,两位数乘两位数\n");printf("请输入题型:");scanf("%d",&a);while(a<5||a>7){printf("输入错误,请重新输入");scanf("%d",&a);}if(a==5){life:b=rand()%10;c=rand()%10;d=b*c;printf("%d*%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d*%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto life;if(f==1)printf("欢迎再次使用!");}if(a==6){shame:b=rand()%100;if(b<10) b=b+10;c=rand()%10;d=b*c;printf("%d*%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d*%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto shame;if(f==1)printf("欢迎再次使用!");}if(a==7){yeah:b=rand()%100;c=rand()%100;if(b<10) b=b+10;if(c<10) c=c+10;d=b*c;printf("%d*%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d*%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto yeah;if(f==1)printf("欢迎再次使用!");}}if(a==4){printf("5,一位数除一位数\n");printf("6,两位数除一位数\n");printf("7,两位数除两位数\n");printf("请输入题型:");scanf("%d",&a);while(a<5||a>7){printf("输入错误,请重新输入");scanf("%d",&a);}if(a==5){hit: b=rand()%10;c=rand()%10;{if (b>c){g=b%c;if (g!=0){b=b-g;d=b/c;printf("%d/%d=?\n",b,c);}else d=b/c;printf("%d/%d=?\n",b,c);}if (c>b){g=c%b;if (g!=0){c=c-g;t=c;c=b;b=t;d=b/c;printf("%d/%d=?\n",b,c);}elset=c;c=b;b=t;d=b/c;printf("%d/%d=?\n",b,c);}printf("请输入答案:");scanf("%d",&e);}while(e!=d){printf("回答错误,请重做");printf("%d/%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto hit;if(f==1)printf("欢迎再次使用!");}if(a==6){haha:b=rand()%100;c=rand()%10;if(b<10)b=b+10;g=b%c;if (g!=0)b=b-g;d=b/c;printf("%d/%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d/%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto haha;if(f==1)printf("欢迎再次使用!");}if(a==7){over:b=rand()%100;c=rand()%100;if(b<10) b=b+10;if(c<10) c=c+10;if (b>c){g=b%c;if (g!=0){b=b-g;d=b/c;printf("%d/%d=?\n",b,c);}else{d=b/c;printf("%d/%d=?\n",b,c);}}if (c>b){g=c%b;if (g!=0){c=c-g;t=c;c=b;b=t;d=b/c;printf("%d/%d=?\n",b,c);}else{t=c;c=b;b=t;d=b/c;printf("%d/%d=?\n",b,c);}}scanf("%d",&e);while(e!=d){printf("回答错误,请重做");printf("%d/%d=?\n",b,c);printf("请输入答案:");scanf("%d",&e);}printf("回答正确!是否做下一题?\n");printf("输入0表示是,输入1表示否\n");scanf("%d",&f);if(f==0)goto over;if(f==1)printf("欢迎再次使用!");}}}。

C 语言的课程设计算数运算测试

C 语言的课程设计算数运算测试

目录一、课程设计的目的与要求 (2)1.1课程设计目的: (2)1.2课程设计要求: (2)二、题目说明 (4)2.1程序开发背景 (4)2.2开发工具介绍 (4)三、总体设计 (5)3.1系统流程图 (5)3.2 软件流程图 (7)四、详细说明 (9)4.1 产生100以内的随机整数 (9)4.2随机选择计算法则 (9)4.3随机出题并打出题目 (10)4.3判断答题者是否做对题目若错误给出正确答案 (12)4.4判断答对的题数给出分数 (12)4.5打印出答题者所做的题目 (14)五、遇到的问题与解决方案 (15)六、课程设计总结 (16)七、参考文献 (17)附录(源程序代码): (18)一、课程设计的目的与要求1.1课程设计目的:1.为培养学生严谨的工作态度,锻炼学生编写文档的能力。

进一步掌握和利用C语言进行程设计的能力;进一步理解和运用结构化程设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图或N-S图表示算法;掌握书写程设计开发文档的能力(书写课程设计报告);2、熟练掌握C语言课程中所学的理论知识;C语言是在国内外广泛使用的一种计算机语言。

它既有高级语言的特点,又具有汇编语言的特点。

它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛。

学习使用C语言程序的目的是掌握程序设计的思路,学会用计算机语言编写程序正确处理算法和语法的关系算法是程序的核心、是灵魂,语法是外壳、是工具。

通过课程设计,我们要熟练的掌握C语言的算法、语言、函数的调用、循环的使用、数组的运用等。

3、通过综合C语言的基本知识来解决实际问题;C语言中与许多的东西,像:数据类型、运算符、表达式、程序设计结构、数组与函数调用。

其中C语言最难和最经典的地方就是循环,(while和for的嵌套)运用WHILE,FOR,SWITCH和if 的循环嵌套,我们可以实现现实中课程信息管理、图书信息管理、学生信息管理、商品信息管理等。

小学数学测试系统C课程设计报告材料及源程序代码

小学数学测试系统C课程设计报告材料及源程序代码

课程设计报告课程名称 C语言课程设计课题名称小学数学测试系统专业班级学号姓名指导教师2016年 01 月 06 日湖南工程学院课程设计任务书课程名称 C语言课程设计课题小学数学测试系统专业班级学生姓名学号指导老师审批任务书下达日期 2015 年 12 月 26 日任务完成日期2016年 01 月 06 日一、设计内容与设计课题九:小学数学测试系统。

具体内容见附录。

2.设计要求:1)设计正确,方案合理。

2)界面友好,使用方便。

3)程序精炼,结构清晰。

4)上机演示。

3.设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。

2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。

3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。

二、进度安排上课时间另外安排。

附录:设计课题九:小学数学测试系统一、问题描述:本系统可以用来进行简单的数学测试,并累计成绩,包括用户注册、用户登录、用户删除、题目测试、信息保存等功能。

二、功能描述:1、本系统采用结构体数组,每个数据的结构应当包括:用户名、用户密码、共测试题目数、答对题目数。

2、系统功能:a.用户注册:即添加新的用户名、用户密码。

b.用户登录:在进行数学测试之前,需进行登录,若没有该用户,需进行注册。

c.题目测试:系统自动生成题目(注意题目的合理性,题目结果不能是负数,除数不能是0等),用户给出答案,系统可以自动测试其正确性,同时统计成绩。

d.信息保存: 当注册成功、题目测试完毕后将用户信息及成绩保存到文件。

e.退出系统。

3、系统使用说明:执行一个具体的功能之后,程序将重新显示功能菜单。

系统的功能并不限于上述,可以对其进行扩充完善,如题目的自动生成,可以只是简单的加减乘除运算,也可以生成复杂的四则混合运算。

C语言程序设计-小学算术运算测试

C语言程序设计-小学算术运算测试

河南理工大学计算机科学与技术学院课程设计报告200 8 — 200 9 学年第一学期课程名称:C语言程序设计设计题目:小学算术运算测试(math.c) 学生姓名:刘高君学号:310709020117专业班级:通信工程07-1班指导教师:刘洁2008 年09 月05 日目录1 设计任务书 (3)1.1题目与要求 (3)1.2本系统涉及的知识点 (3)2 功能设计 (3)2.1算法设计 (3)2.2部分模块流程图 (3)3 程序代码设计 (4)3.1输入模块 (4)3.2输出模块 (4)4 C程序设计总结 (5)4.1程序调试情况 (5)4.2程序调好后的试验结果 (5)4.3本人在程序设计中的感想 (5)5致谢 (5)6参考文献 (6)7附录 (6)1设计任务书1.1题目与要求本人计划与张二威合作编写一个小学算术运算测试系统,主要用来测试小学生对十以内得加减乘除法运算的掌握程度。

具体要求如下:(1)制作一个可供小学数学运算程序,能完成10以内得加减乘除法,能根据输入题数出题,有人性化的汉语提示。

(2)判断做的题是否正确。

(3)计算成绩,给出所有做过题目的正确答案。

根据分工,本人的主要工作是具体的编译程序并调试,整理出文档资料。

1.2本系统涉及的知识点结构、数组、函数、循环。

2功能设计2.1算法设计本系统需要实现的功能要求:利用rand()和switch(algtype)产生随机计算式,进而实现测试功能。

2,根据上述模块图编写相应代码(1)利用for语句,rand()语句和switch()语句产生随机计算式。

(2)通过printf函数提示输入数字,然后通过scanf函数输入数字。

(3)通过if-else语句判断刚才的是否正确,若正确直接进入下一道;若不正确,给出正确答案并进入下一道。

(4)用if,while语句提示用户是否进入下一轮。

(5)Getchar()和while,return语句进行循环,键入“y”,进入下一轮,“n”直接退出。

C语言课程设计-小学生数学测试

C语言课程设计-小学生数学测试

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++语言程序课程设计》班级:11电信1班姓名:谢远忠学号:110703***指导老师:胡珏第一类题目应用类:题目2:小学生测验面向小学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(不及格!重测!)”。

I.设计思路:由系统函数产生两个随机数a、b并计算两数之和为t ,显示两个随机数a、b的加减法运算,学生通过键盘输入答案num与t进行匹配,第1次匹配正确给10分;第2次匹配正确给7分;第3次匹配正确给5分,每道题至多3次输入机会,3次机会用尽后仍未匹配成功由系统输出正确答案t ,累计得分score并进入下一道题。

以此类推,直至10道题答完止输出总得分score,判断等级SMART、GOOD、OK、PASS还是TRY AGAIN。

II.流程图:III.C++(含class类,面向对象)程序代码:#include<iostream.h>#include<time.h>#include<stdlib.h> //标准库头文件class Display_biaoti //Display_biaoti[标题]类,标题显示{public:Display_biaoti(){cout<<"===============欢迎使用小学生整数50以内加减法测验评测系统==============="<<endl<<endl;cout<<"*************************************************************************"<<endl;cout<<"* ********************************************************************* *"<<endl;cout<<"* * 共10道题,每道题3次作答机会 * *"<<endl;cout<<"* *第1次作答正确——10分;第2次作答正确——7分;第3次作答正确——5分;* *"<<endl;cout<<"* * 三次作答不正确——此题得分:0分,进入下一题 * *"<<endl;cout<<"* ********************************************************************* *"<<endl;cout<<"*************************************************************************"<<endl<<endl;}~Display_biaoti(){}};/******************************************************************************************/class Suijishu //Suijishu[随机数]类,产生两个运算数{public:int a,b,n,t;Suijishu(){a=rand()%50; //rand()是一个随机函数,a=rand()%50是在0-50内取随机值赋给ab=rand()%50; //b=rand()%50是在0-50内取随机值赋给bn=rand()%6; //n的范围大些出现加法和减法的概率就越接近(加法:减法=5:5),故n取6 if((n==0||n==1||n==2)&&(a+b)>50) //如果产生随机数a、b之和大于50时{if(a>25&&b>25) //a、b同时大于25时{ a=a-25;b=b-25;} //a、b同时减小25if(a>25) //仅是a大于25时a=a-25; //a减小25if(b>25) //仅是b大于25时b=b-25;} //b减小25}~Suijishu(){}};/*******************************************************************************************/class Display_timu:public Suijishu //Display_timu[题目]类,对单一道题目显示给学生{public:int i,t;Display_timu(){}void xianshi(){switch(n){case 0: //n为0、1、2时进行加法运算case 1:case 2:cout<<"##########"<<i<<"题##########"<<endl;cout<<a<<"+"<<b<<"=";t=a+b; i++;break;case 3: //n为3、4、5时进行减法运算case 4:case 5:cout<<"##########第"<<i<<"题##########"<<endl;if(a>b){cout<<a<<"-"<<b<<"="; t=a-b; i++;}else {cout<<b<<"-"<<a<<"="; t=b-a; i++;}//使用if...else...语句,以防出现负数break;}}~Display_timu(){}};/********************************************************************************/class Ceshi:public Display_timu{public:int num,cnt,score; //测试者输入答案次数cntCeshi(){cnt=1;score=0;}int xunhuan(){do{cin>>num; //测试者输入答案numif (num==t) //答案正确时{cout<<"正确!o(≧v≦)o~~好棒~"<<endl;}else{if (cnt<3) //答案输入少于3次cout<<"答案不正确?在试试吧!"<<endl;cout<<"你还有"<<3-cnt<<"次答题机会"<<endl;++cnt;}}while(cnt<=3&&num!=t); //答案输入少于3次且输入答案不正确时继续输入(3次答题机会)if (num!=t) //3次为输入正确答案,由系统给出正确答案cout<<"答案不正确!正确答案是:"<<t<<endl;switch (cnt) //累计答题得分情况{case 1:score+=10;break; //第1次答对得10分case 2:score+=7;break; //第2次答对得7分case 3:score+=5;break; //第3次答对得5分}return score;}~Ceshi(){}};/********************************************************************************/class Display_zongping:public Ceshi //Display_zongping[总评]类,对答完10道题给出总评{public:int score;Display_zongping(){}void pandduan(){if (score>90) //如果总分大于90{cout<<"优秀!"<<endl; //输出优秀!}else if (score>80) //如果总分大于80{cout<<"良好!"<<endl; //输出良好!}else if (score>70) //如果总分大于70{cout<<"中等!"<<endl; //输出中等!}else if (score>=60) //如果总分大于60{cout<<"及格!"<<endl; //输出及格!}else cout<<"不及格!重测!"<<endl; //低于60分时,输出不及格!重测!cout<<"\n";}~Display_zongping(){}};/********************************************************************************/void main(){int all_score=0;Display_biaoti aa; //定义Display_biaoti[标题]类对象aa,标题显示srand(time(NULL)); //srand函数是以现在系统时间作为时间种子产生随机数int j; //定义整形j计数10道题for(j=1;j<11;j++){Suijishu bb; //定义随机数Suijishu类对象bbDisplay_timu cc; //定义Display_timu类对象cccc.i=j;cc.xianshi(); //调用对象cc的方法xianshi()Ceshi dd; // 定义Ceshi类对象dddd.t=cc.t; //对象cc的数据t赋值给对象dd的数据tall_score+=dd.xunhuan(); //调用对象dd的方法xunhuan()cout<<"-------------------------当前分数为"<<all_score<<endl; //输出当前的得分}Display_zongping ee; //定义Display_zongping类对象eeee.score=all_score;cout<<"最后得分为"<<ee.score<<" ";ee.pandduan(); //调用对象ee的方法pandduan()}IV.运行结果:①(良好!)②(优秀!)③(不及格!重测!)④(及格!)⑤(中等!)IV.C++(不含class类)程序代码:#include<iostream.h>#include<time.h>#include<stdlib.h> //标准库头文件void main(){int t, num, a,n, i, b; //定义变量t(系统正确答案),num(测试者输入答案),a(参与运算的数), //n(决定加法还是减法运算),i(题号),b(参与运算的另一个数) int score=0; //定义变量score存放得分cout<<"==============欢迎使用小学生整数50以内加减法测验评测系统=============="<<endl;srand(time(NULL)); //srand函数是以现在系统时间作为时间种子产生随机数for(i=1;i<=10;i++){loop: a=rand()%50; //rand()是一个随机函数,a=rand()%50是在0-50内取随机值赋给a b=rand()%50; //b=rand()%50是在0-50内取随机值赋给bn=rand()%6; //n的范围大些出现加法和减法的概率就越接近(加法:减法=5:5),故n取6 if((n==0||n==1||n==2)&&(a+b)>50) //如果产生随机数a、b之和大于50时{if(a>25&&b>25) //a、b同时大于25时{ a=a-25;b=b-25;} //a、b同时减小25if(a>25) //仅是a大于25时a=a-25; //a减小25if(b>25) //仅是b大于25时b=b-25;} //b减小25switch(n){case 0: //n为0、1、2时进行加法运算case 1:case 2:cout<<"*********第"<<i<<"题*********"<<endl;cout<<a<<"+"<<b<<"=";t=a+b;break;case 3: //n为3、4、5时进行减法运算case 4:case 5:cout<<"*********第"<<i<<"题*********"<<endl;if(a>b){cout<<a<<"-"<<b<<"="; t=a-b;}else {cout<<b<<"-"<<a<<"="; t=b-a;}//使用if...else...语句,以防结果出现负数break;goto loop;}int cnt=1; //测试者输入答案次数cntdo{cin>>num; //测试者输入答案num if (num==t) //答案正确时{cout<<"正确!o(≧v≦)o~~好棒~"<<endl;}else{if (cnt<3) //答案输入少于3次cout<<"答案不正确?在试试吧!"<<endl;cout<<"你还有"<<3-cnt<<"次答题机会"<<endl;++cnt;}}while(cnt<=3&&num!=t); //答案输入少于3次且输入答案不正确时继续输入(3次答题机会)if (num!=t) //3次为输入正确答案,由系统给出正确答案cout<<"答案不正确!正确答案是:"<<t<<endl;switch (cnt) //累计答题得分情况{case 1:score+=10;break; //第1次答对得10分case 2:score+=7;break; //第2次答对得7分case 3:score+=5;break; //第3次答对得5分}cout<<"-------------------------当前分数为"<<score<<endl; //输出当前的得分}cout<<"最后得分为"<<score<<" ";if (score>90) //如果总分大于90{cout<<"SMART!"<<endl; //输出SMART!}else if (score>80) //如果总分大于80{cout<<"GOOD!"<<endl; //输出GOOD!}else if (score>70) //如果总分大于70{cout<<"OK!"<<endl; //输出OK!}else if (score>=60) //如果总分大于60{cout<<"PASS!"<<endl; //输出PASS!}else cout<<"TRY AGAIN!"<<endl; //低于60分时,输出TRY AGAIN!cout<<"\n";}VI.运行结果:①(SMART!)②(GOOD!)③(OK!)④(PASS!)⑤(TRY AGAIN!)。

小学c语言试卷

小学c语言试卷

小学c语言试卷一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function2. 在C语言中,哪个运算符用于取模?A. %B. /C. *D. -3. 下列哪个选项是C语言的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name4. 在C语言中,若要打印输出一个整数,应使用哪个函数?A. printfB. scanfC. coutD. input5. 以下哪个选项是C语言的控制语句?A. ifB. forC. whileD. All of the above6. 在C语言中,哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. None of the above7. 以下哪个选项是C语言的逻辑运算符?A. &&B. ||C. !D. All of the above8. C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum9. 在C语言中,哪个函数用于计算两个数的最大值?A. maxB. minC. absD. None of the above10. 下列哪个选项是C语言的输入输出库?A. <iostream>B. <cstdio>C. <iostream.h>D. <cstdio.h>二、填空题(每题2分,共20分)11. 在C语言中,定义一个整型变量的关键字是_______。

12. 一个C语言程序的执行从主函数_______开始。

13. 在C语言中,使用_______函数可以读取用户输入的整数值。

14. 要实现条件控制,可以使用_______语句。

15. 在C语言中,数组的元素默认从下标_______开始。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言课程设计小学生数学测试
1
2020年4月19日
《c语言课程设计报告》学院:物理与电子信息学院
年级专业: 09级电子信息工程2班学号:
姓名:
同组人员:
指导老师:
完成日期: 6月21日
目录
一、所选课题
二、设计要求
三、程序具体分工
四、课题分析与设计
五、程序介绍
六、源程序代码
七、程序调试
八、流程图
九、实验总结
十、参考文献
一、所选课题
小学生数学测试
二、设计要求
1、可选择题型(加,减,乘,除);
2、两个数随机产生,若选择加减运算,则产生两位数,且
被减数大于减数,若选择乘法运算,则产生一位数,若
选择除法运算则被除数能被整除,且除数不能为零。

3
2020年4月19日
3、每次在输入答案后应判断对错,并给出是否继续测试的
提示,若答案错误,应给出正确答案;
4、最后给出评分。

三、程序具体分工
乘除部分由我完成,界面和加减测试部分由徐磊完成。

四、课题分析与设计
本程序是非数值计算型算法设计,我们设计出了小学生数学测试软件的基本功能,并设计了简单的界面。

本程序主要考察针对小学生该怎样设计程序:例如小学生只进行两位数之间的加减法,只进行一位数与两位数之间的乘法,除法只能是整除等。

课题要求我们设计个能够进行加、减、乘法的程序,但我们设计的这个小学生数学测试软件也不但实现了加、减、乘法的测试,还实现了除法的测试。

五、程序介绍
程序应包括<stdio.h>和<stdlib.h>两个头文件,其中存放库函数,而产生随机数的函数则存放在头文件中。

另外程序有五个函数,分别为void menu(); /*主菜单函数*/ void add() ;/*加法函数*/ void sub();/*减法函数*/ void mul();/*乘法函数*/ void div1();/*除法函数*/,还有产生随机数函数在程序中直接调用。

然后根据要求编写程序,乘法、除法的要求和做题后的判断、提示等。

六、源程序代码
#include<stdio.h>
4
2020年4月19日
#include<stdlib.h>
void menu();
void add();
void sub();
void mul();
void div1();
void main()
{
int a;
while(1)
{
menu();
printf("Please choose the option:");
scanf("%d",&a);
switch(a)
{
case 1:
add();
break;
case 2:
5
2020年4月19日。

相关文档
最新文档