polymorphism napisał(a):Pisałeś, że to na zaliczenie. Co to za studia, jaki kierunek?
A co to za różnica jakie studia i kierunek? Mam napisać program, co ma się w nim znaleźć jest jasno określone, więc skoro masz większe doświadczenie i widzisz, że gdzieś popełniam błąd to po prostu napisz "tu robisz źle". Nie trzeba od razu wytykać, że ktoś wie mniej, bo to, że słuchasz muzyki nie musi oznacza, że umiesz komponować.
Wracając do problemu. Pętli używam do dwóch rzeczy, do pobrania danych do odpowiednich pól oraz do ich wyświetlenia.
Problem jednak w tym, że pojawiają mi się dane szczątkowe, dokładniej:
- Kod: Zaznacz cały
kolejność // zawsze 0, a powinna być konkretna liczba
tytuł
wykonawca
0
0
A powinno być:
- Kod: Zaznacz cały
kolejność
tytuł
wykonawca
album // to pole jest pomijane
rok // od tą są zera w wyniku
cena
Wygląda na to, że część pól została wycięta, a część zamiast wyświetlić konkretną liczbę podała 0.
Poza tym ten kod powoduje przewałkowanie tylko pierwszych 6 linii kodu, pozostałe są kompletnie pomijane ( widzę po tym, że tytuł jest cały czas ten sam ).
Czy możesz naprowadzić mnie na właściwą drogę co jest nie tak? Wydawało mi się, że takie problemy mogą się pojawić, gdy mam litery, a próbuję wyświetlić jako int, ale w konkretnych polach są cyfry.
Ps.: Przed chwilą zrobiłem małą zmianę, otóż
zdublowałem wiersz pobierający przez getline zmienną do albumy.wykonawca. Ta operacja spowodowała, że wszystkie pola zapełniły się prawidłowymi danych, wszystkie dane z pliku zostały pobrane i prawidłowo wyświetlone. Mam dlatego pytanie: dlaczego zdublowanie tej linii pomogło?
Kod potwierdzający to:
z >> albumy.kolejnosc;
getline(z, albumy.tytul);
getline(z, albumy.wykonawca);
getline(z, albumy.wykonawca);
getline(z, albumy.album);
z >> albumy.rok;
z >> albumy.cena;
Dane wynikowe:
- Kod: Zaznacz cały
0
Michael Jackson
Ben
1972
100
1
Michael Jackson
Thriller
1991
100