用Qt编程 小学生测验 面向小学1~2年级学生,随机选择两个整数和加减法形成算式

作者&投稿:归坚 (若有异议请与网页底部的电邮联系)
c++编程 面向小学1~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”

//原创代码,欢迎参考,编译环境:devcpp 4.9.9.2
//添加了一些头文件,楼主可以再编译试试
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std ;

const string outInfo[13] = {
"欢迎使用上机评测系统,请依提示操作,要退出系统,请输入\"exit\"

" ,
"当前是第 " ,
" 题,您还有 " ,
" 次机会:
" ,
"您已经选择退出,您的当前得分是: " ,
"
系统即将退出,请再接再厉..." ,
"恭喜您回答正确,请继续回答下一题..

" ,
"您的回答错误,请继续尝试..

" ,
"您第 " ,
" 题的得分是 : " ,
" 。
" ,
"您的总得分是 : " ,
" 。

"
} ;
const string resultInfo[5] = {
"TRY AGAIN
" ,
"PASS
" ,
"OK
" ,
"GOOD
" ,
"SMART
"
} ;
const int scoreGet[4] = {0 , 5 , 7 , 10} ;
int scoreEveryProblem[10] ;

int main() {
srand((unsigned)time(NULL)) ;
string inputInfo ;
cout << outInfo[0] ;
int score = 0 ;
for(int problemNumber = 1 ; problemNumber <= 10 ; problemNumber++) {
int res = rand() % 51 ;
int pa = rand() % (res + 1) ;
int pb = res - pa ;
bool op = rand() % 2 ;
if(op) swap(res , pa) ;

for(int tryTime = 3 ; tryTime >= 1 ; tryTime--) {
cout << outInfo[1] << problemNumber << outInfo[2]
<< tryTime << outInfo[3] ;

cout << pa << (op ? " - " : " + ") << pb << " = " ;
cin >> inputInfo ;
if(inputInfo.substr(0 , 4) == "exit") {
system("cls") ;
cout << outInfo[4] << score << outInfo[5] ;
for(int t = 0 ; t < 1000000000 ; t++) ;
return 0 ;
}
else {
int ans ;
sscanf(inputInfo.c_str() , "%d" , &ans) ;
if(ans == res) {
cout << outInfo[6] ;
score += scoreGet[tryTime] ;
scoreEveryProblem[problemNumber - 1] = scoreGet[tryTime] ;
break ;
}
else if(tryTime > 1) {
cout << outInfo[7] ;
}
else {
cout << pa << (op ? " - " : " + ") << pb << " = " << res << "

" ;
}
}
}
}
for(int i = 0 ; i < 10 ; i++) {
cout << outInfo[8] << (i + 1) << outInfo[9]
<< scoreEveryProblem[i] << outInfo[10] ;
}
cout << outInfo[11] << score << outInfo[12] ;
cout << resultInfo[min(4 , max(0 , (score - 50) / 10))] << endl ;
system("pause") ;
return 0 ;
}

随机选择数字,可以使用qsrand()和qrand()两个函数生成指定范围内的随机数。
加号和减号,也可以通过生成0、1的随机数判断,0为加,1为减。但注意当符号为减号时生成的被减数要大于减数。
然后显示出来的时候,就把0转化为“+”,1转化为“-”显示。
输入结果点击提交后,系统计算得数判断是否正确。


昌江区13644219360: 用Qt编程 小学生测验 面向小学1~2年级学生,随机选择两个整数和加减法形成算式 -
闻琳复方: 随机选择数字,可以使用qsrand()和qrand()两个函数生成指定范围内的随机数.加号和减号,也可以通过生成0、1的随机数判断,0为加,1为减.但注意当符号为减号时生成的被减数要大于减数.然后显示出来的时候,就把0转化为“+”,1转化为“-”显示.输入结果点击提交后,系统计算得数判断是否正确.

昌江区13644219360: 题目:小学生测验面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答.功能要求:(1)电脑随机出10道题,每题10分,程序结束时... -
闻琳复方:[答案] 选4 . 5 问题:一位学生 成绩是 good ,那么他对了多少,错了多少? 2 如果这位学生一开始错了3道 成绩依然是good ,他对了多少 ? 错多少? 这是小学题 六年级的

昌江区13644219360: C程序 小学生测验程序编写
闻琳复方: E....给你吧...:求分=,= #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt; void makeproblem(); int m,n,res; int main() { int num=10,trylimit=3; int score=0; int i; for (i=0;i&lt;num;i++) { int ans; makeproblem(); while(trylimit&gt;0) { ...

昌江区13644219360: 小学生测验+c语言代码 -
闻琳复方: #include#include#include int main(){ srand(time(NULL)); int a,b,c,score[10],trueValue,sum=0; for(int i=0;i for(a=rand()%51,b=rand()%51;a+b>50 || a+b50 || a-b c=rand()%3; for(int j=0;j if(c==1){ printf("%d:%d+%d=",i+1,a,b); trueValue=a+b; scanf(...

昌江区13644219360: C++编写程序实现小学生数学测验功能 -
闻琳复方: 参考实例源码如下: //#include <stdlib.h> #include <iostream> using namespace std; int main() {int i,j,k,l=0,n;cout<<"小学数学测试"<<endl;cout<<"请选择想测试的题型:1.+ 2.- 3.* 4./:";cin>>i; if(i==1){cout<<"请输入测试题的个数:...

昌江区13644219360: C语言程序设计:小学生测验 -
闻琳复方: #include<stdlib.h>#include<stdio.h>#include<conio.h> void main() { int num=0,err=0; /* 答题数,错误数 */ while(1) { int a=0,b=0,d=0,c=0,i=0,result; char sf[2]={'+','-'}; /* 出题 */ while(1) { a=rand()%51; b=rand()%51; d=rand()%2; if(d==0)c=a+b; ...

昌江区13644219360: 小学生测验 2. 课题说明:向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生作答.基本功能: 电脑随机出10道题,每题10分,程序结束... -
闻琳复方:[答案] //原创代码,欢迎参考,编译环境:devcpp 4.9.9.2 //添加了一些头文件,楼主可以再编译试试 #include #include #include #include #include #include #include #include using namespace std ; const string outInfo[13] = { "欢迎使用上机评测系统,请依提...

昌江区13644219360: 用JAVA编程 -
闻琳复方: import java.util.*; public class Test { /** 将随机生成符合规则的两个数到arr数组中 */ public static void getQuestion(int arr[]) { arr[0]=getRandom(); arr[1]=getRandom(); if(arr[0]+arr[1]>50||arr[0]+arr[1]<0) { getQuestion(arr); } } /** 获取键盘录入,得到输...

昌江区13644219360: 为小学生设计一位整数,二位整数四则运算的测试应用程序 -
闻琳复方: import randomprint "小学四则运算测试(输入0000退出):"ops = ['+', '-', '*', '/'] # 运算符ans = "" # 用户回答i = 1 # 题号while ans != "0000":add1 = random.randint(1, 10) # 数1add2 = random.randint(1, 10) # 数2op = random.randin.

昌江区13644219360: 题目2:小学生测验C++程序设计的思想 -
闻琳复方: 题目:小学生测验面向小学1~2年级学生,随机选择两个整数和加减法形成算式#include

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网