小水泰国演员新剧:帮我看下这个小程序好吗?

来源:百度文库 编辑:神马品牌网 时间:2024/05/10 12:56:32
帮我看下这个程序好吗,可以运行,但是有时会出现a=....什么的,而且也做不了乘法.拜托了,很急!如果解决了,我把我所有的积分都给你.
这程序要实现的功能是: 该计算器程序能自动出题,要求用户计算,同时计算机判断用户计算的对错并打分以10题为一个单元,加减运算时最高为两位数运算,乘法为两位数乘一位数
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<iostream.h>
double SWAP(int a, int b)
{ int c;
c=a;
a=b;
b=c;
cout<<"a="<<a<<"b="<<b;
return a,b;}
void main()
{
int i,fen=0,c; char p;
int a,b,num;
srand(time(0));
for(i=0;i<10;i++)
{ a=rand()%100+1;
b=rand()%100+1;
cout<<"请输入你所想要的算法";
cin>>p;
if(p=='+'||'-')
{
if(p=='+')
{
cout<<a<<"+"<<b<<"=";
cin>>num;
if(num==a+b)
fen+=10;
}
else
{
if(a<b)SWAP(a,b);
cout<<a<<"-"<<b<<"=";
cin>>num;
if(num==a-b)
fen+=10;
}
}
else
{
cout<<a<<"*"<<b<<"=";
cin>>num;
c=a*b;
if(num==c)fen+=10;}

}
cout<<"score="<<fen;
}
但每次要到输出分数的时候又跳掉了,看不到分数,怎么解决?

#include<stdlib.h>
#include<time.h>
#include<iostream.h>

double SWAP(int a, int b)
{
int c;
c=a;
a=b;
b=c;
return a,b;
}

void main()
{
int i,fen=0,c;
char p;
int a,b,num;
srand(time(0));
for(i=0;i<10;i++)
{
a=rand()%100+1;
b=rand()%100+1;
cout<<"ÇëÊäÈëÄãËùÏëÒªµÄËã·¨";
cin>>p;
switch(p)
{
case '+':
cout<<a<<"+"<<b<<"=";
cin>>num;
if(num==a+b) fen+=10;
break;
case '-':
if(a<b) SWAP(a,b);
cout<<a<<"-"<<b<<"=";
cin>>num;
if(num==a-b) fen+=10;
break;
case '*':
cout<<a<<"*"<<b<<"=";
cin>>num;
c=a*b;
if(num==c) fen+=10;
case '/':
break;
}
}
cout<<"score="<<fen;
}

这样就行了,但是除法没法精确做,因为结果是整数,跟我们正常理解的除法不一样。如果希望的到这样的除法,也可以采用你这个乘法的算法。

你说的出现a=什么的,是因为你SWAP函数里面有输出语句。

if(p=='+'||'-') 应为if(p=='+'||p=='-')
把这个函数改为:
void SWAP(int &a, int &b) //引用传值,以交换两个数
{ int c;
c=a;
a=b;
b=c;
}
另外没有必要用stdio.h这个头文件。

这个题我看了几遍a=rand()%100+1; b=rand()%100+1;不明白其余的我看着没什么你别急我已经在群上给你发了求助了会有人答出来的你把那两句的意思给我发给过来我看看