Struktury w C++
Ostatnio zmodyfikowano 2014-02-09 15:46
Avaliable Temat założony przez niniejszego użytkownika |
Struktury w C++ » 2014-02-08 10:35:17 Siemka. Mam taki pewnie dla niektórych głupi problem ze strukturami. Mam takie coś: Mógłby ktoś podpowiedzieć/napisać/pokierować (wybierz poprawną odpowiedz :D) co zrobić, żeby można było wprowadzać dane np "miejscowosc"? Nie wiem jak napisać funkcje, która umożliwi utworzenie nowej tablicy danych wszystkich osób z Opola, które otrzymują stypendium. |
|
MrPoxipol |
» 2014-02-08 10:44:40 Najlepiej by było utworzyć vector, który przechowywałby wskaźniki do struktur, które przechodziłyby przez kryteria. Pseudokod: void OpoleStypendium( student & studenci[], vector < student *>& opoleStypendium ) { if( strcmp( studenci[ i ].miejscowosc, "Opole" ) && studenci[ i ].stypendium ) opoleStypendium.push_back( & studenci[ i ] ); }
student studenci[ 20 ]; vector < student *> opoleStypendium;
OpoleStypendium( studenci, opoleStypendium ); |
|
alixir |
» 2014-02-08 10:46:48 Dostęp do pól struktury uzyskujesz przez użycie '.' W twoim przykładzie posiadasz tablicę struktur, w której jednym z pól jest kolejna struktura. Dostęp zatem do elementów struktury w strukturze wygląda tak: Studenci[ 0 ].osoby.miejscowosc; |
|
Avaliable Temat założony przez niniejszego użytkownika |
» 2014-02-08 11:22:48 @MrPoxipol Utworzyłem ale teraz mi wyskakują takie błędy: [Error] declaration of 'Studenci' as array of references [Error] expected ')' before ',' token [Error] invalid declarator before 'OpoleStypendium'
Dodałem bibliotekę <vector> i dalej to samo. @alixir Dzięki właśnie o to mi chodziło :). |
|
MrPoxipol |
» 2014-02-08 11:23:55 Kod. |
|
Avaliable Temat założony przez niniejszego użytkownika |
» 2014-02-08 11:25:01 |
|
alixir |
» 2014-02-08 12:19:00 Ogólnie widzę kilka podstawowych błędów. 1) Przekazując tablicę jako argument nie wpisujemy znaku referencji. Tablica zawsze przekazywana jest przez adres student Studenci[] lub tak student * Studenci 2) Dwa razy deklarujesz tą samą funkcję 3) Wewnątrz funkcji nieprawidłowo zapisany dostęp do miejscowości. Powinno być Studenci[ i ].osoby.miejscowosc 4) 'i' jest niezadeklarowane w funkcji Pewnie coś tam jeszcze jest, ale to mi się rzuciło od razu |
|
MrPoxipol |
» 2014-02-08 12:20:55 A, zapomniałem Ci napisać, żebyś przekazywał vector przez referencje. PS Ja napisałem Ci pseudokod..nie masz robić kopiuj wklej. |
|
« 1 » 2 |