vypis struktury v c++

Programovacie jazyky, rady, poradňa...
j
Darca
Darca
Používateľov profilový obrázok
Príspevky: 196
Registrovaný: 06 nov 2004, 14:52
Bydlisko: Žilina

vypis struktury v c++

Príspevok od používateľa j »

nebudem tu davat cely kod, ale len to popisem

-mam typ struktura Osoba
-potom typ struktura Osoby, v ktorej je pole typu Osoba

vytvorim si premenne:
Osoba zam;
Osoby firma;

nacitavam postupne udaje do struktury zam a potom ju presuniem do struktury firma. ked chcem vypisat obsah struktury firma, nastane problem.

ked ju chcem vypisat cez printf("%s", firma.pole); tak nastane chyba, v podstate to zamrzne a ked to vypisujem cez cout<<firma.pole; tak mi napise nejake hlasenie o operatore <<.
hlavicku <iostream> mam pouzitu.
pouzivam dev c++.

dik
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Re: vypis struktury v c++

Príspevok od používateľa gwixt »

j napísal:nacitavam postupne udaje do struktury zam a potom ju presuniem do struktury firma...
otazka je co znamena presuniem
j
Darca
Darca
Používateľov profilový obrázok
Príspevky: 196
Registrovaný: 06 nov 2004, 14:52
Bydlisko: Žilina

Príspevok od používateľa j »

.
.
nacitam meno do zam.meno
.
.
nacitam priezvisko do zam.priezvisko
.
.
firma.pole[firma.pocet]=zam; // presuniem strukturu zam do pola v strukture firma

;
firma.pocet++;
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

a to mas staticke ci dynamicke premenne?
j
Darca
Darca
Používateľov profilový obrázok
Príspevky: 196
Registrovaný: 06 nov 2004, 14:52
Bydlisko: Žilina

Príspevok od používateľa j »

je to normalna globalna premenna. nepouzivam triedy
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

tak potom toto

Kód: Vybrať všetko

firma.pole[firma.pocet]=zam;
ti fungovat asi nebude .. totizto ked je to staticka premenna/struktura tak ona sa vytvori pri zavadzani prrgramu .. no a ked si tam ty potom chces priradit zam tak je z toho mimo (lebo ono to uz prvky toho pola vytvorene ) ... musis spravit

Kód: Vybrať všetko

firma.pole[firma.pocet].meno=zam.meno;
firma.pole[firma.pocet].priezvisko=zam.priezvisko;
//len dufam ze som netrepal blbosti, c++ som uz dlhsie nevidel :D
j
Darca
Darca
Používateľov profilový obrázok
Príspevky: 196
Registrovaný: 06 nov 2004, 14:52
Bydlisko: Žilina

Príspevok od používateľa j »

ja si myslim ze to je v poriadku.
ved mam strukturu, v ktorej je pole s typom inej struktury. pozeral som to na webe a to je v poriadku. mna by zaujimalo, preco nemozem vypisat obsah takehoto pola cez "cout".

hlavickovy subor som pouzil. zajtra postnem presny vypis chyby pri pouziti cout
Rixsus
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 288
Registrovaný: 18 nov 2005, 19:40
Kontaktovať používateľa:

Príspevok od používateľa Rixsus »

jasne ze ti to nejde tie prikazy nepoznaju co ces vlastne vypisat mozes skusit
cout<<osoby[it].meno <-mal by byt string to pozna ...
alebo si tam das operator vypisu << a napises si tam co sa ma vypisat a potom budes moct pisat
cout<<osoba[it] :)
a mensia poznamka cin je na nacitavanie:
cin>>osby[it].meno
j
Darca
Darca
Používateľov profilový obrázok
Príspevky: 196
Registrovaný: 06 nov 2004, 14:52
Bydlisko: Žilina

Príspevok od používateľa j »

Rixsus napísal:jasne ze ti to nejde tie prikazy nepoznaju co ces vlastne vypisat mozes skusit
cout<<osoby[it].meno <-mal by byt string to pozna ...
alebo si tam das operator vypisu << a napises si tam co sa ma vypisat a potom budes moct pisat
cout<<osoba[it] :)
a mensia poznamka cin je na nacitavanie:
cin>>osby[it].meno
viem ze cin je na vypis. v programe mam cout. neviem preco som napisal cin :oops:

lenze ja nechcem vypisovat strukturu osoba ale osoby, v ktrorej je pole struktur osoba.

tu je presna deklaracia struktur>

struct Osoba // deklaracia struktury OSOBA
{
char meno[DLZKA_MENO];
char priezvisko[DLZKA_PRIEZ];
};
struct Osoby // deklaracia struktury OSOBA
{
Osoba pole[MAX_POCET_OSOB];
int pocet;
};
Rixsus
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 288
Registrovaný: 18 nov 2005, 19:40
Kontaktovať používateľa:

Príspevok od používateľa Rixsus »

tak ak to ces spravit cez cout tak mas 2 moznosti :
1. vypisovat po jednom znaku v cukle
cout<<osoby.pole.meno[j];
2.alebo to prekonvertovat na string a vypisat ten
cout<<string(osoby.pole.meno);
j
Darca
Darca
Používateľov profilový obrázok
Príspevky: 196
Registrovaný: 06 nov 2004, 14:52
Bydlisko: Žilina

Príspevok od používateľa j »

Rixsus napísal:tak ak to ces spravit cez cout tak mas 2 moznosti :
1. vypisovat po jednom znaku v cukle
cout<<osoby.pole.meno[j];
2.alebo to prekonvertovat na string a vypisat ten
cout<<string(osoby.pole.meno);


vyskusam. vsetkym zatial dakujem za snahu
Napísať odpoveď