Diskuze: C - Struktura_vypis
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 8 zpráv z 8.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Buhužel mi to nejde
Čo myslíš tým nejde? Vyhodí ti to chybu? Ak hej už pri vkladaní alebo až pri výpise či niekde úplne inde? Dostaneš sa do case vetvy? Alebo výpis zbehne len čiastočne? A taktiež by to chcelo vidieť metódu novyZajezd
Obsah struktury můžeš vypsat například takto:
#include <stdio.h>
#define MAX 20
typedef struct Zajezd {
int cislo;
char *nazev;
char *destinace;
int kapacita;
int pocet_ucastniku;
} ZAJEZD;
int pocetZajezdu;
ZAJEZD Zajezdy[MAX] = {{ 1, "Japonsko", "Tokio", 30, 20 },
{ 2, "Slovensko", "Poprad", 20, 15 },
{ 3, "Rakousko", "Viden", 25, 25 }};
int main(int argc, char* argv[]) {
printf("Vypis stavu vsech zajezdu\n\n");
printf("Cislo \t, Nazev \t, Pocet ucastniku\n");
pocetZajezdu = 0;
while (Zajezdy[pocetZajezdu].cislo) {
printf("%d \t, %s \t, %d \n", Zajezdy[pocetZajezdu].cislo, Zajezdy[pocetZajezdu].nazev, Zajezdy[pocetZajezdu].pocet_ucastniku);
pocetZajezdu++;
}
putchar('\n');
return 0;
};
Kód je poupraven z důvodu potřeb, neboť tvůj kód neobsahuje vše. Ale můžeš jej využít ve své aplikaci. Za povšimnutí stojí způsob výpisu obsahu struktury, jak je využito toho, že existujícímu zájezdu je přiřazeno číslo. Samozřejmě můžeš použít i for cyklus ale jeho způsob užití už souvisí s částmi programu, které tam zahrnuty nejsou. Chyba je v implementaci struktury. To co vytváříš je pole ukazatelů na strukturu, ale tyto ukazatele na nic neukazují.
Děkuju za reakce. Hází mi to tuto hlášku: (obrázek)
...ale předpokládám, že je to způsobené tím, že ukazatelé neodkazují
tam kam mají.
Funkce pro vytvoření nového:
ZAJEZD *novyZajezd(const char *n, const char *de, int k, Date& da) {
ZAJEZD *z = new ZAJEZD;
z->cislo = ++cisloZajezdu;
z->datum = da;
z->nazev = new char[strlen(n) + 1];
strcpy_s(z->nazev, strlen(n)+1, n);
z->destinace = new char[strlen(de) + 1];
strcpy_s(z->destinace, strlen(de)+1, de);
z->kapacita = k;
z->pocet_ucastniku = 0;
return 0;
};
Mohl by jste mi vysvětlit jak správně v tomto případě poukázat na
ukazatelem na vytvořené zájezdy?
Do CASE větve se dostanu, hodí to hlášku viz obrazek a žádný výpis se
neprovede...
Díky moc! už to jede
Děkuju všem za příspěvek.
Zobrazeno 8 zpráv z 8.
