C nyelven egy tablazatot kell keszitsek struct fuggvennyel? Tobbi lent.
... melyben megjelenik a gyerekek neve, eletkora es hogy, jok voltak-e iden vagy rosszak. A gondom az, hogy nem tudom, hogy kellene megoldani, hogy tobb gyerek nevet irja be, ne csak egyet. Hogy csinalhatnam meg?.Probalkoztam minden felevel, de nem tudom, hogy kene igazan megoldani...
#include <stdio.h>
#include <stdlib.h>
struct lista{
int nev[];
int ev[];
int viselkedes[];
};
typedef lista lista;
int main()
{
lista l;
int i, n;
printf("Kerem a gyerekek szamat: \n");
scanf("%d", &n);
printf("Kerem a gyerekek nevet: \n");
for(i=0; i<n; i++)
scanf("%c", &l.nev[i]);
return 0;
}
probalkoztam tombokkent felfogni oket es for ciklust hasznalni, de nem erek el vele semmit...
I.: a struct NEM függvény, összetett adattípusok hozhatóak létre a segítségével, lényegében „változók csoportja”, amiket egyben tudsz kezelni.
II.: egy gyerekről akarunk struktúrát készíteni, ami EGY darab gyerek adatait tárolja, tehát inkább:
typedef struct gyerek {
char nev[50]; /* nem dinamikusan akarjuk foglalni a helyet (max 49 karakter) */
int eletkor;
char viselkedes[20]; /* nem dinamikusan akarjuk foglalni a helyet (max 19 karakter) */
} gyerek;
III.: ebből kell nekünk egy tömb, hisze több gyerek adatait akarjuk tárolni:
gyerek gyerekek[100]; /* itt sem dinamikusan akarunk helyet foglalni */
IV.: a scanfnél „%c”-vel EGY darab karaktert olvasunk be, „%s” kell a szöveghez:
scanf("%49s %d %19s", gyerekek[i].nev, &gyerekek[i].eletkor, gyerekek[i].viselkedes); /* a szám a maximum beolvasható karakterek számát jelzi */
== Tehát végül ==
int main() {
int n;
gyerek gyerekek[100];
printf("gyerekek szama: ");
scanf("%d", &n);
for(int i = 0; i < n; i++) {
printf("%d. gyerek adatai: ", i);
scanf("%49s %d %19s", gyerekek[i].nev, &gyerekek[i].eletkor, gyerekek[i].viselkedes);
}
for(int i = 0; i < n; i++)
printf("%s %d %s\n", gyerekek[i].nev, gyerekek[i].eletkor, gyerekek[i].viselkedes);
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!