Strukturované datové typy v jazyku C
Napsal: sob 11. pro 2010, 21:44
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;
}
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;
}