+ Reply to Thread
Results 1 to 3 of 3

Thread: Strukturované datové typy v jazyku C

  1. #1

    Strukturované datové typy v jazyku C

    Ahoj všichni, potřebovala bych pomoct s následujícím příkladem:

    Vytvořte v jazyku C strukturovaný datový typ datum se členy den, mesic a rok. Poté vytvořte strukturovaný typ student se členy jmeno, prijmeni a narozen. Pro reprezentaci jednotlivých členů struktur zvolte vhodné datové typy.

    Dále napište funkci int porovnej_vek(student s1, student s2), která porovná věk (resp. datum narození) daných studentů a vrátí hodnotu -1 v případě, že první student je starší, 1 v případě, že druhý student je starší a 0 v případě shodného data narození u obou studentů. Podle návratové hodnoty funce porovnej_vek pak ve funkci main vypište vhodný text na obrazovku.

    Zatím jsem vytvořila toto, ale nefunguje mě to, někde je chyba a nemůžu přijít na to, kde. Mohl byste mi prosím někdo pomoct?

    #include<stdio.h>
    #include<stdlib.h>

    typedef struct {char den, mesic; short rok;} datum;

    typedef struct {char jmeno [10], prijmeni [10]; datum narozen;} student;

    int porovnej_vek (char student_s1, char student_s2);
    int porovnej_vek (char student_s1, char student_s2);

    {
    int rozdil = porovnej_vek(student_s1, student_s2);
    rozdil = student_s1 > student_s2;
    return -1;
    rozdil = student_s1 = student_s2;
    return 0;
    rozdil = student_s1 < student_s2;
    return 1;
    }

    int main()
    {
    char student_s1;
    char student_s2;

    student_s1 = ("Petr","Krizek", 18, 10, 1986);
    student_s2 = ("Hana","Krizkova", 16, 3, 1990);

    printf("%s je starsi nez %s", student_s1, student_s2);

    getch ();
    return 0;
    }

    Strašně moc děkuji za pomoc.

  2. #2

    Re: Strukturované datové typy v jazyku C

    Ideš na to dobre. V zadaní máš jasne napísané ako má vyzerať prototyp funkcie:
    Code:
    int porovnej_vek(student s1, student s2);
    Tvoj prototyp vyzerá ale úplne inak:
    Code:
    int porovnej_vek (char student_s1, char student_s2);
    Navyše ho tam máš 2krát čo nie je potrebné. Pod tým máš telo funkcie. Ak ho tam píšeš tak za prototyp sa už znak ; nedáva!!

    Potom vo funkcii main máš zase
    Code:
    char student_s1;
    Pomocou tohto hovoríš, že premenná s názvom student_s1 bude typu char. Ty chceš ale asi premennú typu student s názvom student1 Myslím, že správny zápis už zvládneš. Je to analogické u tej druhej premennej.

    Skús sa stým ešte trochu potrápiť a prepísať to podľa toho čo ti povie kompilátor - vždy ti napíše riadok na ktorom je chyba. Potom to sem hoď a nejako ti s tím ešte poradím
    Všetci chcú vaše dobro. Nedajte si ho vziať!!

  3. #3

    Re: Strukturované datové typy v jazyku C

    Moc ti děkuju, ještě to zkusím předělat...

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts