Forum Apl Inf
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Strukturované datové typy - Studenti

2 posters

Goto down

Strukturované datové typy - Studenti Empty Strukturované datové typy - Studenti

Příspěvek pro Roman Luňák 19/11/2014, 20:29

neni to sice hotový ale at tu neco pribyde

kód:

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


    typedef struct{
        int den, mesic, rok;
    } datum;

    typedef struct{
        char jmeno[20], prijmeni[20]; int narozen;
    } student;

    int porovnej_vek(student, student);

 int main()
{
    int j,a;
    student s1,s2;
    printf("Zadejte jmeno :");
    scanf("%s", &s1.jmeno);
    printf("zadejte prijmeni :");
    scanf("%s", &s1.prijmeni);
    printf("zadejte rok narozeni : ");
    scanf("%d", &s1.narozen);
    printf ("\n \n");

    printf("Zadejte jmeno :");
    scanf("%s", &s2.jmeno);
    printf("zadejte prijmeni :");
    scanf("%s", &s2.prijmeni);
    printf("zadejte rok narozeni : ");
    scanf("%d", &s2.narozen);
    printf ("\n \n");


j=porovnej_vek(s1,s2);

if(a=1) printf("%s %s je starsi nez %s %s", s2.jmeno, s2.prijmeni, s1.jmeno, s1.prijmeni);
    if(a=0) printf("%s %s stejne stary jako  %s %s", s2.jmeno, s2.prijmeni, s1.jmeno, s1.prijmeni);
        if(a= -1) printf("%s %s je starsi nez %s %s", s1.jmeno, s1.prijmeni, s2.jmeno, s2.prijmeni);



printf("%i", a);



    return 0;
}

int porovnej_vek(student s1, student s2)
{


int a;
        if(s1.narozen<s2.narozen) a=1;
        if(s1.narozen>s2.narozen) a= -1;
        if(s1.narozen=s2.narozen) a=0;
return a;
}


Roman Luňák
Admin

Poèet pøíspìvkù : 7
Join date : 15. 11. 14

https://forum-apl-inf.forumczech.com

Návrat nahoru Goto down

Strukturované datové typy - Studenti Empty Better studenti...

Příspěvek pro adam.korinek 26/11/2014, 09:13

Tady je úprava Studentu..takto by to asi mělo vypadat cca Very Happy Very Happy Very Happy

kód:

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


typedef struct datum {
 unsigned int den;
 unsigned int mesic;
 unsigned int rok;
} Datum;

typedef struct student {
 char jmeno[15];
 char prijmeni[15];
 Datum narozen;
} Student;

int porovnej_vek(const Student *s1, const Student *s2);

int main()
{
 Student s1,s2;
 printf("Zadejte jmeno: ");
 scanf("%s", s1.jmeno);
 printf("Zadejte prijmeni: ");
 scanf("%s", s1.prijmeni);
 printf("Zadejte datum narozeni(d/m/r): ");
 scanf("%d %d %d", &s1.narozen.den, &s1.narozen.mesic, &s1.narozen.rok);
 printf ("\n");

 printf("Zadejte jmeno: ");
 scanf("%s", s2.jmeno);
 printf("Zadejte prijmeni: ");
 scanf("%s", s2.prijmeni);
 printf("Zadejte datum narozeni(d/m/r): ");
 scanf("%d %d %d", &s2.narozen.den ,&s2.narozen.mesic,&s2.narozen.rok);
 printf ("\n");
 
 int vysledek = porovnej_vek(&s1,&s2);

 if(vysledek > 0) {
 printf("%s %s je starsi nez %s %s", s1.jmeno, s1.prijmeni, s2.jmeno, s2.prijmeni);
 } else if(vysledek < 0) {
 printf("%s %s je starsi nez %s %s", s2.jmeno, s2.prijmeni, s1.jmeno, s1.prijmeni);
 } else if(vysledek == 0) {
 printf("%s %s stejne stary jako  %s %s", s2.jmeno, s2.prijmeni, s1.jmeno, s1.prijmeni);
 }

 getchar();
 getchar();
 return 0;
}

int porovnej_vek(const Student *s1,const Student *s2)
{
 if(s1->narozen.rok > s2->narozen.rok || (s1->narozen.rok >= s2->narozen.rok && s1->narozen.mesic > s2->narozen.mesic) ||
   (s1->narozen.rok >= s2->narozen.rok && s1->narozen.mesic >= s2->narozen.mesic && s1->narozen.den > s2->narozen.den)) {
 return -1;
 } else if(s1->narozen.rok == s2->narozen.rok && s1->narozen.mesic == s2->narozen.mesic && s1->narozen.den == s2->narozen.den) {
 return 0
 }
 return 1;
}

adam.korinek

Poèet pøíspìvkù : 25
Join date : 18. 11. 14

Návrat nahoru Goto down

Návrat nahoru

- Similar topics

 
Povolení tohoto fóra:
Nemůžete odpovídat na témata v tomto fóru