2014-11-03 52 views
-5
  1. #ifndef CALC_H 
    #define CALC_H 
    
    
    class calc 
    { 
        double numb1; 
        double numb2; 
        public: 
         calc(); 
         void FUN_SUM(); 
         void FUN_Subtraction(); 
         void FUN_Multiplication(); 
         void FUN_Division(); 
         void FUN_Power(); 
         void FUN_Squareroot(); 
         void FUN_Switch(); 
         void FUN_Loob(); 
    
    }; 
    
    #endif // CALC_H 
    
    
    
    #include "calc.h" 
    #include <iostream> 
    #include <cmath> 
    using namespace std; 
    calc::calc() 
    { 
        numb1 = 0; 
        numb2 = 0; 
    } 
    void calc::FUN_SUM() 
    { 
        cout << "Enter number 1 " << endl; 
        cin >> numb1; 
        cout << "Enter number 2 " << endl; 
        cin >> numb2; 
        double Result_Of_Sum; 
        Result_Of_Sum = numb1+numb2; 
        cout << "The result of Sum = " << Result_Of_Sum << endl; 
    
    
    } 
    
    void calc::FUN_Subtraction() 
    { 
        cout << "Enter number 1 " << endl; 
    cin >> numb1; 
    cout << "Enter number 2 " << endl; 
    cin >> numb2; 
    double Result_Of_Subtraction; 
    Result_Of_Subtraction = numb1 - numb2; 
    cout << "The result of Subtraction = " << Result_Of_Subtraction << endl; 
    } 
    void calc::FUN_Multiplication() 
    { 
        cout << "Enter number 1 " << endl; 
        cin >> numb1; 
        cout << "Enter number 2 " << endl; 
        cin >> numb2; 
        double Result_Of_Multiplication; 
        Result_Of_Multiplication = numb1*numb2; 
        cout << "The result of Multiplication = " << Result_Of_Multiplication << endl; 
    
    } 
    
    void calc::FUN_Division() 
    { 
        cout << "Enter number 1 " << endl; 
        cin >> numb1; 
        cout << "Enter number 2 " << endl; 
        cin >> numb2; 
        double Result_Of_Division ; 
        Result_Of_Division = numb1/numb2; 
        cout << "The result of Division = " << Result_Of_Division << endl; 
    } 
    
    void calc::FUN_Power() 
    { 
        cout << "Enter number 1 " << endl; 
    cin >> numb1; 
    cout << "Enter number 2 " << endl; 
    cin >> numb2; 
    double Result_Of_Power; 
    Result_Of_Power = pow(numb1,numb2); 
    cout << "The result of Power = " << Result_Of_Power << endl; 
    } 
    
    void calc::FUN_Squareroot() 
    { 
        cout << "Enter the tow number you want Square root \n"; 
        cin >> numb1; 
    
        double Result_Of_Square_root; 
        Result_Of_Square_root = sqrt(numb1); 
        cout << "The result of Square root = " << Result_Of_Square_root << endl; 
    } 
    void calc::FUN_Switch() 
    { 
    int S; 
        cout << "Enter the number you operator do you want do it " << endl; 
        cout << "1- Addition" << endl; 
        cout << "2- Subtraction" << endl; 
        cout << "3- Multiplication" << endl; 
        cout << "4- Division" << endl; 
        cout << "5- Power" << endl; 
        cout << "6- Square Root" << endl; 
         cout << "7- Exit" << endl; 
        cin >> S; 
    
        switch (S) 
        { 
        case 1: 
    
         FUN_SUM(); 
         break; 
    
        case 2: 
    
         FUN_Subtraction(); 
         break; 
    
        case 3: 
    
         FUN_Multiplication(); 
         break; 
    
        case 4: 
    
         FUN_Division(); 
         break; 
    
        case 5: 
    
         FUN_Power(); 
         break; 
    
        case 6: 
    
         FUN_Squareroot(); 
         break; 
    
        default : 
         break; 
    
        } 
    } 
    
    void calc::FUN_Loob() 
    { 
        char L; 
    
        do 
        { 
    
         FUN_Switch(); 
    
    cout << "Do you want do another operator ('y' or 'n'?) \n"; 
         cin >> L; 
    if (L== 'y' || L=='Y' || L=='n' || L=='N') 
    
        continue; 
    else 
        cout << "you are enter roang later\n"; 
    
        } 
    
        while (L == 'Y' || L == 'y'); 
    
    } 
    
    
    #include <iostream> 
    #include "calc.h" 
    using namespace std; 
    
    int main() 
    { 
        cout << "Welcome to my simple Calculator\n"; 
    calc simple_calc; 
    
    simple_calc.FUN_Loob(); 
    cout << "\n Tank you for use my App :) :) " << endl; 
    
    return 0; 
    } 
    

我的问题是如何我可以使用户计算值的任何值与像普通计算器运营计算值许多值与许多算术运算符C++

例如1 + 9 * 8-1 + 5我希望我的程序可以这样做,但我不知道怎么做? :(:(

+0

请格式化您的文章。小心些。 – 2014-11-03 19:08:08

+0

为“C++计算器”搜索StackOverflow,并且会显示大量示例。研究它们。 – 2014-11-03 19:33:43

回答

0

编写计算器不是一件容易的事,因为有更多的参与:

  1. 运算符优先级
  2. 分组
  3. 表达式的评估

运算符优先级
运算符优先级是运算的分组,例如执行所有乘法加减之前的分割和分割。计算器程序应该处理没有括号(分组)的优先级。

分组
更高级的计算器将允许使用圆括号对表达式进行分组。计算器应该能够评估最内在的表达并向外工作。

求表达式
这意味着允许多于1位的数字,和数字和符号之间的空格。此外,一旦表达式解析,它需要评估。计算器应根据操作(由用户指定)调用适当的功能。

我建议你允许用户输入一个表达式,并且你的程序以字符串的形式读取它。然后您的程序将解析字符串,然后评估表达式。

搜索网络和StackOverflow的“C++计算器”的例子。

+0

谢谢你回答我 但我有问题一些表达式必须做到从左到右我怎么能这样做这个例子3-9 + 8必须做到从左到右? – ebdaa3sea 2014-11-03 20:23:36

+0

如果您扫描从索引0开始的输入字符串,则将从左向右扫描。 – 2014-11-03 20:54:50

+0

另一个问题如何声明拖动变量作为指针和创建(for循环)为用户添加数字和用于表达式的另一个(for循环) – ebdaa3sea 2014-11-03 22:11:52