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

Kalkulator z nieograniczoną liczbą działan C++

Ostatnio zmodyfikowano 2012-10-11 16:23
Autor Wiadomość
reshi
Temat założony przez niniejszego użytkownika
Kalkulator z nieograniczoną liczbą działan C++
» 2012-10-03 20:54:39
Witam chciałbym zrobić kalkulator z nieograniczoną liczbą działań np. 5+5+20*10-20/50*25*5/223*42333-32=... Tylko jak to zrobić? Mój kolega jest na końcu 1 poziomu waszego kursu z dodatkiem że co drugą lekcję pomijał a już to zrobił ! Nie wiem jak ale to zrobił. W każdym razie może mi ktoś w tym pomóc ? Zrobiłem takie coś oczywiście to jest źle bo nie wiem jak to zrobić żeby zrobić takowy kalkulator.
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void dodac()
{
   
}
void odjac()
{
   
}
void mnoz()
{
   
}
void dziel()
{
   
}
void kalkulator( int dzialanie )
{
    switch( dzialanie )
    {
    case 1:
        {
            dodac();
        }
        break;
    case 2:
        {
            odjac();
        }
        break;
    case 3:
        {
            mnoz();
        }
        break;
    case 4:
        {
            dziel();
        }
        break;
    }
}
int main()
{
    srand( time( 0 ) );
    int tablica[ 200 ];
    int dzialanie;
    cout << "Podaj rodzaj dzia³ania \n[1]Dodaj[2]Odjac\n[3]Mnozyc\n[4]Dzieliæ\n";
    cin >> dzialanie;
    kalkulator( dzialanie );
   
   
   
    return 0;
}
Jak teraz zrobić żeby tam to dodać te myślałem nad pętlą white ale nie jest to możliwe gdy pojawia się mnożenie i dzielenie.
Wiem co zrobić bo myślałem nad takim czymś że np jest podstawowe 5+5 i potem dodajesz działanie i kolejna liczba i jak już masz wszystko wtedy wciskasz = i masz wynik czy gdzieś co każdy krok jest menu i tam np 5 odpowiada wynik. Można by to zrobić w switch ale wtedy była by to ograniczona ilość działań dość mocno oraz kod wydaje mi się ze nie wyglądał by najlepiej. Ma ktoś pomysł jak zrobić kalkulator z wieloma działaniami w jednym przykładzie ?
P-66006
DejaVu
» 2012-10-03 22:01:46
Nie patrz na kolegę tylko samodzielnie przeczytaj jeszcze raz rozdziały, których nie do końca rozumiesz. Aby napisać kalkulator o którym wspomniałeś wystarczy Ci wiedza z kursu C++ do rozdziału » Kurs C++ » Poziom 2Pętla do ... while lekcja włącznie. Niepotrzebnie pchasz się w funkcje, skoro pętli dobrze nie opanowałeś. Co więcej w tym kodzie niczego nie pokazałeś. Postaraj się poskładać logicznie klocki w całość (i nie używaj do tego żadnych tablic, bo są zbędne).
P-66011
Admixior
» 2012-10-03 22:02:52
w prosty sposób możesz zrobić kalkulator który nie będzie brał pod uwagę kolejności najpierw potęgi później () dalej /* i +-.
Jeżeli nie zależy ci na tym to jest to banalne. W innym przypadku już będzie ciężej.

A dokładnie będziesz musiał zajrzeć w: http://pl.wikipedia.org/wiki/Odwrotna_notacja_polska lub samemu zrobić algorytm np na rekurencji (aczkolwiek odwrotna notacja polska nie jest trudna) ;]

Więc napisz czy Ci zależy na kolejności czy nie.
P-66012
reshi
Temat założony przez niniejszego użytkownika
» 2012-10-04 13:01:52
Kiedy ja rozumiem bardzo dobrze pętle ale ja chcę żeby wszystko były pokolej działania czyli jak jest 5+5*2=15 a jeżeli ma to wyglądać w ten sposób 5+5*2=20 to ja tak to umiem .  Bo kiedyś próbowałem że np 5zmiena5 a zmienna jest równa + to i tak nie chce wynik się pokazać więc dlatego proszę o pomoc.
P-66023
f0g
» 2012-10-04 14:11:56
Przecież kolega wyżej podał ładny link do Wikipedii http://pl.wikipedia.org/wiki/Odwrotna_notacja_polska :)
P-66025
DejaVu
» 2012-10-04 17:05:26
Jeżeli kolejność działań ma być uwzględniania, a nie rozwiązywana od lewej do prawej to masz zdecydowanie za małą wiedzę na zrealizowanie tego. No i zastosowanie algorytmu o którym wspomnieli koledzy jest raczej nieuniknione.
P-66039
Nevea
» 2012-10-04 18:53:03
Jak bardzo chcesz to zrobić to wystarczy poszukać tutoriali na youtube. Lecz nie wiem czy przepisując kod coś zrozumiesz... Jak już bardzo chcesz to podam Ci link'a http://www.youtube.com/watch?v=7Q9I3P58tNs&feature=plcp
P-66063
crash
» 2012-10-10 12:21:01
Fajnie, że nie muszę zakładać nowego tematu :)

Jakiś czas temu "biedziłem się" z ONP i własnym parserem, później natrafiłem na link do youtube, właśnie tego wyżej. Wszystko ładnie pięknie, tylko jak teraz dodać funkcjonalność, żeby parser obsługiwał chociaż jedną zmienną, którą wprowadza użytkownik i to w dowolnym miejscu? Jakieś pomysły?
P-66555
« 1 » 2
  Strona 1 z 2 Następna strona