自动出题程序(10以内的数字的四则运算)

代码如下:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    int num1,num2,op,result1,result2;    //num1,num2:操作数;op:运算符;result1,result2:结果
    do
    {
    srand(time(NULL));
    num1=rand()*10/(RAND_MAX+1);
    num2=rand()*10/(RAND_MAX+1); //生成运算数
    op=rand()*4/(RAND_MAX+1);    //生成运算符 0-- +,1-- -,2-- *,3-- /

    switch (op)
    {
    case 0:
        cout<<num1<<"+"<<num2<<"=?  ";
        cin>>result1;
        if (num1+num2 == result1)
            cout<<"you are right"<<endl;
        else
            cout<<"you are wrong"<<endl;
        break;
    case 1:
        cout<<num1<<"-"<<num2<<"=?  ";
        cin>>result1;
        if (num1-num2 == result1)
            cout<<"you are right"<<endl;
        else
            cout<<"you are wrong"<<endl;
        break;
    case 2:
        cout<<num1<<"*"<<num2<<"=?  ";
        cin>>result1;
        if (num1*num2 == result1)
            cout<<"you are right"<<endl;
        else
            cout<<"you are wrong"<<endl;
        break;
    case 3:
        cout<<num1<<"/"<<num2<<"=?  ";
        cin>>result1;
        cout<<"余数为=?  ";
        cin>>result2;
        if ((num1/num2 == result1)&&(num1%num2==result2))
            cout<<"you are right"<<endl;
        else
            cout<<"you are wrong"<<endl;
        break;
    }
    }while(1);
    return 0;

}

库cstdlib中含有随机数生成函数。程序的循环内的第一条语句srand(time(NULL))的作用是设置随机数的种子,随机数的生成需要种子,不同的种子可以生成不同1随机数序列。如果用户不设置随机数的种子,系统会指定一个。系统为每个程序、每次执行指定的随机数的种子都是相同的,即在程序中,每次执行出的题目都是相同的。但同时,如果程序员设置的种子是一个固定值,那么程序每次执行的到的随机数序列还是相同的。如果让程序每次执行时选择的种子不一样呢?在一个计算机系统中,时间总是在变。因此把系统时间设为种子是一个很好的想法。time(NULL)就是取当前的系统时间。为了使用时钟,需要包含头文件ctime。
                                              ————翁惠玉老师 《C++程序设计思想与方法》

时间: 2024-10-18 08:25:57

自动出题程序(10以内的数字的四则运算)的相关文章

用Python开发小学二年级口算自动出题程序

版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:[email protected] 武汉光谷一小二年级要求家长每天要给小孩出口算题目,让孩子练习. 根据老师出题要求编写了Python程序自动出题,结果保存为txt文件,打印出来作为练习用,这样就不用每天繁琐地人工出题了,其中的数字用randint随机产生. 程序如下: # -*- coding:utf-8 -*- __author__ = 'zhengbiqing [email protected]' __doc__ = "&qu

java循环练习:用户输入一个10以内的数字,通过运算求出该数字的阶乘

package practiceGO; import java.util.Scanner; /*  * 4.用户输入一个10以内的数字,通过运算求出该数字的阶乘  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个10以内的数字,由系统计算阶乘"); int num = sc.nextIn

自动出题小程序

小学生自动出题小程序并不难,用随机数产生随机数字,规定范围并且适当判断后输出即可,避免题目重复,可以使用数组将每组输出的数字储存在数组中,下次产生的随机数与数组中的数字元素作比较即可,如果重复则再次产生随机数,反之则输出并且再次储存. 代码如下: 1 package Test; 2 3 import java.util.*; 4 5 public class TestPlus { 6 static Scanner in=new Scanner(System.in); 7 public TestP

自动出题判分——c#学习实践

1.程序功能自动出题—(程序随意给出10以内加减乘除)并且判断结果正确与否,正确打对勾,错误打错号. 2.设计界面: 3.代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks;

软件工程第一次作业 出题程序

一.功能介绍 程序采用c语言编写,实现功能: 1.每次出30道题,并给出答案 2.四则运算(结果不会出现负数,除法全部可以整除) 3.真分数四则运算(结果全为最简形式) 二.完成效果 1.开始界面 2.四则运算出题 3.显示答案 4.真分数四则运算 5.显示答案 三.编写过程 程序的两大功能就是四则运算和真分数的四则运算,所以在主函数设计if分支,按照选择使用不同的功能. 这两个主要部分都是通过生成一个0-3的随机数来控制出的题是加法还是减法还是乘除法,然后用for循环完成30道题的生成. 1.

Cocos2d-x 3.x 开发(十八)10行代码看自动Batch,10行代码看自动剔除

1.概述 在游戏的运行过程中,图形的绘制是非常大的开销.对于良莠不齐的Android手机市场,绘制优化较好的游戏,可以在更多的手机上运行,因此也是优化的重中之重.图形方面的优化主要体现在减少GUP的绘制次数上.这里我们分别从自动优化渲染批次和绘制剔除两个方面来看新版本在绘制上的优化. 2.自动batch 在Cocos2d-x 3.x中,抛弃了先前手动编写BatchNode,采用自动管理的方式.说起BatchNode,就难免涉及到显卡底层的绘制原理.简单的说,每提交一条绘制指令到显卡都会产生消耗,

Eclipse常用命令+ 简单的自动售票程序

Alt+/  快速打出一个类. 比如Scanner类. 再输入的时候可以Scan 到这里的时候使用“ALT+/” 这时就会发现和Scanner相关的都以下拉菜单的方式弹出来来了,这里选择第一个 Scanner类会直接出来,同时代码首行会加入 import java.util.Scanner.*; Scanner是个输入类,JAVA没有自动加载,使用这个类需要IMPORT这个包. 选定多行的方法: SHIFT+↑  或者 SHIFT+↓         选定多行加注释: CTRL+/ 单行加注释C

SNF开发平台WinForm之八-自动升级程序部署使用说明-SNF快速开发平台3.3-Spring.Net.Framework

9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Load事件或者Program入口的Main方法第一行代码加上如下代码: 注意:是主程序的 Load事件要加上调整自动更新程序的代码.要以模式打开窗口.如果没有差异会自动关闭升级窗口显示主窗口. 3.把下面目录里的文件拷贝到 应用程序的同级目录下: 4.配置WINFORMS应用程序目录下Updateli

C# 编写自动更新程序 (转)

感觉用的到,存下来,转自:http://blog.csdn.net/gisfarmer/article/details/4437994 现在但凡是一个程序都有相应的升级程序,如果你的程序没有相应的升级程序,那么你就需要留意了.你的用户很可能丢失!!!网上关于自动升级的例子也有很多,前几天一个朋友很苦恼的跟我说它的客户在逐渐减少(据他所说,他都客户因为他的程序升级很麻烦,所以很多人放弃了使用它的软件),问我说怎么办?其实他也知道该怎么办?所以...朋友嘛!就给他做了一个自动升级程序.恰好今天CSD