mattmalina Opublikowano 13 Stycznia 2010 Zgłoś Opublikowano 13 Stycznia 2010 Witam. Jakis czas temu zaczalem swoja przygode z C++, opanowalem juz podstawowe programy z zakresu strukturalnego, obecnie chcialem sie nauczyc klas. Zrobilem taki program ktory przyjmuje od uzytkownika podstawowe dane, jak wzrost, waga itp, nastepnie przekazuje do funckji w klasie. Moje pytani brzmi, jak zrobic, zeby program przyjal te podstawowe dane jako pare elementow tablic, a nastepnie przekazal cale tablice do klasy i wyprowadzil na ekran?? siedze juz troche i nie moge tego wymyslic :/ (czyli zamiast danych 1 osoby, przekaze dane 5 osob jesli uzytkownik sobie tego zazyczy i wyprowadzi na ekran) Zmodyfikowalem juz czesc zadania ale nie wiem jak to dalej ruszyc:/ #include <iostream> #include <string.h> using namespace std; class Cosoba { public: int m_iwzrost; int m_iwaga; char m_sImie[80]; char m_sNazwisko[80]; void zaczytajdane1(int wzrost, int waga, char *imie, char *nazwisko); void wyswietldane1(); }; void Cosoba::zaczytajdane1(int wzrost, int waga, char *imie, char *nazwisko) { m_iwzrost = wzrost; m_iwaga = waga; strcpy_s(m_sImie, imie); strcpy_s(m_sNazwisko, nazwisko); } void Cosoba::wyswietldane1() { cout << m_sImie << " " << m_sNazwisko << endl; cout << "Wzrost: " << m_iwzrost << endl; cout << "Waga: " << m_iwaga << endl; } void main() { int i; int wzrost, waga; char imie[80], nazwisko[80]; do{ cout << " Podaj ilosc osob jaka mam zapisac do bazy danych(max=10): " << endl; cin >> i; }while((i<0) && (i>11)); Cosoba t1[80]; for(int j=0 ; j<i ; j++) { cout << "Podaj dane osoby: " << j+1 << endl; cout << "Podaj wzrost osoby: " << endl; cin >> t1[j].m_iwzrost; cout << "Podaj wage osoby: " << endl; cin >> t1[j].m_iwaga; cout << "Podaj imie osoby: " << endl; cin >> t1[j].m_sImie; cout << "Podaj Nazwisko osoby: " << endl; cin >> t1[j].m_sNazwisko; } Cosoba Malina; Cosoba *posoba = & Malina; Malina.zaczytajdane1(wzrost, waga, imie, nazwisko); posoba->wyswietldane1(); } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
stivo Opublikowano 13 Stycznia 2010 Zgłoś Opublikowano 13 Stycznia 2010 Zakładając, że w dwuwymiarowej tablicy dane masz ułożone wierszami i każdy wiersz odnosi się do jednej osoby. Znając liczbę wierszy/osób (z góry lub odczytując liczbę wierszy) tworzysz tablicę obiektów klasy Cosoba i w jednej pętli for wypełniasz dane w tablicy i ewentualnie wyświetlasz. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
shooter Opublikowano 13 Stycznia 2010 Zgłoś Opublikowano 13 Stycznia 2010 Tylko zmienne instancji daj prywatne bo łamiesz enkapsulację! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
mattmalina Opublikowano 13 Stycznia 2010 Zgłoś Opublikowano 13 Stycznia 2010 Dzieki za odpowiedz :) Niestety na niewiele sie zdala bo nie wam jak to wdrazyc w ten program. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...