Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Znak matematyczny jako zmienna.

Ostatnio zmodyfikowano 2018-03-24 18:27
Autor Wiadomość
YooSy
» 2018-03-24 11:25:14
Napisz co chcesz osiągnąć.
Raczej nie dasz rady bez pisania parsera, użyć znaku typu 'char' jako operatora matematycznego.
P-170201
Sebo92
Temat założony przez niniejszego użytkownika
» 2018-03-24 12:31:08
Po prostu przypisać jakiejś zmiennej znak matematyczny który wpiszę z klawiatury a potem będę mógł go potem używać. Bez używania switch. Po prostu zmienna (nie koniecznie typu "char") np. "a" której przypiszę znak operatora matematycznego przy użyciu "cin>>a;". A potem będę mógł tej zmiennej używać zamiast dowolnego znaku matematycznego. Czy to jest w ogóle wykonalne w c++? Np. Wynika = 21 a 43.
P-170206
pekfos
» 2018-03-24 13:39:41
Nie jest wykonalne. Możesz najwyżej zrobić tak, by nie używać switch za każdym razem gdy chcesz coś obliczyć. Gdzieś sprawdzenie i tak musi być, bo znak może być niepoprawny.
C/C++
#include <iostream>
#include <functional>

int main()
{
    char op;
    std::cin >> op;
   
    std::function < int( int, int ) > fn_op;
    switch( op )
    {
    case '+': fn_op =[]( int a, int b ) { return a + b; }; break;
    case '-': fn_op =[]( int a, int b ) { return a - b; }; break;
    case '*': fn_op =[]( int a, int b ) { return a * b; }; break;
        //itp
       
        default:
        std::cerr << "Nieprawidlowy operator, oczekiwano +, -, *\n";
        return 1;
    }
   
    int a, b;
   
    while( std::cin >> a >> b )
         std::cout << "Wynik " << a << " i " << b << " to " << fn_op( a, b ) << std::endl;
   
}
P-170207
Sebo92
Temat założony przez niniejszego użytkownika
» 2018-03-24 18:27:35
Wielkie dzięki wszystkim za odpowiedzi!!!
P-170216
1 « 2 »
Poprzednia strona Strona 2 z 2