Program - code blocks sie wysypuje

0

Witajcie.. Jestem w trakcie robienia projektu zaliczeniowego z programowania. Programik do ktorego wczytujemy dane pacjentow (imie nazwisko i takie tam) na podstawie tablicy struktur. Nie wywala zadnego błędu, zadnego warningu, a mimo to czasem code blocks wywala konsole całkowicie i g**no mogę zrobić.

Ktoś powie dlaczego? Dodam, że na Visualu C++ jest to samo...

Kod: http://pastebin.com/KVrZ2Pr5

1

Pewnie protestuje przed takim copy-paste jaki tam urządziłeś. A tak serio to robisz tam takie cuda na kiju że na 100% wywalasz gdzieś segfaulta.

0
  1. Jeżeli chce ci się zastosować metodę Kopiego Pejsta to nie rób tego tylko zrób z tego funkcję.
  2. Zapoznaj się z cin>>setw(x)
  3. Skoro piszesz w C++ to czemu nie używasz string i vector?
0

Vectorow i stringow jeszcze nie mamy przerobionych, i pomimo ze stringow umiem uzywac, to niestety nie moge (warunki zadania).

0

Dodam jeszcze, ze na szkielecie programu:
http://pastebin.com/btcQGtnz

wystepuje ten sam błąd u mnie

0

A to na pewno bo używasz zmiennych bez nadanych wartości. W ogóle zmienne globalne to zły pomysł.

0

Jedyne przydzielenie pamięci masz tu: pacjent *wskp = new pacjent[rozmiar]; - przydzielasz na jednego pacjenta i więcej nic, to czemu się dziwisz?

0

Początkowo tak, ale w tablicy jest [rozmiar] a rozmiar zależy od licznika, który rośnie razem z uzupełnianiem danych następnego pacjenta.

2

Myślisz że po: pacjent *wskp = new pacjent[rozmiar]; wystarczy zwiększyć rozmiar i tablica się powiększy? WTF?
A próbowałeś coś zmierzyć metrem krawieckim, po czym rozciągnąć metr krawiecki aby mierzony obiekt się powiększył - myślisz że odniesie skutek?

0

W takim razie wiem, gdzie jest już błąd.

Proszę mi wybaczyć, jestem bardzo początkującym, więc wiedza wchodzi mi dość opornie, a tablice dynamiczne to już w ogóle dla mnie głupota :)

Dziękuję bardzo za pomoc! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1