Kezdőoldal » Számítástechnika » Programozás » C nyelven egy tablazatot kell...

C nyelven egy tablazatot kell keszitsek struct fuggvennyel? Tobbi lent.

Figyelt kérdés

... 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...



2015. dec. 27. 16:05
 1/1 uno20001 ***** válasza:

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);

}

2015. dec. 27. 19:03
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!