// 计算器.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdlib.h" //该头文件定义了rand()等一系列函数
#include "math.h"
#include <iostream>
using namespace std;
#define random(x) (rand()%x) //定义random函数
void insteger() //包含整数四则运算的函数
{
int n;
int a,b,c;
int op;
for(n=0;n<=50;n++) //输入题目
{
a = random(100); //0-99内取随机数
cout<<a;
b = random(100); //0-99内取随机数
op = random(4); //0-3内取随机数,分别对应+ - * /四个符号
switch(op)
{
case 0:
cout<<"+";
c = a + b;
break;
case 1:
cout<<"-";
c = a - b;
break;
case 2:
cout<<"*";
c = a * b;
break;
case 3:
cout<<"/";
c = a / b;
break;
default:
cout<<"输入运算符号有误";
break;
return ;
}
cout<<b<<"="<<c<<endl;
}
}
void fraction() //包含真分数四则运算的函数
{
int n;
double a,b,c,i,j;
int op;
for(n=0;n<=50;n++) //输入题目,取范围为50
{
a = random(100); //0-99内取随机数
b = random(100); //0-99内取随机数
i = random(100); //0-99内取随机数
j = random(100); //0-99内取随机数
op = random(4); //0-3内取随机数,分别对应+ - * /四个符号
if(i>a&&b>j)
{
cout<<"("<<a<<"/"<<i<<")";
switch(op)
{
case 0:
cout<<"+";
c = a/i + b/j;
break;
case 1:
cout<<"-";
c = a/i - b/j;
break;
case 2:
cout<<"*";
c = (a/i) *( b/j);
break;
case 3:
cout<<"/";
c = (a/i) /( b/j);
break;
default:
cout<<"输入运算符号有误";
break;
return ;
}
cout<<"("<<b<<"/"<<j<<")"<<"="<<c<<endl;
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a,b,c;
cout<<"运算类型"<<"1.整数;2.真分数"<<endl;
cout<<"输入序号";
cin>>a;
if(a==1)
insteger(); //包含整数四则运算的函数
if(a==2)
fraction(); //包含真分数四则运算的函数
else cout<<"序号有误";
}