Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak napisać kalkulator w Borland C++ Builder?

Justforfun 21 Sty 2011 19:15 3296 3
  • #1 21 Sty 2011 19:15
    Justforfun
    Poziom 7  

    Witam.
    Wiem, ze powstały takie tematy, lecz nikt nie udzielił konkretnej odpowiedzi.
    Próbuje stworzyć kalkulator Windowsoski.
    Nie wiem jednak jakiej funkcji użyć do rozpoznawania znaków "+" "-".

    Mam już zrobiony kod do każdej liczby, by została wpisana do Edita.
    Wygląda on tak:
    Edit1->Text=Edit1->Text+"1";

    Brakuje mi tu tylko tego jak zrobić, by odróżnił pierwszą liczbe od drugiej.

    Jest to oczywiście kod do jedynki.

    Wyczytałem, że ciężko w Builderze zrobić to za pomocą tylko jednego pola Edit.
    Myślałem nad stworzeniem drugiego oraz trzeciego Edita, które byłyby ukryte. Wydaje mi się to
    nawet całkiem możliwe do zrealizowania, ale nie potrafie napisać tego kodu, gdyż jestem kompletnym laikiem.
    A mój plan wygląda następujaco:

    Liczba pierwsza musiałaby zostać wpisana w Edit1 oraz Edit2, druga liczba z kolei musiałaby zostać wpisana w również w Edit2 i Edit3. Następnie przy działaniu : 2+2 program sumowałby te dwie liczby i wynik został wprowadzony w Edit2.
    I w jaki sposób zrobić to, by odrózniał pierwszą liczbe od drugiej.



    Prosze o odpowiedź prostym językiem, gdyż pisanie : " Zrobiłbym to za pomocą TMemo " etc. nie wiele mi mówi.

    Z góry dziękuje ; )

    Proszę, zgodnie z regulaminem pkt 11.1, o usunięcie słów PROBLEM lub/i POMOC z tytułu. Prośba dotyczy także wszelkich wariacji typu: kłopot, pomocy, problemy itd.
    Równocześnie, proszę, o poprawienie błędów w poście. - arnoldziq

    0 3
  • #2 21 Sty 2011 19:40
    przemo_wielki
    Poziom 23  

    W jednym Edit'cie to będziesz musiał wczytywać znak po znaku i sprawdzać aż do momentu wystąpienia interesującego Cie operatora (+,- ... ). Druga opcja to parsowanie gotowego Stringa.

    0
  • #3 21 Sty 2011 19:44
    sobed
    Poziom 7  

    Możesz zrobić tak jak piszesz.
    Do Edit1 dopisujesz naciśnięte cyfry. Po naciśnięciu + lub minus zawartość Edit1 podstawiasz do Edit2. Wpisujesz drugą liczbę i podstawiasz do Edit3 po naciśnięciu =. Wypisujesz wynik do Edit1.
    Wybór działania możesz zrobić na dodatkowej zmiennej, po naciśnięciu + itd. zmieniasz ją.

    0
  • #4 21 Sty 2011 19:50
    Szymon Tarnowski
    Poziom 27  

    To o co chodzi koledze nazywa się parsowaniem, niby można to zrobić przy pomocy "wykrywania" symboli "+", "-" itp, ale powinno się zrobić przy pomocy wyrażeń regularnych. Trzeba zdefiniować jak może wyglądać liczba, że może mieć z przodu plus albo minus, ale nigdzie więcej, że może mieć zero wiodące albo zaczynać się od przecinka, że cyfry są od 0 do 9, ale może się pojawić symbol E który oznacza *10^ itp
    Taki jeden z bardziej złośliwych przypadków jaki wymyśliłem od ręki to:
    -1.00e-2+-.1 = -0.11

    0