第四周第三项目——测试学生计算能力

本文介绍了一个使用C++编写的简单程序,该程序能够生成随机的算术题目供用户解答,并通过即时反馈帮助用户检验数学计算能力。
/*
 *Copyright(c) 2016,烟台大学计算机工程学院
 *All rights reserved.
 *文件名称:SecondWeek_Test_16.cpp
 *作    者:田志伟
 *完成日期:2016年 3 月 24 日
 *版 本 号:v1.0
 *
 *问题描述:
 *输入描述:
 *程序输出:
 */
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
void arrangement(int *,int *); 
//为了防止减法和除法出现第一个数大第二个数小而做的函数
int main()
{
    int i,score=0,result,num1,num2;
    cout<<"以下将出现十个随机数的随机加减乘除运算,每题一分"<<endl;
    for(i=1;i<=10;i++)
    {
        cout<<"第"<<i<<"题:"<<endl;
        int RanNum;
srand(time(0));
        RanNum=rand()%4;   //用RanNum随机数来控制加减乘除
        num1=rand()0;
        num2=rand()0;
        switch(RanNum)
        {
        case 0:
            cout<<num1<<"+"<<num2<<"=?"<<endl;
break;
        case 1:
arrangement(&num1,&num2);
            cout<<num1<<"-"<<num2<<"=?"<<endl;
break;
        case 2:
            cout<<num1<<"*"<<num2<<"=?"<<endl;
break;
        case 3:
arrangement(&num1,&num2);
if(num2==0)	//为了防止除数=0而使程序崩溃
{
i--;	//i--是为了防止跳出程序后少出一道题
break;
}
            cout<<num1<<"÷"<<num2<<"=?"<<endl;
break;
        }
        cin>>result;
        switch(RanNum)
        {
        case 0:
            if(num1+num2==result)
                score++;
break;
        case 1:
            if(num1-num2==result)
                score++;
break;
        case 2:
            if(num1*num2==result)
                score++;
break;
        case 3:
            if(num1/num2==result)
                score++;
break;
        }
    }
    cout<<"你的分数是"<<score<<endl;

return 0;
}
void arrangement(int *pNum1,int *pNum2)
{
int temp;
if(*pNum1<*pNum2)
{
temp=*pNum1;
*pNum1=*pNum2;
*pNum2=temp;
}
}

程序运行:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值