注册 登录
编程论坛 C++教室

简单到令人发指的小程序 ……计算器

yangfanconan 发布于 2011-04-29 18:54, 822 次点击
看代码,保证你说这程序令人发指
程序代码:
// 简单计算器.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
#include<math.h>
using namespace std;
double firstnum,secondnum,thirdnum,resultnum;
char sign1,sign2;
void input()
{
    cin>>firstnum>>sign1>>secondnum>>sign2>>thirdnum;
}
void output()
{
    cout<<"="<<resultnum<<'\n';
}
double yunsuan()
{
    if(sign1=='+'&&sign2=='+')
    {
      resultnum=firstnum+secondnum+thirdnum;
    }
    if(sign1=='+'&&sign2=='-')
    {
      resultnum=firstnum+secondnum-thirdnum;
    }
    if(sign1=='+'&&sign2=='*')
    {
      resultnum=firstnum+secondnum*thirdnum;
    }
    if(sign1=='+'&&sign2=='/')
    {
      resultnum=firstnum+secondnum/thirdnum;
    }
    if(sign1=='+'&&sign2=='^')//~~~~~~~~~~第一运算符为加法~~~~~~~~~~~~~~~~~~~~
    {
            resultnum=firstnum+pow(secondnum,thirdnum);
   

    }
    if(sign1=='-'&&sign2=='+')
    {
      resultnum=firstnum-secondnum+thirdnum;
    }
    if(sign1=='-'&&sign2=='-')
    {
      resultnum=firstnum-secondnum-thirdnum;
    }
    if(sign1=='-'&&sign2=='*')
    {
      resultnum=firstnum-secondnum*thirdnum;
    }
    if(sign1=='-'&&sign2=='/')
    {
      resultnum=firstnum-secondnum/thirdnum;
    }
    if(sign1=='-'&&sign2=='^')//~~~~~~~~~~第一运算符为减~~~~~~~~~~~~~~~~~~~~
    {
            resultnum=firstnum-pow(secondnum,thirdnum);
   

    }
    if(sign1=='*'&&sign2=='+')
    {
      resultnum=firstnum*secondnum+thirdnum;
    }
    if(sign1=='*'&&sign2=='-')
    {
      resultnum=firstnum*secondnum-thirdnum;
    }
    if(sign1=='*'&&sign2=='*')
    {
      resultnum=firstnum*secondnum*thirdnum;
    }
    if(sign1=='*'&&sign2=='/')
    {
      resultnum=firstnum*secondnum/thirdnum;
    }
    if(sign1=='*'&&sign2=='^')//~~~~~~~~~~~第一运算符为乘~~~~~~~~~~~~~~~~~~~
    {
            resultnum=firstnum*pow(secondnum,thirdnum);
   

    }
    if(sign1=='/'&&sign2=='+')
    {
      resultnum=firstnum/secondnum+thirdnum;
    }
    if(sign1=='/'&&sign2=='-')
    {
      resultnum=firstnum/secondnum-thirdnum;
    }
    if(sign1=='/'&&sign2=='*')
    {
      resultnum=firstnum/secondnum*thirdnum;
    }
    if(sign1=='/'&&sign2=='/')
    {
      resultnum=firstnum/secondnum/thirdnum;
    }
    if(sign1=='/'&&sign2=='^')//~~~~~~~~~~~第一运算符为除~~~~~~~~~~~~~~~~~~~
    {
            resultnum=firstnum/pow(secondnum,thirdnum);
   

    }
    if(sign1=='^'&&sign2=='+')
    {
      resultnum=pow(firstnum,secondnum)+thirdnum;
    }
    if(sign1=='^'&&sign2=='-')
    {
      resultnum=pow(firstnum,secondnum)-thirdnum;
    }
    if(sign1=='^'&&sign2=='*')
    {
      resultnum=pow(firstnum,secondnum)*thirdnum;
    }
    if(sign1=='^'&&sign2=='/')
    {
      resultnum=pow(firstnum,secondnum)/thirdnum;
    }
    if(sign1=='^'&&sign2=='^')//~~~~~~~~~~第一运算符为幂运算~~~~~~~~~~~~~~~~~~~~
    {
            resultnum=pow(firstnum,secondnum);
            resultnum=pow(resultnum,thirdnum);
   

    }
    return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
    for(;;)
    {
    cout<<"现在开始运算:"<<'\n';
    input();
    yunsuan();
    output();
    }
    return 0;
}
。。。
6 回复
#2
玩出来的代码2011-04-29 20:18
存在很多方法让你有机会看到MS的debug、
#3
我是菜鸟C2011-04-29 23:24
  我勒个去 。。。
  好繁琐。。
#4
makebest2011-04-29 23:47
完全不懂编程的人写的.
#5
winerwhq2011-05-06 10:49
不能用,有什么意思。
#6
yuccn2011-05-06 14:25
这个代码至少可以减去2 / 3

冗余太多了
#7
xin3109232011-05-06 17:40
大哥  开头代码也不来点注释,我认为开头来点注释很容易让人看的更爽点。
1