[C++] struktury

Chungu
Użytkownik
Użytkownik
Posty: 121
Rejestracja: 21 paź 2016, o 20:57
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 42 razy

[C++] struktury

Post autor: Chungu »

Witam.
Dopiero zaczynam przygodę z programowaniem jak i z samymi strukturami.

Mam coś takiego w f. main

Kod: Zaznacz cały

using std::cout;
    using std::endl;
    Couple cpls[]={
    {{"John",{PKO,1200}}, {"Marry",{BGZ,1500}}},
    {{"Peter",{BGZ,1300}},{"Suzy",{BRE,1300}}},
    {{"Kevin",{PKO,1600}},{"Katy",{BPH,1500}}},
    {{"Kenny",{BPH,1800}},{"Lucy",{BRE,1700}}},
    };
    cout<<cpls<<endl; //pytanie 1
dodam jeszcze deklaracje tej struktury:

Kod: Zaznacz cały

enum Banks {PKO, BGZ, BRE, BPH};
 
struct Account{
    Banks bank;
    int balance;
};
 
struct Person{
char name[20];
Account account;
};
 
struct Couple{
Person he;
Person she;
};
Mam 2 pytania:
1. czy tam gdzie jest komentarz "pytanie 1" to w wyświetlenie tego powoduje wyświetlenie adresu początku tej tablicy, jak przy "normalnych" tablicach?( wyświetla mi się coś z przedrostkiem 0x czyli system szesnastkowy a wiec adres???)
2. Jak "dobrać" się do nazwy banku??? Chodzi mi np. o to żeby nazwę tą wyświetlić sobie.
Próbowałem mniej więcej tak (dla Johna)

Kod: Zaznacz cały

cpls[0].he.account.bank
Ale to nie wychodzi ;/ Czytałem o strukturach-najpierw w C potem w Cpp ale jakoś nie umiem połączyć to w całość od razu w takim dosyć skomplikowanym, jak na początkującego, problemie.
Dziękuję za wszystkie sensowne sugestie i podpowiedzi.
Ostatnio zmieniony 4 sty 2018, o 15:59 przez SlotaWoj, łącznie zmieniany 3 razy.
Powód: Poprawa wiadomości.
kalwi
Użytkownik
Użytkownik
Posty: 1931
Rejestracja: 29 maja 2009, o 11:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 145 razy
Pomógł: 320 razy

[C++] struktury

Post autor: kalwi »

1. A co to za problem sobie sprawdzić?

Kod: Zaznacz cały

cout << cpls << endl; //pytanie 1
    cout << &cpls[0] << endl;
2. Dobrze się dobierasz do tego elementu, ale nie rozumiesz/nie wiesz, czym jest typ wyliczeniowy (enum). Nigdy nie zostanie wyświetlona nazwa PKO tudzież BGZ.

Ta linijka

Kod: Zaznacz cały

{{"John",{PKO,1200}}, {"Marry",{BGZ,1500}}},
Jest równoważna tej

Kod: Zaznacz cały

{{"John",{0,1200}}, {"Marry",{1,1500}}},
Także musisz tu kombinować z ifami co najwyżej, albo jakąś funkcję stworzyć (w której te ify będą).

Swoją drogą, to jest c++, także tu raczej się klasy użyj, a nie struktur. A, no i

Kod: Zaznacz cały

enum class Banks {PKO, BGZ, BRE, BPH};
Jest coś takiego jak enum class od C++11
Chungu
Użytkownik
Użytkownik
Posty: 121
Rejestracja: 21 paź 2016, o 20:57
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 42 razy

[C++] struktury

Post autor: Chungu »

Tak juz rozwiazalem ten problem. Dzieki.
ODPOWIEDZ