Struktury v C++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Struktury v C++ – C / C++ – Fórum – Programujte.comStruktury v C++ – C / C++ – Fórum – Programujte.com

 

Pinkava Pavel0
Stálý člen
7. 5. 2007   #1
-
0
-

Zdravím,

potřebuji s něčím poradit. Jde konkrétně o C++. Potřebuji vytvořit pole struktur, tak si vytvořím strukturu např. obchudek, čili



struct obchudek {
char produkt[20];
int cena;
};


Dále si vytvořim pole struktur třeba zelenina:



obchudek zelenina[20];


No, jde mi o přiřazování do pole struktur zelenina. Potřebuji to nacpat produktama, třeba aby zelenina[0] = {"Rajcata", 25}, zelenina[1] = {"Mrkve", 15} a při výpisu zelenina[1].cena mi to hodí 15. Tak nějak se s tím patlám, poněvadž se strukturama jsem nikdy moc extra nedělal. Zkušenější budou jistě vědět, takže díky za případné odpovědi.

Nahlásit jako SPAM
IP: ...–
Něco tak nepatrného, jako je mávnutí motýlích křídel, může způsobit uragán, který zasáhne celý svět. -- teorie chaosu --
Jura
~ Anonymní uživatel
637 příspěvků
7. 5. 2007   #2
-
0
-

Kdyz C ++, tak:



class obchudek
{ string produkt;
int cena;
public:
obchudek(const string& p="", int c = 0)
: produkt(p), cena(c)
{};
const string& DejProdukt() const {return produkt;}
void NastavProdukt(const string& str) {produkt = str;}
int DejCenu() const {return cena;}
void NastavCenu(int c) { cena c ;}
}

vector<obchudek> zelenina;
zelenina.push_back(obchudek("Mrkve", 15));
zelenina.push_back(obchudek("Okurka", 30));

Ale pokud mermomoci trvas na na praci se strukturou jako v C:
Tak potom jedine:


obchudek zelenina[20];

strcpy(zelenina[0].produkt, "Mrkve");
zelenina[0].cena = 15;
...
...

Jde o to, ze inicializaci stylem {"Mrkev", 15}, bzs mophl udelat jedine v pripade:


struct obchudek {
char *produkt;
int cena;
};
obchudek zelenina[20] = { {"Mrkev", 15},
{"Okurky", 20},
.....
};

Tohle se ti povede jedine pri deklaraci(kdy produkt bude ukazovat na literal- tj, "Mrkev"...).

Nahlásit jako SPAM
IP: ...–
Pinkava Pavel0
Stálý člen
7. 5. 2007   #3
-
0
-

Díky moc...

Nejsem v C++ dvakrát moc sběhlý, ale asi se tomu začnu více věnovat.

Nahlásit jako SPAM
IP: ...–
Něco tak nepatrného, jako je mávnutí motýlích křídel, může způsobit uragán, který zasáhne celý svět. -- teorie chaosu --
Mirek Braho0
Stálý člen
11. 5. 2007   #4
-
0
-

Jde to udělat i takhle, je to blíže k tomu jak to chtěl dělat na začátku:



struct obchudek {
char produkt[20];
int cena;
};

int main()

{

obchudek zelenina[20] =
{
{"Okurka", 10},
{"Rajčata", 15},
};
cout << zelenina[0].cena;

system("PAUSE");
return 0;
}


Bez ukazatelů ... ???

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
11. 5. 2007   #5
-
0
-

To vollf82:
Mas pravdu, tim se pin2k omlouvam za mylnou odpoved. Neuvedomil jsem si, ze je to v podstate to same jako inicializace stingu.:(

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 36 hostů

Podobná vlákna

Struktury — založil Samuel Lehotský

Struktury — založil Matěj Andrle

Struktury — založil RePRO

Struktury - please help — založil Krang

Řídící struktury — založil Choco-TUx

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý