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.

C++ - Program nie chce wracać do menu po wykonaniu wskazanej operacji

Piotr160292 15 Kwi 2013 16:39 1989 8
  • #1 15 Kwi 2013 16:39
    Piotr160292
    Poziom 36  

    Witam, po wybraniu powrotu do menu wyskakuje mi komunikat "Process exited with return value 0. Press any key to continue . . .", zamiast przejść z powrotem do menu. Co jest nie tak?

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0 8
  • #3 15 Kwi 2013 17:11
    Piotr160292
    Poziom 36  

    Owszem, nie mam, ale chodzi o to, że pokazałem mu przecież przez ifa co ma zrobić i działało. Dopisałem pozostałe przypadki i się wysypał...

    0
  • #4 15 Kwi 2013 17:18
    lekto
    Poziom 35  

    Chyba wiem o co tobie chodzi.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    W 4 linii porównujesz (jeśli zmienisz = na ==) to co wpisałeś z klawiatury w linii 3 z wartością zmiennej q (do której nie przypisałeś żadnej wartości), pewnie chciałeś użyć 'q'. Jeśli jest to prawda do czyścisz konsole i wywołujesz funkcję menu która tylko wypisuje menu ale nie pobiera żadnego znaku, po czym program kończy się.

    0
  • #5 15 Kwi 2013 18:28
    Piotr160292
    Poziom 36  

    Faktycznie, jest dokładnie jak myślisz. Zrobiłem tak:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod
    i jest ok, jednak problem jest w tym, że teraz nie mam jak wyczyścić konsoli, ponieważ wyczyszczę też wynik, z tego powodu też dałem powrót za wciśnięciem klawisza, bo w tym momencie wewnątrz if wstawiłem czyszczenie ekranu i git. Mógłbyś podpowiedzieć jak to ugryźć, bo niestety dopiero zaczynam zabawę z tym językiem i nie mam już pomysłu jak to rozwiązać.

    0
  • #6 15 Kwi 2013 18:37
    lekto
    Poziom 35  

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Oznacza przypisanie zmiennej wybor wartość 4. Powinno być:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    co nic nie zmieni bo wyjście obsługujesz w switchu, więc możesz spokojnie dać pętlę nieskończoną którą robi się najpewniej przez:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Btw. kompilator powinien ostrzec jeśli robisz przypisanie tam gdzie nie trzeba, jakiego używasz?

    0
  • #7 15 Kwi 2013 18:40
    Piotr160292
    Poziom 36  

    DEV C++, bo na nim pracuję w szkole.

    0
  • #8 15 Kwi 2013 18:49
    lekto
    Poziom 35  

    Uuu..., ani to ładne, ani przyjemne. :D
    Ze swojej strony polecam mingw i notepad++. Od zawsze w devie denerwowało mnie jak on sobie "radzi" z tabulatorami przy wcięciach, notepad++ radzi sobie z tym jak należy. Do jego wad można dodać wielkość pliku wykonywalnego gdzie dev dawał mi pliki po 1MB a mingw dał mi przykładowo:
    - automat do gry w życie - 55kB,
    - rozwiązywanie równań nieliniowych metodą bisekcji - 26kB,
    - niedokończona aplikacja okienkowa do sterowania selektorem - 59kB.

    Kompilacja w wypadku mingw odbywa się z konsoli przy użyciu prostej komendy lub pliku makefile jeśli projekt jest większy. Ale jak w szkole karzą używać tego to cóż zrobić. :cry:

    0
  • #9 15 Kwi 2013 21:26
    Piotr160292
    Poziom 36  

    Ok, po całym dniu obczajania i kombinowania zmusiłem go do działania. Dzięki za pomoc.

    0