Új hozzászólás Aktív témák

  • bbenjamin

    csendes tag

    Még ismerkedem a C-vel, az alábbi feladatot kellett megvalositanom.
    Valamiért nem tudom kilistázni a feltöltés után a structba eltárolt adatokat,
    mindenhol null -t kapok.
    Hibaüzenet, figyelmezetetés nuku.
    Órák óta nem tudok rájönni miért nem menti el, vagy miért nem működik a kiiratás :/

    #include <stdio.h>
    #define MAX_KARAKTER 40
    #define MAX_ARUK 30
    #define MAX_PARTNEREK 30
    #define MAX_SZAMLAK 100
    #define MAX_TETELEK 30
    struct tetel_adat {
    int vonalkod;
    int mennyiseg;
    };
    struct tetel_adat tetelbekeres() {
    struct tetel_adat tetel;
    printf(" Vonalkod: ");
    scanf("%d", &tetel.vonalkod);
    printf(" Mennyiseg: ");
    scanf("%d", &tetel.mennyiseg);
    return tetel;
    };
    struct tetelek {
    struct tetel_adat tetel[MAX_TETELEK];
    };
    struct tetelek tetelekbekeres(int maxtetel) {
    int i; struct tetelek lmk;
    for(i=0;i<maxtetel; i++) {
    printf(" %d. tetel adatait kerem:\n", i+1);
    lmk.tetel = tetelbekeres();
    }
    return lmk;
    };


    struct szamla_adat {
    int szamlaszam; int partnerkod;
    int datum; int tetelekszama;
    struct tetelek tetelek;
    };
    struct szamla_adat szamlabekeres() {
    struct szamla_adat szl;
    printf(" Szamlaszam (int): ");
    scanf("%d", &szl.szamlaszam);
    printf(" Partnerkod (int): ");
    scanf("%d", &szl.partnerkod);
    printf(" Datum (timestamp): ");
    scanf("%d", &szl.datum);

    do {
    printf(" Tetelek szama: ");
    scanf("%d", &szl.tetelekszama);
    } while (szl.tetelekszama<0 || szl.tetelekszama>MAX_TETELEK);
    szl.tetelek=tetelekbekeres(szl.tetelekszama);
    return szl;
    };
    struct szamlak {
    struct szamla_adat szamla[MAX_SZAMLAK];
    };
    struct szamlak szamlakbekerese(int maxdb) {
    int i; struct szamlak lsz;
    for(i=0;i<maxdb; i++) {
    printf("%d. szamla adatait kerem:\n", i+1);
    lsz.szamla=szamlabekeres();
    }
    return lsz;
    };



    struct partner {
    int partnerkod; char nev[MAX_KARAKTER];
    char cim[MAX_KARAKTER]; int telefonszam;
    };

    struct partner partnerbekeres() {
    struct partner pr;
    printf(" Partnerkodja (int): ");
    scanf("%d", &pr.partnerkod);
    printf(" Neve (max 40 karakter): ");
    scanf("%s", pr.nev);
    printf(" Cime (max 40 karakter): ");
    scanf("%s", pr.cim);
    printf(" Telefonszama (csak szam): ");
    scanf("%d", &pr.telefonszam);
    return pr;
    };
    struct partnerek {
    struct partner partner[MAX_PARTNEREK];
    };
    struct partnerek partnerekbekerese(int maxdb) {
    int i; struct partnerek lp;
    for(i=0;i<maxdb;i++) {
    printf("%d. partner adatait kerem:\n", i+1);
    lp.partner=partnerbekeres();
    }
    return lp;
    };


    struct aru {
    int vonalkod; char leiras[MAX_KARAKTER];
    int ar; int keszlet;
    };
    struct aru arubekeres() {
    struct aru la;
    printf(" Vonalkodja (int): ");
    scanf("%d", &la.vonalkod);
    printf(" Leirasa (max 40 karakter): ");
    scanf("%s", la.leiras);
    printf(" Ara (Ft): ");
    scanf("%d", &la.ar);
    printf(" Keszlet (db): ");
    scanf("%d", &la.keszlet);
    printf("\n");
    return la;
    };
    struct aruk {
    struct aru aru[MAX_ARUK];
    };
    struct aruk arukbekeres(int maxdb) {
    int i;struct aruk lak;
    for(i=0;i<maxdb;i++) {
    printf("%d. aru:\n", i+1);
    lak.aru=arubekeres();
    }
    return lak;
    };

    struct raktar {
    int max_aru; int max_partner;
    int max_szamla;
    struct aruk aruk;
    struct partnerek partnerek;
    struct szamlak szamlak;
    };
    struct raktar raktarbekero() {
    struct raktar raktar;
    int j=0;
    do {
    if(j) printf("A szamnak 0 es %d koze kell esnie!\n", MAX_ARUK);
    printf("Hany arut szeretnenk feltolteni? ");
    scanf("%d", &raktar.max_aru); j++;
    } while(raktar.max_aru<0 || raktar.max_aru>MAX_ARUK);
    raktar.aruk=arukbekeres(raktar.max_aru);
    j=0;
    do {
    if(j) printf("A szamnak 0 es %d koze kell esnie!\n", MAX_PARTNEREK);
    printf("\nHany partnert szeretnenk feltolteni? ");
    scanf("%d", &raktar.max_partner); j++;
    } while(raktar.max_partner<0 || raktar.max_partner>MAX_PARTNEREK);
    raktar.partnerek=partnerekbekerese(raktar.max_partner);
    j=0;
    do {
    if(j) printf("A szamnak 0 es %d koze kell esnie\n", MAX_SZAMLAK);
    printf("\nHany szamlat szeretnenk feltolteni? ");
    scanf("%d", &raktar.max_szamla); j++;
    } while(raktar.max_szamla<0 || raktar.max_szamla>MAX_SZAMLAK);
    raktar.szamlak=szamlakbekerese(raktar.max_szamla);
    };

    /* PROGRAM KILISTAZO RESZE */
    void tetelkiiratas(struct tetel_adat tetel) {
    printf("\t Vonalkod: %d\n", tetel.vonalkod);
    printf("\n Mennyiseg: %d\n", tetel.mennyiseg);
    }
    void tetelekkiiratas(struct tetelek tetelek, int maxdb) {
    int i; for(i=0;i<maxdb;i++) tetelkiiratas(tetelek.tetel);
    }
    void szamlakiiratas(struct szamla_adat szamla) {
    printf("%d. szamu szamla adatai:\n", szamla.szamlaszam);
    printf(" Partnerkod: %d\n", szamla.partnerkod);
    printf(" Datum: %d\n", szamla.datum);
    printf(" Tetelek:\n");
    tetelekkiiratas(szamla.tetelek, szamla.tetelekszama);
    }
    void szamlakkiiratas(struct szamlak szamlak, int maxdb) {
    int i; for(i=0;i<maxdb; i++) szamlakiiratas(szamlak.szamla);
    }
    void partnerkiiratas(struct partner partner) {
    printf("%d. kodu partner adatai:\n", partner.partnerkod);
    printf(" Neve: %s\n", partner.nev);
    printf(" Cime: %s\n", partner.cim);
    printf(" Telefonszama: %d\n", partner.telefonszam);
    }
    void partnerekkiiratas(struct partnerek partnerek, int maxdb) {
    int i; for(i=0;i<maxdb;i++) partnerkiiratas(partnerek.partner);
    }
    void arukiiratas(struct aru aru) {
    printf("%d kodu aru adatai:\n", aru.vonalkod);
    printf(" Leirasa: %s\n", aru.leiras);
    printf(" Ara: %d,-\n", aru.ar);
    printf(" Keszlet: %d (db)\n", aru.keszlet);
    }
    void arukkiiratas(struct aruk aruk, int maxdb) {
    int i; for(i=0;i<maxdb;i++) arukiiratas(aruk.aru);
    }
    void raktarkiiro(struct raktar raktar) {
    printf("\nARUK KILISTAZASA (%d): \n", raktar.max_aru);
    arukkiiratas(raktar.aruk, raktar.max_aru);
    printf("\nPARTNEREK KILISTAZASA: \n");
    partnerekkiiratas(raktar.partnerek, raktar.max_partner);
    printf("\nSZAMLAK KILISTAZASA: \n");
    szamlakkiiratas(raktar.szamlak, raktar.max_szamla);

    }
    /* --------------------------------------------------- */

    int main() {
    struct raktar raktar;
    raktar = raktarbekero();
    raktarkiiro(raktar);
    return 0;
    }

Új hozzászólás Aktív témák