C课程设计题目小学生测验

合集下载

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语言小学生测验题

c语言小学生测验题
AB1234 90 98 seconds
你的编程报告应该包括:
(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语言考试题目及答案

中小学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语言课程设计报告《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语言课程设计题目汇总

杨顺民题目 ....................................................................... 错误!未定义书签。

题目1:年历显示.................................................................. 错误!未定义书签。

题目2:小学生测验................................................................ 错误!未定义书签。

题目3 运动会比赛计分系统......................................................... 错误!未定义书签。

题目4:学生学籍管理系统(限2人) .................................................. 错误!未定义书签。

题目5:排班系统.................................................................. 错误!未定义书签。

题目6:通讯录程序设计(限2人) .................................................... 错误!未定义书签。

题目8:机房收费管理系统(限2人) .................................................. 错误!未定义书签。

题目9:班级成绩管理系统(限2人) .................................................. 错误!未定义书签。

题目10:机房机位预定系统(限2人) ................................................. 错误!未定义书签。

题目11:班级档案管理系统(限2人) ................................................. 错误!未定义书签。

C课程设计(小学生出题)

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语言课程设计举例--小学生算术自测

C语言课程设计举例--小学生算术自测
break;}
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+课程设计题目小学生测验

《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!)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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!)。

相关文档
最新文档