用c++编写一个加减乘除 的运算题 求完整代码

#include<time.h>#include<stdio.h>#include<stdlib.h>voidmain(void){intnumber;srand((un... #include <time.h>
#include <stdio.h>
#include <stdlib.h>

void main(void)

int number;
srand((unsigned) time(NULL));

number = rand( ) % 100 // 0에서99사이의랜덤수가만들어짐 韩文的意思是用0到99之间的数字随机来制作
printf(“만들어진 랜덤 수는 %d 입니다.”, number); 韩文的意思是 随机制造的数是%d

下面得问题要用这个方法来写

初中生在学习算术时 要创建一个程序来帮助学习
首先在菜单中必须要用下面四个方法来算

选择你想学习的操作。
1加 2减 3乘 4除
上面四个菜单当中有一个可以决定的话 使用随机函数产生2个随机数
使用2个产生的随机数 用这个算数公示来解决问题就出来了
解决这个问题的学生答案输入正确的话就会出现

"Very Good !"
答案输入错误的话就会出现

No, Please try again"

产生的问题全部是10题的话,如果问题是10题 满分是100分 以10分为单位的分数将出来了

考试分数是80分
重新回到菜单上去重新再用算数演示一次

(p.s)
加和减的问题产生的情况哐2个数的范围要100以下的数字
用乘法运算时的情况,问题应该在乘法范围之内
用除法时的情况产生2个随机数字下面,两个随机数相乘其余一个数除的问题就是问题了 一定要出现0的状况
展开
 我来答
魔龙嗜血
推荐于2017-10-08 · TA获得超过1116个赞
知道小有建树答主
回答量:1033
采纳率:100%
帮助的人:510万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAXOP 100
#define NUMBER '0'
int getop (char [] );
void push (double);
double pop(void);

int getch(void);
void ungetch(int);

int getop(char s[])
{
int i,c;
while ((s[0]=c=getch())==' '|| c=='\t');
s[1]='\0';
if(!isdigit(c)&&c!='.')
return c;
i=0;
if(isdigit(c))
while (isdigit(s[++i]=c=getch()));
if (c=='.')
while (isdigit(s[++i]=c=getch()));
s[i]='\0';
if (c!=EOF)
ungetch(c);
return NUMBER;
}

#define BUFSIZE 100
char buf[BUFSIZE];
int bufp=0;
int getch(void)
{
return(bufp>0) ? buf[--bufp]:getchar();
}
void ungetch(int c)
{
if (bufp>=BUFSIZE)
printf("ungetch:too many characters\n");
else
buf[bufp++]=c;
}
main()
{
int type;
double op2;
char s[MAXOP];
while ((type=getop(s))!=EOF) {
switch (type) {
case NUMBER:
push(atof(s));
break;

case '+':
push(pop()+pop());
break;
case '*':
push(pop()*pop());
break;
case '-':
op2=pop();
push(pop()-op2);
break;
case '/':
op2=pop();
if (op2!=0.0)
push(pop()/op2);
else
printf("error:zero divisor\n");
break;
/*case '/n':
printf("\t%.8g\n",pop());
break;*/
case 0x0a:
printf("\t%.8g\n",pop());
break;

default:
printf("error:unknown command %s\n",s);
break;
}
}
return 0;
}

#define MAXVAL 100

int sp=0;
double val[MAXVAL];

void push(double f)
{
if (sp<MAXVAL)
val[sp++]=f;
else
printf("error:strack full,can't push %g\n",f);
}
double pop(void)
{
if (sp>0)
return val[--sp];
else {
printf("error:stack empty\n");
return 0.0;
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dongruixuan
2013-07-07 · 超过15用户采纳过TA的回答
知道答主
回答量:227
采纳率:0%
帮助的人:65万
展开全部
如果你是老师问你的话,可以给你代码,如果是用在实际生活中的话,就不可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式