二柱子升级版在线答题

题目要求:1.实现在线答题

2.答题结束后可以判断对错

3.可以将错题结果保存起来

#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void boom()
{
float x,y;
int z,t;
int first_num,second_num,third_num,fourth_num;
srand(time(NULL));
int n;
float k;
float d;
float daan[100];
int zq=0;
int cw=0;
cout<<"需要列出多少到数学题?"<<endl;
cin>>n;
cout<<"********************************"<<endl;
for(int i=0;i<n;i++)
{
z=rand()%4;
first_num=rand()%10;
second_num=rand()%10;
third_num=rand()%10;
fourth_num=rand()%10;
if (second_num==1)
{
x=(float)first_num;
}
else if(first_num>second_num)
{
t=first_num;
first_num=second_num;
second_num=t;
}
x=(float)first_num/second_num;
if (fourth_num==1)
{
y=(float)third_num;
}
else if(third_num>fourth_num)
{
t=third_num;
third_num=fourth_num;
fourth_num=t;
}
y=(float)third_num/fourth_num;
z=rand()%4;
switch(z)
{
case 0:
cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"+"<<third_num<<"/"<<fourth_num<<"="<<" ";
daan[i+1]=x+y;
break;

case 1:
cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"-"<<third_num<<"/"<<fourth_num<<"="<<" ";
daan[i+1]=x-y;
break;
case 2:
cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"*"<<third_num<<"/"<<fourth_num<<"="<<" ";
daan[i+1]=x*y;
break;
case 3:
if(y!=0)
{
cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"÷"<<third_num<<"/"<<fourth_num<<"="<<" ";
}
else
{
i=i-1;
}
daan[i+1]=(float)x/y;
break;
}
if((i+1)%3==0)
{
for(int c=0;c<=1;c++)
{
cout<<endl;
}
}
if((i+1)==n)
{
cout<<endl;
}
}
for(i=1;i<=n;i++)
{
cout<<"请作答:"<<endl;
cout<<i<<"、";
cin>>d;
if(d==daan[i])
{
cout<<"恭喜您,回答正确!"<<endl;
cout<<endl;
zq=zq+1;
}
else
{
cout<<"回答错误,正确答案为:"<<" "<<daan[i]<<endl;
cout<<endl;
cw=cw+1;
}
}
k=(float)zq/n;
cout<<"回答正确的数量为:"<<" "<<zq<<"个"<<endl;
cout<<"回答错误的数量为:"<<" "<<cw<<"个"<<endl;
cout<<"正确率为:"<<" "<<k<<endl;
}
int main()
{
boom();
int c;
cout<<"要继续答题吗?(0:继续 1:退出)"<<endl;
cin>>c;
if(c==0)
{
cout<<endl;
main();
}
else
{
cout<<endl;
return 0;
}

return 0;
}

原文地址:https://www.cnblogs.com/yzhztoutlook/p/9886529.html

时间: 2024-11-05 23:37:55

二柱子升级版在线答题的相关文章

二柱子升级版

一.实验思路二柱子的老师又提出了新的要求,要求能在线答题,保存错题.为了避免主函数代码过于重复,将"生成某一个范围内的随机数"."生成随机的分数"."生成一个运算符"."判断整数的正负并取相反数"."把int类型装换为string类型".以及"含有括号的运算"."含有真分数的运算"和"不含真分数的运算"等封装成函数.为了避免定义整型变量,计算时强制

二柱子四则运算在线答题系统

一:要求: 1.实现在线答题. 2.答题结束后,可以判断对错. 3.并将错题的结果保存起来. 二:设计思路: 1.利用第一次实习的随机出题代码进行出题,然后我们设计让用户进行答题,把用户的答案与题目的正确答案进行比较,然后与正确的答案不一样,我们则显示回答错误,假如和正确答案一致我们则显示回答正确,然后利用i对回答正确的题目进行统计,在最后进行显示,这样我们就编写出一个完整的在线答题判卷系统. 三:程序代码: #include <stdio.h> #include <time.h>

二柱子四则运算定制版+升级版

题目:在上次程序的基础上,实现对连除的判断,并且实现多个数的混合运算,要求可以输入结果,并进行判断. 思路:基于上次程序,首先思考混合运算,这里运用两个数组,分别记录随机产生的运算数和运算符号.然后对连除进行判断,,检查运算符号数组里是否有连续的除号,有的话加上括号,避免歧义.最后对运算结果进行计算,并对用户输入的结果进行比较,给出相应提示,回答,计算方面,要优先对括号,乘除进行运算,然后再进行加减运算,每次运算完后都要记录下运算的结果. 代码: //吕广浩 3/19 #include<iost

RIGHT-BICEP单元测试——“二柱子四则运算升级版”

RIGHT-BICEP单元测试 ——“二柱子四则运算升级版” ”单元测试“这对于我们来说是一个全新的专业含义,在上了软件工程这门课,并当堂编写了简单的"求一组数中的最大值"函数的单元测试之后,我们对它有了全新的认识. 单元测试:即为, 老师让我们回去之后将“二柱子四则运算升级版”的程序进行单元测试(二柱子程序的源码我已经上传,这里不再重复,只列举单元测试的部分和分析),如下: PS.这里附上老师上课讲的关于RIGHT-BICEP测试的方法: 6个值得测试的具体部位,他们能够提高我们的测

苦逼的二柱子的四则运算问题

问题:二柱子将做好的项目交给了老师,几天后又得到新的需求:   1.实现在线答题:   2.答题结束后,可以判断对错:   3.并将错题的结果保存起来 #include<iostream>#include<stdarg.h>#include<stdlib.h>#include<time.h>#include<math.h>using namespace std;int main(){cout<<endl;cout<<&qu

二柱子四则运算3

二柱子四则运算3 可怜的二柱子……又一次被坑了…… 老师又在上次的“二柱子四则运算2”的基础上增添了要求,如下: 1.学生写的程序必须能判定用户的输入答案是否正确.直到题目结束,告诉用户做对了几道题. 2.程序必须能处理四种运算的混合模式. 注意:连续的减法和除法,应该遵守左结合的规定. 连续除法要打括号,否则会引起歧义. 一.实验思路 二.实验源代码 三.实验总结和反思 最后,附上我和我的小伙伴的工作照……没有正脸.老师们不要介意啦啦啦~~~~ 小伙伴博客内容页:http://www.cnbl

二柱子的难题02

老师又向二柱子提出一些要求,二柱子很崩溃 具体要求如下: 题目避免重复 可定制(数量/打印方式) 可控制参数    1是否有乘除法    2是否有括号    3数值范围    4加减法有无负数    5除法有无余数 可怜的二柱子经过8h的奋战,终于在01版本的基础上改出了满足要求的02版本 1 #include <iostream> 2 #include <iomanip> 3 #include <fstream> 4 #include <ctime> 5

二柱子问题扩充:1、题目避免重复; 2、可定制(数量/打印方式); 3、可以控制下列参数: 是否有乘除法、是否有括号、 数值范围、加减有无负数、除法有无余数、否支持分数 (真分数, 假分数, …)、是否支持小数 (精确到多少位)、打印中每行的间隔可调整;

程序设计思想 程序的主要设计思想为用字符串数组保存生成的运算题,将操作数采用单独算法处理,然后进行类型转换和操作符一起存入数组中,鉴于字符串的特性,可以对字符串的长度进行随意添加而不必考虑长度问题,最后进行字符串数组的输出产生客户要求的运算题; 源代码 #include<stdlib.h> #include<conio.h> #include<time.h> #include<iostream> #include<string> #include

150313 那个可怜的二柱子同学

今天的软件工程概论课,老师出了这么个问题: 可怜的二柱子同学,老师又对他的自动出题系统提出了新的要求: 题目避免重复 可定制(数量.打印方式): 可以控制下列参数:是否有乘除法.数值范围.加减有无负数.除法有无余数.是否支持分数(真分数.假分数): 我想了两种解决方法: 一.使用数据库: 避免重复:随机数及符号大量生成录入数据库,生成md5,数据库查询(Select Distinct MD5,第一整数,符号,第二整数 from 题目表). 定制:输入框,输入题目数量.打印方式可以用[x++ if