2013-07-26 3 views
0

В настоящее время я работаю над небольшой и простой калькуляторной программой, и она идет очень хорошо, но я просто пытаюсь сделать некоторые улучшения. Он включает добавление функций для sin/cos/tan и abs.Включение функций тригонометрии в простой калькулятор, C++

Я не мог думать ни о каком другом способе, в котором я мог бы включить их, поскольку я уже объявлял свои переменные как плавающие ранее в коде.

#include <iostream> 

int main() { 
    //Variables that user inputs. 
    float a, b; 
    char op; 

    //Input them in the order 
    std::cin >> a >> op >> b; 

    //Addition 
    if (op == '+') { 
     std::cout << a << '+' << b << '=' << a+b; 
    } 
    //Subtraction 
    else if (op == '-') { 
    std::cout << a << '-' << b << '=' << a-b; 
    } 
    //Multiplication 
    else if (op == '*') { 
     std::cout << a << '*' << b << '=' << a*b; 
    } 
    //Division 
    else if (op == '/') { 
     std::cout << a << '/' << b << '=' << a/b; 
    } 

    return 0; 
} 

Любая помощь будет принята с благодарностью!

EDIT: Извинения. Понял, что я не включил этот вопрос. Как включить тригонометрические функции?

+2

чем вопрос? Я не понимаю эту проблему. – patrickvacek

+0

Какова ваша конкретная проблема? Что вы пробовали, что не работали/не были тем, что вы хотели? – JBL

+1

Итак, для начала вам, вероятно, нужно выяснить, как читать строку вместо символа для 'op'. Остальное должно быть довольно простым. –

ответ

2

Вы действительно не хотите, чтобы это сделать, но для вашего любопытства, может иметь что-то вроде следующего:

(убедитесь, что вы необходимые проверки)

 /* Sine */ 
    else if (op == 's') { 
     std::cout << a<<"*sin(" << b << ")=" << a*sin(b); 
    } 

    /* Cosine */ 
    else if (op == 'c') { 
     std::cout << a<<"*cos(" << b << ")=" << a*cos(b); 
    } 

    /* Tangent */ 
    else if (op == 't') { 
     std::cout << a<<"*tan(" << b << ")=" << a*tan(b); 
    } 

    /* Absolute */ 
    else if (op == 'a') { 
     std::cout << a<<"*abs(" << b << ")=" << a*fabs(b); 
    } 
+0

Нет ли способа включить его в слово «cos» или «sin»? Я мог бы сделать это, но думал, что было бы намного лучше сделать это словами. : \ – xbili

+0

@xbili вам нужно прочитать строку в качестве входных данных и проанализировать их соответственно – P0W

+0

#include std :: string op; if (op == "a") elseif (op == "cos") elseif (op == "magic") – Chemistpp

Смежные вопросы