求一个c++编的最简单的会四则运算的计算器 ,急求 15

 我来答
zhangjiaminggo
2012-08-04 · TA获得超过546个赞
知道小有建树答主
回答量:310
采纳率:100%
帮助的人:141万
展开全部
软件名称:四则运算训练器
软件功能介绍:
该软件主要用于训练并测试使用者的四则运算能力。
进入软件主界面,界面上会显示3个选项,分别是:
1.10以内的四则运算训练。
2.20以内的四则运算训练。
0.退出。
使用者根据自己的需要选择不同的选项:
按“1”进入10以内的四则运算训练;
按“2”进入20以内的四则运算训练;
按“0”退出程序主界面。
10以内的四则运算和20以内的四则运算均为10题一组;
在这10个题中,加减乘除均有,操作数均为整数,且加减乘除出现的顺序不定,除法给出的两个操作数能除尽。
对于给出的题目,当操作者计算正确时,操作界面上无特殊显示;当操作者计算错误时,操作界面上会显示“FAULT!”,提示操作者该题计算错误并同时进入下一题。
操作者每做完10道题,界面上会显示此轮计算的正确率,并询问操作者是否继续。此时操作者可根据自己的需要,
按“1”进入10以内的四则运算训练;
按“2”进入20以内的四则运算训练;
按“0”退出程序主界面。
程序代码:
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void calculation1();
void calculation2();
void main()
{
int number;
char m;
redo:
printf("\t\t\t欢迎进入四则运算训练营!\n\n\n\n");
printf("<1>.10以内的四则运算系列.\n");
printf("<2>.20以内的四则运算训练.\n");
printf("<0>.退出.\n\n");
printf("请选择功能号( 1 / 2 / 0 ): ");
scanf("%d",&number);
srand((unsigned)time(0));
loop: if(number==1) calculation1();
else if(number==2) calculation2();
else exit(0);
printf("\n\n");
printf("继续吗?(Y/N):");
getchar();
scanf("%c",&m);
if(m=='Y') goto loop;
if(m=='N') goto redo;
}
void calculation1()
{
int i,j,n=0;
int a1,a2,result;
float rate;
char c='%';
printf("您选择的是10以内的四则运算。\n");
for(i=1;i<=10;i++)
{
j=rand()%4+1;
switch(j)
{
case 1:a1=rand()%10+1;a2=rand()%10+1;
printf("(%d) %d+%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1+a2)
{
printf("FAULT!\n");
n++;
}
break;
case 2: while((a1=rand()%10+1)&&(a2=rand()%10+1))
{
if(a1<a2) continue;
else break;
}
printf("(%d) %d-%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1-a2)
{
printf("FAULT!\n");
n++;
}
break;
case 3:a1=rand()%10+1;a2=rand()%10+1;
printf("(%d) %d*%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1*a2)
{
printf("FAULT!\n");
n++;
}
break;
case 4:while((a1=rand()%10+1)&&(a2=rand()%10+1))
{
if(a1%a2!=0) continue;
else break;
}
printf("(%d) %d/%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1/a2)
{
printf("FAULT!\n");
n++;
}
break;
}
}
rate=(10.0-n)/10.0*100;
printf("正确率为%.0f%c\n",rate,c);

}
void calculation2()
{
int i,j,n=0;
int a1,a2,result;
float rate;
char c='%';
printf("您选择的是20以内的四则运算。\n");
for(i=1;i<=10;i++)
{
j=rand()%4+1;
switch(j)
{
case 1:a1=rand()%20+1;a2=rand()%20+1;
printf("(%d) %d+%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1+a2)
{
printf("FAULT!\n");
n++;
}
break;
case 2:while((a1=rand()%20+1)&&(a2=rand()%20+1))
{
if(a1<a2) continue;
else break;
}
printf("(%d) %d-%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1-a2)
{
printf("FAULT!\n");
n++;
}
break;
case 3:a1=rand()%20+1;a2=rand()%20+1;
printf("(%d) %d*%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1*a2)
{
printf("FAULT!\n");
n++;
}
break;
case 4:while((a1=rand()%20+1)&&(a2=rand()%20+1))
{
if(a1%a2!=0) continue;
else break;
}
printf("(%d) %d/%d=",i,a1,a2);
scanf("%d",&result);
if(result!=a1/a2)
{
printf("FAULT!\n");
n++;
}
break;
}
}
rate=(10.0-n)/10.0*100;
printf("正确率为%.0f%c\n",rate,c);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式