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++ - Wyłączanie się programu

czlowiek488 18 Maj 2013 14:38 1338 12
  • #1 18 Maj 2013 14:38
    czlowiek488
    Poziom 10  

    Witam,
    napisałem ostatnio kalkulator i wszystko szło dobrze dopóki nie wziąłem się za rozkładanie pierwiastkowania. Kompilator (DevCpp) nie wykrywa żądnych błędów natomiast gdy program próbuje pierwiastkować liczbę wyłącza się, o to kod dotyczący pierwiastka.

    Kod: jezyk_programowania
    Zaloguj się, aby zobaczyć kod

    W jaki sposób można naprawić ten kod?
    Z góry dziękuję za odpowiedź

    0 12
  • #2 18 Maj 2013 14:45
    D12
    Poziom 14  

    A dodaj na końcu jakieś jeszcze cin żeby konsola windowsa oczekiwała na jakiś znak.

    0
  • #3 18 Maj 2013 14:52
    czlowiek488
    Poziom 10  

    Tak samo wywala ;/

    Dodano po 2 [minuty]:

    Posprawdzałem cinem w którym miejscu wywala wyszło na to że zaraz po pętli for więc tylko w niej może być jakiś błąd. Jakbyście mieli jakieś pomysły piszcie.

    0
  • #4 18 Maj 2013 15:03
    D12
    Poziom 14  

    A co ty chcesz w tym forze zrobić bo to: 0!=liczba1p%dzielnik jest totalnie bezsensu tam się deklaruje zmienie np:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #5 18 Maj 2013 15:30
    czlowiek488
    Poziom 10  

    Chodzi o to żeby, gdy reszta z dzielenia jest różna od 0 pętla się uruchamiła i za każdym jej obiegiem dodaje się 1 do 'dzielnika' i gdy reszta jest równa 0 pętla się kończy i wykonywana jest reszta programu.

    Dodano po 21 [minuty]:

    Wykorzystałem inną pętlę do tego i wyszło mi coś takiego

    Kod: jezyk_programowania
    Zaloguj się, aby zobaczyć kod


    Niestety dalej program wywala błąd :/

    0
  • #6 18 Maj 2013 15:33
    D12
    Poziom 14  

    No to powinieneś zrobić tak.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #7 18 Maj 2013 15:52
    czlowiek488
    Poziom 10  

    Sprawdziłem cały kod z pierwiastkowaniem w osobnym programie tam nie wywala programu więc coś musi być źle zrobione w reszcie programu dlatego zamieszczę go tutaj:

    Kod: Cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #8 18 Maj 2013 16:06
    D12
    Poziom 14  

    W do-while masz liczba1p=1 a powinno być liczba1p==1

    0
  • #9 18 Maj 2013 16:14
    czlowiek488
    Poziom 10  

    Niestety nic nie pomaga w ogóle coś dziwnego dzieje się z tym kodem do pierwiastkowania w jednym programie działa w drugim nie...

    0
  • #10 18 Maj 2013 16:21
    D12
    Poziom 14  

    A co znaczy, że w jednym programie nie działa, czym to się objawia, w jakim programie? Bo mi ten twój kod działa dla kompilatora gnu gcc. Testowałem dla pierwiastka 2 stopnia z 16. Dla 2 pierwiastek z 2 też działa tyko rzutuje na int.

    0
  • #11 18 Maj 2013 16:29
    czlowiek488
    Poziom 10  

    Przekopiowałem część kodu do innego pliku i w nim uruchomiłem z jakiegoś powodu wypisuje się
    4|2
    1|
    zamiast
    4|2
    2|2
    1|
    i się kończy natomiast w głównym pliku z całym kalkulatorem pojawia się systemowy komunikat że program przestał działać

    0
  • Pomocny post
    #12 18 Maj 2013 16:33
    D12
    Poziom 14  

    Ja mam taki wynik:

    Code:

    podaj liczbe podpierwiastka
    16
    podaj stopien pierwiastka
    2
    0|41992801|

    16\2=4

    0
  • #13 18 Maj 2013 16:45
    czlowiek488
    Poziom 10  

    Fakt masz starszą wersję

    Kod: Cpp
    Zaloguj się, aby zobaczyć kod


    Dodano po 9 [minuty]:

    OK już wszystko działa pięknie i kod jest taki:
    Kod: Cpp
    Zaloguj się, aby zobaczyć kod


    Program działa w głównym kalkulatorze.
    Wielkie dzięki za pomoc!!

    0