好文档 - 专业文书写作范文服务资料分享网站

C++课程设计 - 计算器

天下 分享 时间: 加入收藏 我要投稿 点赞

课程设计报告

cin.ignore(); menu(); }

void count::fatoce()//华氏温度转化为摄氏温度 { cout << \将华氏温度转化为摄氏温度\\n\ cout << \请输入一个华氏温度: \ cin >> number1; answer =((number1 - 32) * 5) / 9; cout << \它的摄氏温度是\ cin.ignore(); menu(); }

void count::cetofa()//摄氏温度转化为华氏温度 { cout << \将摄氏温度转化为华氏温度\\n\ cout << \请输入一个摄氏温度: \ cin >> number1; answer =number1 * 9 / 5 + 32; cout << \它的华氏温度是\ cin.ignore(); menu(); }

const int a=30;

double s1[a+1];//操作数栈 char s2[a+1];//运算符栈 int t1,t2;

void count::calcu()//一次计算 { double x1,x2,x; char p;

p=s2[t2--];//弹出一个运算符 x2=s1[t1--];//弹出两个操作数 x1=s1[t1--];

switch (p)//进行一次运算 { case '+': x=cadd(x1,x2); break; case '-': x=csub(x1,x2); break; case '*': x=cmult(x1,x2);

12

课程设计报告

break; case '/': x=cdiv(x1,x2); break; } s1[++t1]=x;//结果压入操作数栈 }

double count::calculate(char *f) { double x; char *p=f; t1=t2=0; //设置空栈 while (*p!='\\0') switch(*p) {

case '+': case '-': while (t2&&(s2[t2]!='('))

//执行先遇到的加、减、乘、除运算 calcu();

//当前运算符进栈 s2[++t2]=*p; //读下一个字符 p++; break; case '*': case '/':

if (t2&&(s2[t2]=='*')||(s2[t2]=='/')) //执行先遇到的乘、除运算 calcu();

//当前运算符进栈 s2[++t2]=*p; //读下一个字符 p++; break; case '(': //左括号进栈 s2[++t2]=*p; //读下一个字符 p++; break; case ')': while (s2[t2]!='(') //执行括号内的加、减、乘、除运算 calcu(); //弹出左括号

13

课程设计报告

t2--; //读下一个字符 p++; break; default: //把字符串转换成整数值 x=0; do { x=10*x+*p-'0'; p++; } while((*p>='0')&&(*p<='9')); //操作数进栈 s1[++t1]=x; }; //执行先遇到的加、减、乘、除运算 while (t2) calcu(); //返回结果 return s1[t1]; }

void count::mixed()//混合运算函数 { cout<<\混合运算函数,请输入要计算的表达式:\\n\ char b[100]; cin>>b; cout<

void count::cexit()//退出函数 { exit(0); }

void count::badinput()//出错提示函数 { cout << \输入错误!\\n\ cin.ignore(); menu(); }

void count::test()//测试函数 { cout<<\进行测试\\n\ int s,sum=0;

14

课程设计报告

float x; for(int i=1;i<=10;i++) { s=rand()%4+1;//随机给出题目的+或-或*或/ srand ( time (NULL) ); switch(s) { case 1: number1=rand()%MAX; number2=rand()%MAX; cout<

1bkqv6xf1b507xn0uyq64mg6283nif00q1z
领取福利

微信扫码领取福利

微信扫码分享