Ú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
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Latitude 7440 14" FHD+ IPS i7-1365U 16GB 512GB NVMe ujjolv gar
- IPhone 14 Plus 256GB gyári független megkímélt
- Eladó: i7-7700K + ROG GTX1070 + Ripjaws V 32GB DDR4 + TUF Z270
- BESZÁMÍTÁS! MSI B450M AMD R5 4500 32GB DDR4 512GB SSD RTX 3060 12GB GDDR6 ZALMAN N4 Be Quiet! 650W
- BESZÁMÍTÁS! MSI H610M AMD Intel i3 12100F 16GB DDR4 512GB SSD GTX 1660 Ti 6GB GDDR6 ZALMAN N4 500W
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen