Znak matematyczny jako zmienna.
Ostatnio zmodyfikowano 2018-03-24 18:27
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. |
|
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. |
|
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. #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; 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; } |
|
Sebo92 Temat założony przez niniejszego użytkownika |
» 2018-03-24 18:27:35 Wielkie dzięki wszystkim za odpowiedzi!!!
|
|
1 « 2 » |