Problem z wyświetleniem danych, z zastosowaniem pętli for i tablicy z metodami
Ostatnio zmodyfikowano 2012-05-16 22:24
Matej Temat założony przez niniejszego użytkownika |
Problem z wyświetleniem danych, z zastosowaniem pętli for i tablicy z metodami » 2012-05-16 18:38:41 Piszę program który spyta o ilość słuchaczy, następnie poprosi o wprowadzenie danych i na koniec je wyświetli.
Musi zawierać tablice i metody (to warunek konieczny - program zaliczeniowy). Udało mi się napisać do momentu wprowadzania danych - przy pomocy pętli for, problem jest gdy tworzę taką samą pętlę aby te dane wyświetlić.
#include <cstdlib> #include <iostream>
using namespace std; short int iluSluchaczy;
class listaSluchaczy { public: string imie; string nazwisko; short int ID; void wprowadzanie(); void wyswietlanie(); };
int main() { cout << "Ilu sluchaczy chcesz wprowadzic?" << endl; cin >> iluSluchaczy; int tablica[ iluSluchaczy ]; for( int i = 0; i < iluSluchaczy; i++ ) { listaSluchaczy sluchacz[ i + 1 ]; cout << "Wprowadzanie sluchacza nr " << i + 1 << endl; sluchacz[ i ].wprowadzanie(); }; getchar(); return 0; };
void listaSluchaczy::wprowadzanie() { cout << "Podaj imie" << endl; cin >> imie; getchar(); cout << "Podaj nazwisko" << endl; cin >> nazwisko; getchar(); };
void listaSluchaczy::wyswietlanie() { cout << "Imie: " << imie << endl; cout << "Nazwisko: " << nazwisko << endl; };
|
|
SeaMonster131 |
» 2012-05-16 19:59:23 listaSluchaczy sluchacz[ i + 1 ];
to wywaliłbym przez pętle for - jedynie "i+1" zamieniłbym na ilość słuchaczy - (żeby mieć do tego dostęp nie tylko w pętli), a następnie zrobiłbym taką samą pętlę for, tylko wyświetlałbym dane informacje (np sluchacz[ i ].imie ). // Aa, jeżeli to ma być za pomocą metody w klasie, no to for( int i = 0; i < iluSluchaczy; i++ ) sluchacz[ i ].wyswietlanie();
:) |
|
Matej Temat założony przez niniejszego użytkownika |
» 2012-05-16 22:10:58 Tak już próbowałem. Po wpisaniu kodu który podałeś, aby wyświetlić słuchaczy, kompilator wyrzuca mi komunikat: 'sluchacz' undeclared.
Po dodaniu do pętli listaSluchaczy sluchacz[i+1]; i objęciu instrukcji pętli for w nawiasy klamrowe program się kompiluje ale działa nieprawidłowo. To znaczy wprowadza poprawnie ale nic nie wyświetla. Pętla do wprowadzania jest prawidłowa ale druga do wyświetlania nie. |
|
Admixior |
» 2012-05-16 22:21:36 cin >> iluSluchaczy; int tablica[ iluSluchaczy ];
Czy Dev potrafi sobie to zmienić na dynamiczną tablicę? Może lepiej użyj operatora new... |
|
SeaMonster131 |
» 2012-05-16 22:24:31 Po wpisaniu kodu który podałeś, aby wyświetlić słuchaczy, kompilator wyrzuca mi komunikat: 'sluchacz' undeclared. |
listaSluchaczy sluchacz[ i + 1 ];
to wywaliłbym przez pętle for - jedynie "i+1" zamieniłbym na ilość słuchaczy - (żeby mieć do tego dostęp nie tylko w pętli) [...]
|
|
|
« 1 » |