Cvičenie 11 Dušan Lago IB001 28.11.2013 Agenda 1 Práca s funkciami string.h Radenie reťazcov 2 Dátový typ štruktúra typedef program00 Dodefinujte funkciu void toLowerCase() do predpripraveného zdrojovaného súboru program00.c Ako by ste spravili konverziu bez použitia knižnice ctype.h.? strcpy, strcat, strcmp program01 Dodefinujte funkciu void copy(), void cat() a void compare() do predpripraveného zdrojovaného súboru program01.c. strchr, strrchr program02 Dodefinujte funkciu int lastCharIndex() do predpripraveného zdrojovaného súboru program02.c. strtol, strtod program03 Vypočítajte súčet hodnôt v reťazcoch "1 2 30 99 0 123" a "1.23 30.99 12.9". Použite predpripravený zdrojový súbor program03.c. Radenie reťazcov ∙ strcmp program04 Radiacim algoritmom Bubble sort zoraďte pole char names[SIZE][LENGTH]. Použite predpripravený zdrojový súbor program04.c. Úvod k štruktúram ∙ agregovaný heterogénny dátový typ struct osoba { char meno[10]; char priezvisko[10]; char pohlavie[10]; unsigned short vek; }; ... struct osoba zamestnanec = {"Peter", "Pavol", "muz", 10}; ... zamestanec.vek = 22; strcpy(zamestnanec.meno, "Peter"); Úvod k štruktúram struct { char meno[10]; char priezvisko[10]; char pohlavie[10]; unsigned short vek; } zamestnanec; ... zamestanec.vek = 22; strcpy(zamestnanec.meno, "Peter"); Úvod k štruktúram ∙ vnorené štruktúry struct datum { unsigned short rok; char mesiac[10]; unsigned short den; }; Úvod k štruktúram struct osoba { char priezvisko[10]; struct datum narodenie; }; ... struct osoba zamestnanec = {"Lago", {2001, "september", 2}}; zamestnanec.narodenie.rok = 2002; Úvod k štruktúram struct osoba { char priezvisko[10]; struct datum { unsigned short rok; char mesiac[10]; unsigned short den; } narodenie; }; ... struct osoba zamestnanec = {"Lago", {2001, "september", 2}}; zamestnanec.narodenie.rok = 2002; Úvod k štruktúram program05 Vo vašom programe postupne: 1 definujte štruktúru student, ktorá sa bude skladať z týchto položiek ∙ char name[15], surname[15]; ∙ unsigned short uco = 0; ∙ struct date start; 2 definujte premennú first typu struct student a inicializujte ju 3 vypíšte položky premennej first 4 vytvorte novú premennú second typu struct student a nakopírujte do nej premennú first 5 premennej second zmeňte položky name, surname a uco Úvod k štruktúram ∙ pole s prvkami typu struct program06 program05 rozšírte o pole schopné uložiť desať prkov typu struct student. Do poľa pridajte first a prístupom cez index poľa vypíšte jeho položky. typedef ∙ vytváranie mien dátových typov ∙ typedef unsigned short index; index n = 2; typedef struct osoba { char meno[10]; char priezvisko[10]; char pohlavie[10]; unsigned short vek; } typOsoba; ... osoba zamestnanec = {"Peter", "Pavol", "muz", 10}; ∙ ukážka program07.c