abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 19:22 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i

    … více »
    bkralik | Komentářů: 0
    dnes 05:00 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.50.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Zajímavý software

    Komunita kolem Linux Containers po roce vývoje představila (YouTube) neměnný operační systém IncusOS speciálně navržený pro běh Incusu, tj. komunitního forku nástroje pro správu kontejnerů LXD. IncusOS poskytuje atomické aktualizace prostřednictvím mechanismu A/B aktualizací s využitím samostatných oddílů a vynucuje zabezpečení bootování pomocí UEFI Secure Bootu a modulu TPM 2.0. Postaven je na Debianu 13.

    Ladislav Hagara | Komentářů: 11
    včera 22:44 | IT novinky

    Mozilla začne od ledna poskytovat komerční podporu Firefoxu pro firmy. Jedná se o podporu nad rámec stávající podpory, která je k dispozici pro všechny zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 03:44 | Komunita

    V Bolzanu probíhá konference SFSCON (South Tyrol Free Software Conference). Jean-Baptiste Kempf, zakladatel a prezident VideoLAN a klíčový vývojář VLC media playeru, byl na ní oceněn cenou European SFS Award 2025 udělovanou Free Software Foundation Europe (FSFE) a Linux User Group Bolzano‑Bozen (LUGBZ).

    Ladislav Hagara | Komentářů: 3
    včera 02:44 | Zajímavý projekt

    Open-source minimalistický trackball Ploopy Nano byl po modelech modelech Classic a Thumb Trackball také aktualizován. Nová verze Nano 2 používá optický senzor PAW3222 a k původně beztlačítkovému designu přidává jedno tlačítko, které ve výchozí konfiguraci firmwaru QMK přepíná režim posouvání koulí. Sestavený trackball nyní vyjde na 60 kanadských dolarů (bez dopravy a DPH).

    |🇵🇸 | Komentářů: 3
    7.11. 14:22 | Zajímavý článek

    Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.

    Ladislav Hagara | Komentářů: 0
    7.11. 09:55 | Komunita

    Kit je nový maskot webového prohlížeče Firefox.

    Ladislav Hagara | Komentářů: 17
    7.11. 00:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.5. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 2
    6.11. 23:55 | IT novinky

    Německo zvažuje, že zaplatí místním telekomunikačním operátorům včetně Deutsche Telekom, aby nahradili zařízení od čínské firmy Huawei. Náklady na výměnu by mohly přesáhnout dvě miliardy eur (bezmála 49 miliard Kč). Jeden scénář počítá s tím, že vláda na tento záměr použije prostředky určené na obranu či infrastrukturu.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (47%)
     (18%)
     (17%)
     (22%)
     (15%)
     (21%)
     (15%)
     (16%)
    Celkem 329 hlasů
     Komentářů: 15, poslední 2.11. 08:25
    Rozcestník

    Dotaz: Struktury v C

    15.3.2020 15:30 Dooyer
    Struktury v C
    Přečteno: 932×

    sestavte program s datovou strukturou Knihovna, která bude obsahovat jméno knihy, jméno a příjmení autora, rok vydání, stav půjčení (ano/ne), bude možné zadat pro pět knih

    Nevim jak udělat stav pujceni ano/ne

    #include <stdio.h>
    
    #include <stdlib.h>
    #include <string.h>
    
    typedef struct
    {
    char jmenokn[40];
    char jmenoa[40];
    char prijmenia[40];
    unsigned date;
    }KNIHA;
    
    int main()
    {
    KNIHA knihy[5];
    
    strcpy(knihy[0].jmenokn, "Trpaslici");
    strcpy(knihy[0].jmenoa, "Tomas");
    strcpy(knihy[0].prijmenia, "Marny");
    knihy[0].date = 1999;
    
    strcpy(knihy[0].jmenokn, "Loupeznici");
    strcpy(knihy[0].jmenoa, "Adam");
    strcpy(knihy[0].prijmenia, "Rysavy");
    knihy[0].date = 1992;
    
    strcpy(knihy[0].jmenokn, "Hlavolam 2");
    strcpy(knihy[0].jmenoa, "Alex");
    strcpy(knihy[0].prijmenia, "Schafer");
    knihy[0].date = 1983;
    
    strcpy(knihy[0].jmenokn, "Polednice");
    strcpy(knihy[0].jmenoa, "Pavel");
    strcpy(knihy[0].prijmenia, "Kontor");
    knihy[0].date = 1997;
    
    strcpy(knihy[0].jmenokn, "Pocitace");
    strcpy(knihy[0].jmenoa, "Felix");
    strcpy(knihy[0].prijmenia, "Novak");
    knihy[0].date = 1999;
    
    int i;
    for (i = 0; i<5; i++)
    {
    printf("Kniha na indexu %d\n", i);
    printf("\n");
    printf("Jmeno knihy: %s\n", knihy[0].jmenokn);
    printf("Jmeno autora: %s\n", knihy[0].jmenoa);
    printf("Prijmeni autora: %s\n", knihy[0].prijmenia);
    printf("Rok vydani: %d\n", knihy[0].date);
    printf("\n");
    }
    
    system("pause");
    
    return 0;
    }

    Řešení dotazu:


    Odpovědi

    15.3.2020 15:42 debian+
    Rozbalit Rozbalit vše Re: Struktury v C
    existuje int pozicana; ak 0 => nepozicana, inac pozicana
    🇹🇬 avatar 15.3.2020 16:37 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    indexy blbě pak taky samý *() jakože v těch hranatejch závorkách a pak to tam jako stejně nastrkáš hodnotou dyď ti to ani jako nemuže normálně běžet ti to jako furt vypisuje jen tu prní knížku ne :'( :'( ataky mi neřikej že ste ještě jako nedělali malloc free a takový tydlety ;D

    de to i líp ale zatim takhlenc

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #define KNIHA_NEPUCENA 0
    #define KNIHA_PUCENA 1
    
    typedef unsigned int stavPuceni;
    
    typedef struct
    {
    char jmenokn[40];
    char jmenoa[40];
    char prijmenia[40];
    unsigned date;
    stavPuceni isPucena;
    }KNIHA;
    
    int main()
    {
    KNIHA knihy[5];
    
    KNIHA k;
    strcpy(k.jmenokn, "Cecka");
    strcpy(k.jmenoa, "Michal");
    strcpy(k.prijmenia, "David");
    k.isPucena=KNIHA_PUCENA;
    k.date = 1968;
    knihy[0]=k;
    
    strcpy(k.jmenokn, "Stodvacet dnu s hovorkem v bunkru");
    strcpy(k.jmenoa, "Jarda");
    strcpy(k.prijmenia, "Hovorka");
    k.isPucena=KNIHA_NEPUCENA;
    k.date = 2020;
    knihy[1]=k;
    
    strcpy(k.jmenokn, "Bilej koronavirus");
    strcpy(k.jmenoa, "Karel");
    strcpy(k.prijmenia, "Capek");
    k.isPucena=KNIHA_PUCENA;
    k.date = 0;
    knihy[2]=k;
    
    strcpy(k.jmenokn, "Ucebnice jazyka c");
    strcpy(k.jmenoa, "Pavel");
    strcpy(k.prijmenia, "Herout");
    k.isPucena=KNIHA_NEPUCENA;
    k.date = 2008;
    knihy[3]=k;
    
    strcpy(k.jmenokn, "Sbirka resenejch Dooyerovejch domacaku");
    strcpy(k.jmenoa, "Greta");
    strcpy(k.prijmenia, "Thunbergova");
    k.isPucena=KNIHA_PUCENA;
    k.date = 2030;
    knihy[4]=k;
    
    
    int i;
    for (i = 0; i<5; i++)
    {
    printf("Kniha na indexu %d\n", i);
    printf("\n");
    printf("Jmeno knihy: %s\n", knihy[i].jmenokn);
    printf("Jmeno autora: %s\n", knihy[i].jmenoa);
    printf("Prijmeni autora: %s\n", knihy[i].prijmenia);
    printf("Rok vydani: %d\n", knihy[i].date);
    printf("Je pucena: ");
    if(knihy[i].isPucena)
        printf("jojo");
    else
        printf("nene");
    printf("\n\n");
    }
    
    //neni multiplatformní a u mě nefunguje :'(
    //system("pause");
    printf("pro pokracovani zmackni enter\n");
    getchar();
    
    return 0;
    }
    

    joa ty dooyere neni ti takový trapný že za tebe furt pišu domácáky z programování já?????? :O :O :D :D ;D

    bych si jako přála by ses aspoň jako snažil chápat co ti tady jako pišem

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    15.3.2020 16:46 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C
    Jo ty indexi sem si nevšiml je mi jasné že tam má být 0 1 2 3 4..

    Já se to snažím chápat :D
    15.3.2020 16:50 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C
    jinak díky teda :D a malloc free nevím o čem píšeš
    15.3.2020 17:13 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C
    Jasně že si to jen nezkopíruji a nechám to bejt, vždycky si to projdu a snažím se pochopit co tam je a proč..
    🇹🇬 avatar 15.3.2020 21:24 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    jako jen jestli trošičku nekecáš :O ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    🇹🇬 avatar 15.3.2020 21:17 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    jako to brzy příde :O :D :D ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    16.3.2020 13:00 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C
    ještě mi tam učitel dopsal knihy(název, autor...) se budou zadávat z klávesnice po spuštění programu.. nevim jako proc? jako to zadám z klavesnice nazev knihy a autora a pak vypisu tu knihu ? jakoby z klavesnice vytvorim knihu a dam ji do knihovny ??
    🇹🇬 avatar 16.3.2020 19:27 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    tttssssssss to jako nemužeš kantoroj říct žeti do pokojíčku vtrhnuli vojenský paramedici ve skafandrech a obsadili interenotovou přípojku protože staný právo protože koronavirus atak ti nic vod něj  jako nepřišlo???? :O :O :D :D ;D ;D

    nóóó sem ti to jako naspala protože mi tě je líto jak máš horší křipkový prázdniny než já :'( ;D je to dělaný jako ale s mallocem abys to měl zajímavější :O :O :D :D ;D

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdbool.h>
    
    #define BUFF_LEN 40
    
    typedef struct
    {
    char jmenokn[BUFF_LEN];
    char jmenoa[BUFF_LEN];
    char prijmenia[BUFF_LEN];
    int rokVydani;
    bool isPucena;
    }KNIHA;
    
    
    //funkce pro vypisování knížky na terminál
    void vypisKnihu(KNIHA * k)
    {
        printf("\nNazev: %s\nJmeno autora: %s\nPrimeni autora: %s\n",k->jmenokn,k->jmenoa,k->prijmenia);
        //tamto ->  je jako (*k).jmenok a tak
        //tim mužem jako přistupovat k atributům tý struktury ;D
        
        printf("je pucena?? ");
        if(k->isPucena)
            printf("jojo");
        else
            printf("nene");
        
        printf("\n\n");
    }
    
    //funkce co vyrobí novou knížečku a vrátí ji jako ukazatel :O :O ;D
    KNIHA * vyrobKnihu()
    {
        //alokujeme paměť o velikosti tý struktury knížka a přetypujem ji na ukazatel na knížku :O ;D
        KNIHA * k=malloc(sizeof(KNIHA));
        if(!k)return NULL;//když nevyrobíme vrátíme null
        
        printf("\nZadej nazev knizky: ");
        //si frajersky načtem víceslovnej string jako název knížky :O ;D
        //normálně by to vzalo po první mezírku a pak by to jako blblo :O ;D
        //nejdřiv vypucujem input buffer aby tam nebyl 'enter' teda jakože znak '\n'
        int c;
        while ((c = getchar()) != '\n' && c != EOF) { }
        scanf("%[^\n]",k->jmenokn);//nóóó a čteme znaky dokavaď neni znak '\n'
        printf("\nZadej meno autora: ");
        scanf("%s",k->jmenoa);
        printf("\nZadej primeni autora: ");
        scanf("%s",k->prijmenia);
        printf("\nZadej rok vydani: ");
        scanf("%d",&(k->rokVydani));
        
        //se budem dokolečka ptát až z učitelskýjo jako konečně dostanem jestli je knížka pučená nebo ne
        char input[10];
        while(true)
        {
            printf("\nje knizka vypucena???? odpovidej pouze ano/ne: ");
            scanf("%s",input);
            if(strcmp(input,"ano")==0)
            {
                k->isPucena=true;
                break;
            }
            else if(strcmp(input,"ne")==0)
            {
                k->isPucena=false;
                break;
            }
            else
            {
                printf("\nti nerozumim :D");
            }
        }
        return k;
    }
    
    
    int main()
    {
        size_t knizek;
        
        printf("zadej ucitelskej kolik jako bude knizek??\n");
        scanf("%zd",&knizek);
        if(!knizek)//pokud je knizek==0 tak je to jako false a vykřičníkem to invertujem na true
        {
            printf("kdyz zadna tak jako zadna :O :O :D ;D koncim!!!!!");
            exit(EXIT_SUCCESS);
        }
        
        //stejně jako s tim jednim ukazatelem na jednu knížku 
        //ale jako tentokrát uděláme jednorozměrný pole ukazatelů na knížky :O ;D
        //alokujeme paměť o velikosti ukazatele na knížku krát počet knížek kolik učitelskej zadal že bude
        KNIHA ** knizky=malloc(knizek * sizeof(KNIHA *));
        if(!knizky)
        {
            //malloc vratil NULL
            //asi neni dost pameti
            printf("malloc selhal!!!! :O :O koncim!!!!!");
            exit(EXIT_FAILURE);
        }
        
        size_t i;
        for (i = 0; i<knizek; i++)
        {
            KNIHA * k;
            printf("\nVyplnuje se %zd. knizka\n",i+1);//hezčejší než indexy :D ;D
            
            //strčíme do proměný k vyrobenou knížku a rovnou se kouknem jestli je NULL
            //jestli je null tak nám malloc asi jako selhal :O :'( :D
            if((k=vyrobKnihu())!=NULL)
            {
                knizky[i]=k;
            }
            else
            {
                //TODO věčinou by se měla vyčistit paměť od těch už vyrobenejch knížek v případě selhání
                printf("malloc selhal!!!! :O :O koncim!!!!!");
                exit(EXIT_FAILURE);
            }
        }
    
        //vypišeme :D :D
        printf("\n\n\n\n\n\n********************************\n* OBSAH DOOOYEROVY KNIHOVNICKY *\n********************************\n\n");
    
        for(i=0;i<knizek;i++)
        {
            printf("\n%zd. knizka: ",i+1);
            vypisKnihu(knizky[i]);
        }
    
    
        //teďko jako po sobe uklidíme paměť
        //uvolníme paměť každý knížky v poli
        for(i=0;i<knizek;i++)
        {
            free(knizky[i]); 
        }
        //nakonec vyčistíme samotný to pole
        free(knizky);
        //kdybyse to udělalo obráceně jakože nejdřiv smazat pole tak ztratíme referenci k těm knížkám a v nevíc nejhorším případě bysme mazaly uplně něco jinýho než bysme si myslely že mažem a byly bysme kde?? :O :O :D :D ;D
        
        //joa jasně že by to šlo všecko dělat v jednom cyklu ty tři různý for
        //ale to asi tady jako neni učel :O :O ;D
    
        //neni multiplatformní a u mě nefunguje :'(
        //system("pause");
        int c;
        while ((c = getchar()) != '\n' && c != EOF) { }
        printf("pro pokracovani zmackni enter\n");
        getchar();
    
        printf("hotovo!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
        exit(EXIT_SUCCESS);
    }
    
    
    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    Jendа avatar 17.3.2020 15:59 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Struktury v C
    Když už máte malloc, mohli byste ještě dynamicky alokovat ty stringy jmenokn a nemít tam natvrdo 40.
    🇹🇬 avatar 17.3.2020 21:02 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    jojojo a dooyer se nato vykašle žeje zdrojáček  jako děsně složitej a skončí jako max u copy paste už todleto si myslim je jakože dost na hraně :O :O :'( :'(

    žeto je plejtvání ten buffer takhle vim ale zase se to podobá tomu co tam jako von sám měl ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    15.3.2020 17:14 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C
    Jen nechápu to stavPuceni? to jsi definovala novou strukturu v tom ,,typedef unsigned int stavPuceni,, -> tomu moc nerozumim?
    15.3.2020 19:09 debian+
    Rozbalit Rozbalit vše Re: Struktury v C
    typedef sa pouziva na definovanie noveho datoveho typu: http://text.linuxsoft.cz/article.php?id_article=859
    🇹🇬 avatar 15.3.2020 21:22 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    nene :D jak piše debian je to novej definovanej datovej typ. když pak někde napišeš 'stavPuceni' tak se to chová jako bys napsal 'unsigned int' ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    15.3.2020 21:38 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Struktury v C
    Pokud někdo stále ještě nevzal na milost bool, který je tu od C99, nebo počítá s tím, že by časem mohlo být stavů víc, je čistší použít pojmenovaný enum.
    🇹🇬 avatar 15.3.2020 21:59 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    ttttsssssss nebudu dělat import další knihovny kuli pitomímu boolu >:C

    si dělám srandu ;D jsem doteďka myslela že je jako bool jenom v c++ :O :O :O :O

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    19.3.2020 10:44 MMN
    Rozbalit Rozbalit vše Re: Struktury v C
    Jaký import knihovny? Pokud myslíš hlavičkového souboru, tak není potřeba, jen to bude _Bool, a ne bool.
    🇹🇬 avatar 19.3.2020 21:58 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    takovýho toho s tim h nakonci ;D

    proč teda jako rovnou neuďáli aby se to psalo normálně bool???? :O :O :O :O toje přece uplně šílenej název pro datovej typ když ho jako máš psát a číst všude :O :O jestli to je jako to samý tak naco jako dělat import a proč jako rovnou neudělat jednoduše typedef _boolu na bool???? :O :O celý to je nějaký divný ten cčkovej bool :O :O

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    Jendа avatar 19.3.2020 22:12 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Struktury v C
    proč teda jako rovnou neuďáli aby se to psalo normálně bool
    Protože si lidi už nadefinovali vlastní bool a najednou by tak přestal jejich kód jít zkompilovat. Zatímco u věcí s _ se rozbití má očekávat.
    15.3.2020 18:16 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C

    Tak sem si to předělal a nechápu proč když k.JePucena=1 dám až za knihy[0]=k; tak to nefunguje a ukazuje to ne místo ano??? ale když to dám před strcpy(k.prijmenia, "Marny"); tak to normálně funguje? vubec nevim proc to dělá?

    typedef struct
    
    {
    
    char jmenokn[40];
    
    char jmenoa[40];
    
    char prijmenia[40];
    
    unsigned date;
    
    unsigned int JePucena;
    
    }KNIHA;
    
    
    int main()
    
    {
    
    KNIHA knihy[5];
    
    KNIHA k;
    
    
    strcpy(k.jmenokn, "Trpaslici");
    
    strcpy(k.jmenoa, "Tomas");
    
    strcpy(k.prijmenia, "Marny");
    
    k.JePucena=1;
    
    k.date = 1999;
    
    knihy[0]=k;
    
    
    
    strcpy(k.jmenokn, "Loupeznici");
    
    strcpy(k.jmenoa, "Adam");
    
    strcpy(k.prijmenia, "Rysavy");
    
    k.JePucena=0;
    
    k.date = 1992;
    
    knihy[1]=k;
    
    
    strcpy(k.jmenokn, "Hlavolam 2");
    
    strcpy(k.jmenoa, "Alex");
    
    strcpy(k.prijmenia, "Schafer");
    
    k.JePucena=1;
    
    k.date = 1983;
    
    knihy[2]=k;
    
    
    
    
    strcpy(k.jmenokn, "Polednice");
    
    strcpy(k.jmenoa, "Pavel");
    
    strcpy(k.prijmenia, "Kontor");
    
    k.JePucena=0;
    
    k.date = 1997;
    
    knihy[3]=k;
    
    
    
    
    strcpy(k.jmenokn, "Pocitace");
    
    strcpy(k.jmenoa, "Felix");
    
    strcpy(k.prijmenia, "Novak");
    
    k.JePucena=1;
    
    k.date = 1999;
    
    knihy[4]=k;
    
    
    
    
    int i;
    
    for (i = 0; i<5; i++)
    
    {
    
    printf("\n");
    
    printf("Kniha na indexu %d\n", i);
    
    printf("\n");
    
    printf("Jmeno knihy: %s\n", knihy[i].jmenokn);
    
    printf("Jmeno autora: %s\n", knihy[i].jmenoa);
    
    printf("Prijmeni autora: %s\n", knihy[i].prijmenia);
    
    printf("Rok vydani: %d\n", knihy[i].date);
    
    printf("Je pucena?:");
    
    if(knihy[i].JePucena==1)
    
    printf("ano");
    
    else
    
    printf("ne");
    
    printf("\n\n");
    
    }
    
    
    system("pause");
    
    
    return 0;
    
    }
    🇹🇬 avatar 15.3.2020 21:29 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    se to přece jako nakopíruje do pole tim okamžikem knihy[0]=k :O :O

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    15.3.2020 18:49 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Struktury v C
    "Kniha na indexu"? Já myslel, že to už se dnes nedělá… :-)
    15.3.2020 19:46 debian+
    Rozbalit Rozbalit vše Re: Struktury v C
    Samo o sebe zmysel, ale ak nieco s niecim prepajas, tak plus/minus je dobre mat index - ako jedinicny identifikar. Trebars kto kedy si aku knihu vypozical, tak budes viazat knihu na index. Cize dnes ked vytvaras tabulky pre SQL, tak automaticky pre tabulku vyvaras index (resp. auto index). Tj. neuvazujes ci vytvarat, ale ci fakt ich netreba, ak su take okolnosti.
    15.3.2020 20:01 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Struktury v C
    Pokusil jsem se odlehčit diskusi vtipem, protože v komentování toho programu jsem moc smyslu neviděl.
    15.3.2020 20:13 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C
    Dívej, pokud dám knihy[0]=k; na konec těch informací o knize - až za k.date = 1999 tak všechno funguje jak má Ale.. když to dám na začátek před informace o knize před strcpy(k.jmenok, "Trpasici"); tak uz nefunguje nic.. jmeno prijmeni datum vyhodí random znaky a random čísla.. tak se ptám proč?
    15.3.2020 20:38 debian+
    Rozbalit Rozbalit vše Re: Struktury v C
    Daj vadni kod, alebo odstavec (neopisuj slovami).
    15.3.2020 20:50 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Struktury v C

    Čím dál víc mám podezření, že je to celé jen nějaký zvrácený vtip, ale budiž. Když tu proměnnou k zkopírujete ještě před tím, než ji naplníte, tak kopírujete neinicializované hodnoty. Dostatečně nový překladač by měl vyhodit hned dvě varování: jednak že používáte neinicializovanou proměnnou, jednak, že ta poslední přiřazení do k nikde nepoužijete.

    Ale především je nesmysl dělat to takhle komplikovaně. I když přehlédnu, že je nesmysl mít celou databázi zadrátovanou ve zdrojáku programu, tak když chcete inicializovat proměnnou, prostě ji inicializujte:

    struct kniha knihy[] = {
            {
                    .jmenokn        = "Trpaslici",
                    .jmenoa         = "Tomas",
                    .prijmenia      = "Marny",
                    .date           = 1999,
                    .pujcena        = true,
            },      
            {
                    ...
            },              
            ...
    };
    
    🇹🇬 avatar 15.3.2020 21:13 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Struktury v C

    Čím dál víc mám podezření, že je to celé jen nějaký zvrácený vtip, ale budiž

    na trolling je to jako moc nudný ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    16.3.2020 01:27 Dooyer
    Rozbalit Rozbalit vše Re: Struktury v C
    Netrollím jen se ptám na každou blbost abych tomu přišel na kloub
    16.3.2020 07:30 vejgar
    Rozbalit Rozbalit vše Re: Struktury v C
    Hele, počítače jsou blbý a v tomhle případě jdou pro tvoje potřeby řádek po řádku a nevidí dopředu. Takže si vždycky představ, v jakym stavu je po každým příkazu asi která proměnná. A když něco někam uložíš a až potom to změníš, tak se to neprojeví. To by sis musel hrát s referencema/ukazatelama a když nechápeš tohle, tak ukazatelovou aritmetiku už tuplem ne.
    16.3.2020 07:39 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Struktury v C

    Problém je, že se ptáte na nějaké detaily v situaci, kdy vám chybějí naprosté základy. (Tedy pokud to celé opravdu není jen nějaký sociologický experiment.) A k tomu, abychom vás učili programovat, poradna určitě neslouží.

    Minule jsem to špatně pochopil, myslel jsem, že úlohou je přijít na to, co dělá nějaký záměrně zmateně a špatně napsaný program, který vyrobil někdo jiný za účelem toho cvičení.

    16.3.2020 14:41 debian+
    Rozbalit Rozbalit vše Re: Struktury v C
    Lebo ak nieco nenastavis (premmenu resp. pamet), tak ma hodnotu z predchadzajuceho pouzivanie pamete (myslis sa tym z predch. programu alebo co bolo na tej pamete ulozene). Takze aj pre tebe navonok somariny.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.