C课程设计题目小学生测验
C语言课程设计_小学算术运算测试
C语言课程设计题目小学算术运算测试指导教师曹东燕学生姓名董桂迎孙毅赵书壮学号 201100805082 201100805086 201100805064 专业电子信息工程教学单位物理系(盖章)目录1设计内容与设计要求 (1)1.1系统功能简介 (1)1.2系统运行环境 (1)2功能划分,模块详细说明 (1)3程序流程图 (2)4运行的运行及说明 (3)4.1输入界面 (3)4.2加法界面 (3)4.3减法界面 (4)4.4乘法界面 (4)4.5除法界面 (5)4.6推出界面 (6)4.7 运行说明 (7)5总结 (7)附件:源程序清单 (7)1设计内容与设计要求1.1系统功能简介⏹系统有简单的菜单界面,用户可以通过输入简单的选项来完成相应的工作。
⏹学生做题后,进行评阅。
⏹学生每做一题,评阅时给出“答案正确,很好”或“答案错误,重做”字样。
1.2系统运行环境⏹VC++6.0下运行,硬件基本无要求,现在的计算机系统基本都可以运行该系统。
2功能划分,模块详细说明系统的功能是通过子函数调用,if函数等的方式来完成的,下面对程序中用到的函数及其功能做一下说明。
●主函数模块包括:输入函数(scanf()),输出函数(printf())。
●变量定义模块包括:随机函数(rand()),调用(int())函数。
●运算种类模块包括:多分支if语句,关系表达式。
●继续运算模块包括:goto语句。
3程序流程图程序整体流程图如图3-1所示:图3-1 程序整体流程图4系统的运行及说明4.1系统的运行小学生四则运算系统调试时进入界面如下图(4-1)。
图4-1输入界面4.2加法界面加法运算界面,包括错误结果处理和继续运算,如下图(4-2)。
图4-2加法界面4.3减法界面减法运算界面,包括错误结果处理和继续运算,如下图(4-3)图4-3减法界面4.4乘法界面乘法运算界面,包括错误结果处理和继续运算,如下图(4-4)。
乘法运算数据是一位数与两位数相乘。
c语言小学生测验题
你的编程报告应该包括:
(1)伪代码或流程图来描述你的程序算法
(2)在屏幕上显示出来
(3)C语言源文件
大作业提交要求:
1.须提交的文档:C源代码文件,包含伪码/流程图和运行结果的Word文档
48 + 32 =80
…
56 / 28 =2
注意:1)回答完之前一个问题后下一个问题才出现
2)这些数学问题应该包含加减乘除,它们应该是随机出现的
3)确保问题的结果小于100,并大于0;除数不能为0
4)答完10道题后,记录学生总共用的时间
5)给每个同学的分数,保存这个学生的ID,成绩和时间并将文件命名为“record.txt”
6)在屏幕上显示一下信息
Prob. | Correct Answ. |UrAnsw
(B)检查得分:搜索文件“record.txt”,并列出了这个学生所有的历史成绩如
Your previous records are:
AB1234 80 150 seconds
AB1234 50 182 seconds
写一个程序,便于小学母和四个数字如Please input your four digit ID no:AB1234)
该程序应有输入验证
然后程序应包含这3个项目
(1)开始测试
(2)评分
(3)退出
A)测试:该程序需给出10个数学问题如
12 * 3 =36
中小学c语言考试题目及答案
中小学c语言考试题目及答案1. 题目一:变量声明问题:请写出声明一个整型变量 `a` 的语句。
答案:```cint a;```2. 题目二:数组初始化问题:给定一个整型数组 `int arr[5] = {1, 2, 3, 4, 5};`,写出访问数组第三个元素的语句。
答案:```carr[2];```3. 题目三:条件语句问题:编写一个C语言程序,判断一个整数 `n` 是否为偶数。
答案:```c#include <stdio.h>int main() {int n;printf("Enter an integer: ");scanf("%d", &n);if (n % 2 == 0) {printf("%d is even.\n", n);} else {printf("%d is odd.\n", n);}return 0;}```4. 题目四:循环结构问题:编写一个C语言程序,计算从1到100的整数之和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("Sum of numbers from 1 to 100 is %d.\n", sum); return 0;}```5. 题目五:函数定义问题:定义一个函数 `max`,该函数接受两个整数参数,并返回较大的一个。
答案:```cint max(int x, int y) {return (x > y) ? x : y;}```6. 题目六:指针使用问题:编写一个C语言程序,交换两个整数变量 `a` 和 `b` 的值。
答案:```c#include <stdio.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int main() {int a = 10, b = 20;printf("Before swap: a = %d, b = %d\n", a, b);swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```7. 题目七:字符串操作问题:编写一个C语言程序,将字符串 `"Hello, World!"` 反转。
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语言课程设计题目汇总
杨顺民题目 ....................................................................... 错误!未定义书签。
题目1:年历显示.................................................................. 错误!未定义书签。
题目2:小学生测验................................................................ 错误!未定义书签。
题目3 运动会比赛计分系统......................................................... 错误!未定义书签。
题目4:学生学籍管理系统(限2人) .................................................. 错误!未定义书签。
题目5:排班系统.................................................................. 错误!未定义书签。
题目6:通讯录程序设计(限2人) .................................................... 错误!未定义书签。
题目8:机房收费管理系统(限2人) .................................................. 错误!未定义书签。
题目9:班级成绩管理系统(限2人) .................................................. 错误!未定义书签。
题目10:机房机位预定系统(限2人) ................................................. 错误!未定义书签。
题目11:班级档案管理系统(限2人) ................................................. 错误!未定义书签。
C课程设计(小学生出题)
附录C语言课程设计设计期限 2012 年 6 月 12 开始至 2012 年 6 月 15 结束系别信息系统与信息管理专业 36 班级 X学生姓名 XXX 学号 1110306010X指导教师 XX、XX老师[问题描述]:设计一个小学生数学测试软件[基本要求]:(1) 可选择题型(+,-,*);(2) 可选择每次答题的个数;(3) 随机生成两个数进行运算;(4) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;(5) 最后给出做对题目的总个数。
注:系统以菜单的形式进行操作。
[系统分析]:程序要用到头文件#include<stdio.h>、#include<stdlib.h>、#include<math.h>、#include<time.h>、#include <conio.h>包函的函数。
所以应该包括这四个库函数。
另外分另定义了函数void jia()、void jian()、void cheng()来实现生成加、减、乘的式子,另外还定义了void add()实现对做对题目的统计及最后得分的统计,void mn() 选择题型类别,其中包括int menu_select1()选择语种时的目录,int menu_select2()语种为汉语时的选择目录,int menu_select3()语种为英语时的选择目录。
为了使显示效果清楚明了,还用到了system("pause")暂停库函数和system("cls")清屏库函数。
[系统测试]:一、各种情况下的界面如何1.1 进入系统选择难度(卷子的种类)图一:图二:图三:图四:1.2 语言选择图一:图二:1.3 对加、减、乘及统计做对个数及最后得分的操作图一:中文状态下的加法运算图二:英文状态下的减法运算图三:英文状态下的乘法运算图四:英文状态下的加法运算图五:中文状态下的减法运算图六:中文状态下的乘法运算二、以每种题型各做两道,最后总做对的个数为6道,后以系统定义的分数总分,得分为100分。
C语言课程设计举例--小学生算术自测
printf("%d-%d=",a,b);
scanf("%d",&c);
if (a-b==c) printf("right!\n");
else printf("error!\n");
break;
case3: goto end;
(2)作三位或三位以上的整数除法运算练习
(3)返回主菜单
请选择(1,2,3):
2.接收子菜单选择项
如果选择项的值为1,随机出一道两位整数的除法练习题,根据小学生的回答,输出表示“正确”或“错误”的提示信息,然后再显示子菜单。
如果选择项的值为2,随机出一道三位或三位以上的整数除法练习题,根据小学生的回答,输出表示“计算正确”或“计算错误”的提示信息,然后再显示子菜单。
(略)
(2)软件配置
操作系统:windows2000;
C语言编译系统:WIN-TC。
3.系统结构
(1)系统结构图
小学生算术练习管理系统的系统结构图如下所示,总共由7个模块组成,其中一个是总控模块,另外七个是分别实现不同功能的子模块:
(2)模块说明书
A.小学生算术练习管理系统总控模块的模块说明书
模块名称:小学生算术练习管理系统总控模块
输入:主菜单选择项
输出:
处理:
1.按以下格式显示主菜单和提示小学生选择:
小学生算术练习管理系统
(1)加法运算练习
(2)减法运算练习
(3)乘法运算练习
(4)除法运算练习
(5)四则混合运算练习
(6)模拟考试练习
(7)结束练习,退出本系统
请选择(1,2,3,4,5,6,7):
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取6if((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取6if((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; //测试者输入答案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分}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 课程设计小学生测验一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握课程内容的基本知识和概念;技能目标要求学生能够运用所学知识解决实际问题;情感态度价值观目标要求学生培养对学科的兴趣和热情,培养良好的学习习惯和团队合作精神。
通过本课程的学习,学生将能够:1.掌握课程内容的基本知识和概念。
2.运用所学知识解决实际问题。
3.培养对学科的兴趣和热情。
4.培养良好的学习习惯和团队合作精神。
二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。
教学大纲将明确教学内容的安排和进度,指出教材的章节和列举内容。
教学内容将包括以下方面:1.课程内容的基本知识和概念的介绍。
2.运用所学知识解决实际问题的方法和技巧。
3.学科相关案例分析和实验操作。
4.团队合作和讨论活动。
三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。
教学方法将包括以下方面:1.讲授法:教师通过讲解和解释,引导学生理解和掌握知识。
2.讨论法:学生通过小组讨论和互动,培养团队合作和思考能力。
3.案例分析法:学生通过分析实际案例,运用所学知识解决问题。
4.实验法:学生通过实验操作,培养实验技能和观察能力。
四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等,以支持教学内容和教学方法的实施,丰富学生的学习体验。
教学资源将包括以下方面:1.教材:选用合适的教材,提供基本知识和概念的介绍。
2.参考书:提供相关的参考书籍,帮助学生深入理解课程内容。
3.多媒体资料:利用多媒体资料,如视频、图片等,增加学生的学习兴趣和理解能力。
4.实验设备:准备实验设备,进行实验操作,培养学生的实验技能和观察能力。
五、教学评估设计合理的评估方式,包括平时表现、作业、考试等,评估方式应客观、公正,能够全面反映学生的学习成果。
教学评估将包括以下方面:1.平时表现:评估学生的课堂参与度、提问回答、团队合作等表现。
C语言课程设计小学算术运算测试
C语言课程设计小学算术运算测试学号武汉理工大学华夏学院课程设计课程名称c语言课程设计题目小学算术运算测试专业电子商务班级电商1111姓名成绩_________________指导教师王绪梅2021年6月25日至2021年6月29日课程设计任务书学生姓名:专业班级:电商1111指导教师:王绪梅工作单位:汽车工程系设计题目:小学算术运算测试建议顺利完成的主要任务:1.任务描述我计划撰写小学算术运算测试程序。
建议顺利完成10以内的加减乘除运算。
能根据用户输入的想要练习的题目数自行出题。
用户输入答案后可以判断正误,并能给出算对及算错的题目数,最后计算出分数。
同时,对于用户算错的题目发出报警声,提示用户注意,同时给出正确结果。
做完一次测试后用户可决定是否继续进行下一次测试。
2.本课程牵涉的知识点变量的定义、输入和输出函数、产生随机数函数、if语句、goto语句、转义字符的采用等等。
3.要求完成的任务⑴顺利完成整个规定任务的设计及调试,且一定必须图画出来程序流程图,最后得出结论恰当结果,并经教师检查及面试;⑵写出规范的课程设计说明书;⑶课程设计结束后交设计说明书等文档和设计内容:⑷从6月25日起,学生每天至少要到设计教室半天以上;设计报告编写格式建议:设计报告的主要内容是详细写出在设计过程中所用到的主要技术或方法;课程设计报告按国际通用格式书写,具体格式要求请见资料:“课程设计说明书的书写内容与格式”时间精心安排:第一天:学生先在实验室集中,由指导教师介绍课程设计的目的、布置任务后选题;第二天-第四天:学生在实验室完成设计,经教师检查并回答提问,确认设计完成;第五天:教师在计算机上先检查设计报告、学生修改后打印提交指导教师盖章:2021年6月23日系主任签字:2021年6月23日设计过程中现场回答(或面试)记述:指导教师评语:成绩评定等级:指导教师(签名):2021年2月17日1设计题目小学算术运算测试2研发环境硬件环境:微机系列,内存在1g以上软件环境:microsoftwindowsxp3开发工具tc、win-tc或者visualc++6.04顺利完成时间2021-6-25----2021-6-295设计过程及设计步骤5.1功能设计5.1.1算法设计1、本程序实现的功能建议:利用if语句顺利完成右图的主菜单。
C语言课程设计举例--小学生算术自测
(2)总体设计策略
本系统采用的是自顶向下、层次化的模块结构,把一个大的模块逐步分解成较小的相对简单的模块。为了提高每个模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。
2.计算机系统配置
C语言课程设计
----小学生算术练习管设计目标
让小学生利用本系统练习小学算术运算,巩固提高算术运算能力。对于加法、减法、乘法、除法、四则混合运算,系统能够自动出题,并能够自动判断小学生回答的正误;小学生可以选择不同的内容进行练习;小学生可以利用本系统进行模拟考试,检测自己的算术运算水平。
(1)硬件配置
(略)
(2)软件配置
操作系统:windows2000;
C语言编译系统:WIN-TC。
3.系统结构
(1)系统结构图
小学生算术练习管理系统的系统结构图如下所示,总共由7个模块组成,其中一个是总控模块,另外七个是分别实现不同功能的子模块:
(2)模块说明书
C课程设计题目2:小学生测验
C++课程设计(题目2:小学生测验)《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取6if((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内取随机值赋给ab=rand()%50; //b=rand()%50是在0-50内取随机值赋给bn=rand()%6; //n的范围大些出现加法和减法的概率就越接近(加法:减法=5:5),故n 取6if((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; //测试者输入答案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分}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语言小学生测验
1 设计目的(1)进一步巩固和复习C程序设计的基础知识;(2)培养学生结构化程序、模块化程序设计的方法和能力;(3)了解软件的编制过程及各环节的具体内容;(4)提高学生程序调试技巧、软件设计能力和代码规范化等素质;提高学生分析问题、解决问题以及实际运用能力。
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”3 模块划分小学生测验系统包括系统出题,判断题目是否合规,学生答题,判断正误计算得分,输出等级退出系统几个功能,功能模块图如图3.1所示。
4(14.1定义主函数main()的功能是:随机选择0~50之间的两个数进行随机加减法运算,共出10道题目,确保答案在0~50之间,同时保证所出题目不重复,让学生回答,每道题有三次机会,第一次回答正确得10分,第二次回答正确得7分,第三次回答正确得5分,否则不得分,最后算出总得分划分等级5 程序运行数据及其结果图5.1 答错一题一次得分图图5.2 答错一题两次得分图图5.3 答错一题三次得分图图5.4 全部答对得分图6 课程设计心得通过这次课程设计我学到了许多。
同时也巩固了许多C语言的知识。
但我觉得最重要的是在这个课程设计中看到了自己许多的不足,在许多方面都有所欠缺,对一些函数理解的不透彻,不能熟练的编写有关代码。
c课程设计小学生测验
c 课程设计 小学生测验一、课程目标知识目标:1. 学生能够掌握并运用本册教材中关于测验的基本知识和技巧,如选择题、填空题、简答题的解题方法。
2. 学生能理解并运用所学知识,正确回答与教材内容相关的问题,达到课程知识的巩固与提高。
技能目标:1. 培养学生独立完成测验题目的能力,提高学生的解题速度和准确性。
2. 培养学生分析问题、解决问题的能力,使学生能够运用所学知识解决实际问题。
情感态度价值观目标:1. 培养学生积极参与课堂测验,树立自信心,面对挑战不退缩。
2. 培养学生具备良好的学习习惯,认识到测验是检验学习成果的有效方式,从而激发学生的学习兴趣。
3. 培养学生在团队中相互鼓励、相互学习的精神,形成良好的合作氛围。
分析课程性质、学生特点和教学要求,本课程旨在帮助小学生掌握教材知识,提高解题能力,培养良好的学习态度。
课程目标具体、可衡量,能够使学生在完成本课程学习后,达到预期的学习成果,为后续教学设计和评估提供明确方向。
二、教学内容本课程以教材为基础,结合课程目标,选择以下教学内容:1. 教材第三章:测验的种类与作用- 选择题、填空题、简答题等测验题型介绍- 测验在检验学习成果中的作用2. 教材第四章:解题技巧与方法- 各类题型的解题方法与技巧- 实例分析,总结解题规律3. 教材第五章:测验策略与时间管理- 测验前的准备工作- 测验中的时间分配与策略教学大纲安排如下:第一课时:测验的种类与作用- 介绍各类测验题型,让学生了解并熟悉- 讲解测验在检验学习成果中的作用,提高学生的认识第二课时:解题技巧与方法- 详细讲解各类题型的解题方法与技巧- 通过实例分析,让学生掌握解题规律第三课时:测验策略与时间管理- 指导学生进行测验前的准备工作- 教授测验中的时间分配与策略,提高学生的应试能力教学内容科学、系统,符合教学实际,有助于学生达到课程目标,为后续教学和评估提供有力支持。
三、教学方法针对本课程的教学内容和学生特点,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 对于测验的基本概念、题型介绍和解题方法等理论知识,采用讲授法进行系统讲解,帮助学生建立完整的知识体系。
c++课程设计:小学生测验
C++程序设计题目:小学生测验小学生测验面向小学1-2年级学生,随机选择两个整数和加减法形成算是要求学生解答。
功能要求:(1)、电脑随机出五道题,每题20分,程序结束时显示学生得分;(2)、确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;(3)、每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)、对于每道题,学生第一次输入正确答案得20分,第二次输入正确答案得15分,第三次输入正确答案得3分,否则不得分;(5)、总成绩90分以上显示“A",80-90显示”B",70-80显示“C”,60-70显示“D",60一下”E"。
(6)、每小题结束后进行清屏,改变显示界面背景色和字体色。
//Test.h文件#ifndef _H_TEST#define _H_TEST#include<time.h>#include<iostream>using namespace std;class CTest{public:CTest();void CreateTest(); ///< 创建一个题目void DisplayTest(); ///< 显示题目int GetCount(); ///< 查看是第几次答题void DisplayScore();int IsOK(int _answer);private:int m_answer; ///< 答案int m_elem1;int m_elem2;int m_k;int m_count; ///< 答题次数int m_score; ///< 分数};#endif//Test.cpp文件#include"test.h"CTest::CTest(){m_answer =0;m_elem1 = 0;m_elem2 = 0;m_k = 0;m_count = 0;m_score = 0;}void CTest::CreateTest() ///< 创建一个题目{m_count = 0;srand((unsigned)time(NULL));m_k = rand() % 2;if(m_k == 0){m_elem1 = rand() % 50;m_elem2 = rand() % 50;m_answer = m_elem1 - m_elem2;while(m_answer < 0){m_elem1 = rand() % 50;m_elem2 = rand() % 50;m_answer = m_elem1 - m_elem2;}}else if(m_k = 1){m_elem1 = rand() % 50;m_elem2 = rand() % 50;m_answer = m_elem1 + m_elem2;while(m_answer > 50){m_elem1 = rand() % 50;m_elem2 = rand() % 50;m_answer = m_elem1 + m_elem2;}}}void CTest::DisplayTest() ///< 显示题目{if(m_k == 0){cout<<"题目:"<<m_elem1<<'-'<<m_elem2<<'='<<endl;}else if(m_k == 1){cout<<"题目:"<<m_elem1<<'+'<<m_elem2<<'='<<endl;}}int CTest::IsOK(int _answer){m_count++;if(_answer == m_answer){switch(m_count){case 1:m_score += 10;break;case 2:m_score += 7;break;case 3:m_score += 5;break;default:break;}return 1;}else{if(m_count == 3){cout<<"正确答案是:"<< m_answer <<endl;return 0;}else{cout<<"错误,再试一次哦"<<endl;return 2;}}}int CTest::GetCount() ///< 查看是第几次答题{return m_count;}void CTest::DisplayScore(){if(m_score >= 90){cout<<"分数:"<<m_score<<" SMART!"<<endl;}else if((m_score < 90) && (m_score >= 80)){cout<<"分数:"<<m_score<<" GOOD!"<<endl;}else if((m_score < 80) && (m_score >= 70)){cout<<"分数:"<<m_score<<" OK!"<<endl;}else if((m_score < 70) && (m_score >= 60)){cout<<"分数:"<<m_score<<" pass!"<<endl;}else if((m_score < 60)){cout<<"分数:"<<m_score<<" TRY AGAIN!"<<endl;}}//main.cpp文件#include"test.h"int main(int argc, char* argv[]){int answer;int r = 0;int count = 0;int k;CTest* CT = new CTest();CT->CreateTest();count++;while(count < 11){ cout<<"第"<<count<<"题";CT->DisplayTest();cin>>answer;r = CT->IsOK(answer);if((r==1)||(r==0)){CT->CreateTest();count++;}}CT->DisplayScore();cin >>k;return 0;}。
C++课程设计(题目2:小学生测验)
《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<<"*************************************************************************"<<end l;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取6if((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内取随机值赋给ab=rand()%50; //b=rand()%50是在0-50内取随机值赋给bn=rand()%6; //n的范围大些出现加法和减法的概率就越接近(加法:减法=5:5),故n 取6if((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语言的基本语法和编程思路,培养学生运用C语言解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解C语言的发展历程和特点;(2)掌握C语言的基本语法,包括数据类型、运算符、控制语句等;(3)理解函数的定义和调用,掌握函数的参数传递和返回值;(4)熟悉编程规范和代码方式。
2.技能目标:(1)能够运用C语言编写简单的程序,实现基本的输入输出操作;(2)具备基本的调试和排错能力;(3)学会利用编程思想和算法解决问题。
3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习热情;(2)培养学生团队合作意识和沟通能力;(3)引导学生树立正确的编程观念,注重编程实践。
二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言概述:介绍C语言的发展历程、特点和应用领域;2.基本语法:讲解数据类型、运算符、控制语句等基本语法知识;3.函数:介绍函数的定义、声明和调用,讲解参数传递和返回值的概念;4.编程实践:通过实例演示和练习,让学生掌握基本的输入输出操作,培养编程思路。
三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法和概念,让学生掌握理论知识;2.案例分析法:通过分析典型代码案例,让学生理解编程思想和方法;3.实验法:安排上机实践环节,让学生动手编写程序,培养实际操作能力;4.讨论法:学生进行小组讨论,促进学生之间的交流与合作。
四、教学资源为了支持本节课的教学,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料;2.参考书:提供丰富的参考资料,方便学生课后自主学习;3.多媒体资料:制作课件和教学视频,增强课堂的趣味性和生动性;4.实验设备:保证每个学生都能的上机实践机会,提高学生的动手能力。
五、教学评估本节课的教学评估将采用多元化的评价方式,全面客观地评价学生的学习成果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C课程设计题目小学生
测验
文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]
《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.流程图:
++(含class类,面向对象)程序代码:
#include<>
#include<>
#include<> .else...语句,以防出现负数
break;
}
}
~Display_timu(){}
};
/*********************************************************************** *********/
class Ceshi:public Display_timu
{
public:
int num,cnt,score; 行结果:
①(良好!)
②(优秀!)
③(不及格!重测!)
④(及格!)
⑤(中等!)
++(不含class类)程序代码:
#include<>
#include<>
#include<> .else...语句,以防结果出现负数
break;
goto loop;
}
int cnt=1; 行结果:
①(SMART!)
②(GOOD!)
③(OK!)
④(PASS!)
⑤(TRY AGAIN!)。