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

Dotaz - struktura – C / C++ – Fórum – Programujte.comDotaz - struktura – C / C++ – Fórum – Programujte.com

 

MontyCZ0
Newbie
19. 11. 2015   #1
-
0
-

Zdravím, mám dotaz.

Nadefinoval jsem si tuhle strukturu a když do ní například na uzivatele[0] dám:

uzivatele[0].jmeno=pavel

uzivatele[0].prijmeni=novak

Jak pak docílím toho abych hodnoty z tohoto uživatele vymazal?

typedef struct
{   char jmeno[128];
    char prijmeni[128];
    int pozice;
} UZIVATEL;

int main()
{   UZIVATEL uzivatele[128]; ...

Za rady díky.

Nahlásit jako SPAM
IP: 212.79.105.–
KIIV
~ Moderátor
+43
God of flame
19. 11. 2015   #2
-
0
-

#1 MontyCZ

Obvykle se to nedela ve statickem poli, ale kdyz uz to tak mas, tak proste spustis memmove, abys presunul vsechny polozky za mazanou o jednu dopredu a snizis pocet polozek...

Nebo to muzes delat rucne cyklem.

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
MontyCZ0
Newbie
19. 11. 2015   #3
-
0
-


Připojen obrázek.

To jsem nějak nepochytil, nešlo by to trochu upřesnit? Potřebuji jen aby když pak zavolám uzivatel[i] kterej je smazanej aby to zahlasilo chybu, ne aby se mi posunuly všechny ostatni o 1.

Připojen obrázek.

Nahlásit jako SPAM
IP: 212.79.105.–
KIIV
~ Moderátor
+43
God of flame
20. 11. 2015   #4
-
0
-

Kdyz budes mit 10 uzivatelu a budes mazat 5. z nich, tak je nesmysl nechavat tam diru, ktera ti bude hazet chybu. Proste posunes vsechny polozky za mazanou o jednu pozici niz a poznacis si, ze mas uz jen 9 uzivatelu.

Pokud budes trvat na tom chovani co chces, tak musis byt schopen z te polozky poznat, ze je prazdna - treba jmeno, prijmeni budou prazdne retezce a pozice 0.

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Kit+15
Guru
20. 11. 2015   #5
-
0
-
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
20. 11. 2015   #6
-
0
-

pokud máš "Null Terminated String" tak nejde udělat

char jmeno[128];

jmeno = "pavel";

Pro kopírovaní takového řetězce je třeba použít funkci strcpy. V C++ můžeš použít std::string který má přetížený operátor = , navíc se sám realokuje tak aby se do něj řetězec vešel. Místo pole struktur bys pak mohl použít std::vector, ten se sám realokuje a má vyřešené i odstranění prvku odněkud z prostřed.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
MontyCZ0
Newbie
21. 11. 2015   #7
-
0
-

Už jsem to zvládl. Díky moc všem. Teď se chci jen zeptat jak můžu vyhledavat uživatele podle nejakeho parametru? Například budu mit uzivatel.jmeno = adam a pak chci ze kdyz zadam vyhledat podle jmena aby mi to vypsalo toho uživatele. Jak na to? Díky.

Nahlásit jako SPAM
IP: 212.79.105.–
22. 11. 2015   #8
-
0
-

V cyklu projdeš polem (nebo vectorem) a u každého prvku porovnáš příslušnou položku struktury  s požadovanou hodnotou.

hu

Nahlásit jako SPAM
IP: 193.86.81.–
MontyCZ0
Newbie
22. 11. 2015   #9
-
0
-

Jj už to mám, mi to nešlo pomocí klasickyho operatoru '=' tak jsem tam použil strcmp(). Díky.

Nahlásit jako SPAM
IP: 212.79.105.–
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, 56 hostů

Podobná vlákna

"Mysql dotaz v dotaz" — založil Tomáš Sedlmajer

Struktura — založil sexmachina

štruktúra — založil street punk

Struktura a pole — založil kyklop

Struktura s pomoci new — založil Hlavinka

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ý