B.....s
B.....s
#programowanie #cpp #nieprogramowanie #dopierosieucze

Czy jest możliwość, aby użytkownik sam wybrał operator? Np. Wpisuje a,b,c gdzie a,b to cyfry a c= to np:+. Ważne jest dla mnie, żeby użytkownik mógł wybrać czy dzieli, mnoży,dodaje a może odejmuje. Nie interesują mnie funkcje wyboru czy warunkowe. Po prostu chce mieć cały kod bez znaku "+" ale, użytkownik i tak będzie mógł dodawać. Pewnie się jakoś da, ale ciężko znaleźć.
4
  • Najlepsze
  • Wszystkie komentarze
echelon_
Ale szukam innego sposobu, żeby coś więcej się nauczyć.


@Bunis: To potraktuj to jako kalkulator i poćwicz Odwrotną Notację Polską.
4
anonim1133
@Bunis: wiem wiem, skasowałem.

3
tell_me_more
@Bunis: http://stackoverflow.com/a/252750

Coś takiego możesz zrobić. Albo klasami i metodami wirtualnymi - efekt ten sam.
2
anonim1133
@Bunis: Napisz se "parser", podawaj mu od razu równanie zamiast rozbijać na trzy :P
2
MacDada
@Bunis: Masz dwie opcje:

a.) proceduralnie IFowanie

b.) obiektowe przeciążanie /
2
erwit
@Bunis: tak, poczytaj o przeciazaniu operatora
1
Out0fControl
@Bunis: switch
1
handler
@Bunis: musisz evalować kod, w tym linku co dałem masz wyjaśnienie a więcej googluj
1
B.....s
B.....s
@echelon_: @anonim1133: @tell_me_more: @handler: mhmm! :) Tyle wiedzy,czas się uczyć i już widzę ciekawe rozwiązania mojego problemu. Dziękować wam, za pomoc w moim kształceniu.
1
F.....d
F.....d
@Bunis: Korzystając z zajebistości C++11 zrobiłbym to tak:

http://pastebin.com/U98V5NMb
1
handler
0
B.....s
B.....s
@handler: @erwit: Widzę, że to coś chyba z tym wspólnego o co mi chodzi, ale jakby wyglądał kod,

cin>>a; // liczba

cin >>b; // liczba

cin>>c; //operator wprowadzony przez uzytkownika np. +
0
B.....s
B.....s
@Out0fControl: Napisałem, że nie chce tego :) Tak samo, mogę zrobić z if.. Ale szukam innego sposobu, żeby coś więcej się nauczyć.
0
B.....s
B.....s
switch

Nie interesują mnie funkcje wyboru czy warunkowe


@anonim1133:
0
Roballo
Tiktak
0
tell_me_more
@tell_me_more: jeszcze tylko dopowiem, że możesz indeksować tablcę funkcjii charem, więc możesz zrobić tablicę, w której pod indeksami '+', '-', '/' '*' będą odpowiednie funkcje.
0
Wyrewolwerowanyrewolwer
@Bunis: Poczytaj o gramatyce/gramatykach(nie wiem która forma jest poprawna w tym kontekście). Zagadnienie proste nie jest, ale prawdopodobnie rozwiąże Twój problem.
0
B.....s
B.....s
@Flood: Jako c- można wprowadzić dowolny operator? mnożenie, dzielenie,odejmowanie,dodawanie?

@Wyrewolwerowanyrewolwer: Znam zasady oraz potrafię znaleźć informacje na temat, czy dane forma jest poprawna. Czasami robię błędy i nie widzę ich... Dopiero potem, jak czytam po raz któryś to edytuje. Może to dysortografia...
0
F.....d
F.....d
@Bunis: Musisz oczywiście dodać do op_map odpowiednią parę, czyli np.

{'*', [](int a, int b) {return a*b;}

Rozdzielasz te wpisy przecinkami. Przykładowo cała mapa z dodawaniem i mnożeniem wygląda
0