tanszek:oktatas:muszaki_informatika:strukturak_c-ben

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:muszaki_informatika:strukturak_c-ben [2025/02/18 18:53] kneheztanszek:oktatas:muszaki_informatika:strukturak_c-ben [2025/03/13 22:47] (current) – [Ellenőrző kérdések] knehez
Line 1: Line 1:
-**1. Feladat**: Olvasson be változó számú neveket és érdemjegyeket egy struktúrába és írassa ki az eredményt.+**1. Feladat**: Olvasson be változó számú Neptun kódokat és érdemjegyeket egy struktúrába és írassa ki az eredményt.
  
 <sxh c> <sxh c>
 #include<stdio.h>  // printf() és scanf() miatt kell #include<stdio.h>  // printf() és scanf() miatt kell
 #include<stdlib.h> // malloc() miatt kell #include<stdlib.h> // malloc() miatt kell
 + 
 struct Hallgato struct Hallgato
 { {
Line 10: Line 10:
     int jegy;     int jegy;
 }; };
 + 
 int main() int main()
 { {
Line 17: Line 17:
     printf("Hany hallgato van? ");     printf("Hany hallgato van? ");
     scanf("%d", &db);     scanf("%d", &db);
 + 
     ptr = (struct Hallgato*) malloc (db * sizeof(struct Hallgato));     ptr = (struct Hallgato*) malloc (db * sizeof(struct Hallgato));
 + 
     for(i = 0; i < db; ++i)     for(i = 0; i < db; ++i)
     {     {
-        printf("Kerem a nevet es a jegyet:\n"); +        printf("Kerem a Neptun kodot es a jegyet:\n"); 
-        scanf("%s %d", (ptr i)->neptun_kod, &ptr[i].jegy);+        scanf("%s %d", ptr[i].neptun_kod, &ptr[i].jegy);
     }     }
 + 
     printf("Osszesen:\n");     printf("Osszesen:\n");
     for(i = 0; i < db ; ++i)     for(i = 0; i < db ; ++i)
     {     {
-        printf("%s\t%d\n", ptr[i].neptun_kod, (ptr i)->jegy);        +        printf("%s\t%d\n", ptr[i].neptun_kod, ptr[i].jegy);        
     }     }
 } }
Line 223: Line 223:
 } }
 </sxh> </sxh>
 +
 +===== Ellenőrző kérdések =====
 +** Mi igaz a struktúrákra az alábbiak közül? **
 +
 +  A) Egy struktúrában tárolt értékek típusa mindig azonos kell legyen.
 +  B) A struktúrákat nem lehet függvényparaméterként átadni.
 +  C) Egy struktúra különböző típusú adatokat tárolhat.
 +  D) Egy struktúrában csak primitív típusokat lehet használni.
 +
 +Megoldás: C
 +
 +----
 +** Melyik állítás hamis a struktúrák kapcsán? **
 +
 +  A) A struktúra minden eleme egy külön memóriahelyen tárolódik.
 +  B) Egy struktúra eleme lehet egy másik struktúra.
 +  C) Egy struktúra tartalmazhat saját maga típusát is közvetlenül.
 +  D) Struktúra használható tömbök elemeként is.
 +
 +Megoldás: C --> saját magát csak pointerként tartalmazhatja, közvetlenül nem.
 +
 +----
 +
 +**Hogyan kell helyesen deklarálni egy struktúrát, ami két egész számot tárol?**
 +
 +  A) struct Point {int x; int y;};
 +  B) struct int {x, y};
 +  C) structure point {int x; int y;};
 +
 +Megoldás: A
 +
 +----
 +**Hogyan lehet inicializálni a Point struktúra típusú változót helyesen?**
 +
 +<sxh c>
 +struct Point { int x; int y; };
 +</sxh>
 +
 +  A) struct point p = [10, 20];
 +  B) struct point p = {10; 20};
 +  C) struct Point p = {10, 20};
 +  D) struct p = {10, 20};
 +
 +Megoldás: C
 +
 +----
 +** Hogyan érhető el helyesen a struktúra adattagja pointeren keresztül? **
 +
 +<sxh c>
 +struct Car { int year; };
 +struct Car mycar = {2020};
 +struct Car *ptr = &mycar;
 +</sxh>
 +
 +  A) *ptr.year
 +  B) ptr->year
 +  C) ptr.year
 +  D) ptr.(*year)
 +
 +megoldás: C
 +
 +----
 +
 +**Mi a hiba az alábbi kódban?**
 +<sxh c>
 +struct Person {
 +    char name[20];
 +    int age;
 +};
 +
 +struct Person p;
 +p.name = "Alice";
 +p.age = 30;
 +</sxh>
 +
 +  A) p.age rosszul inicializált.
 +  B) A struktúra deklaráció helytelen.
 +  C) Tömbhöz nem rendelhető érték közvetlenül (name).
 +  D) Nincs hiba.
 +
 +Megoldás: C, mivel sztringet nem lehet tömbhöz így hozzárendelni, helyesen pl.: ''strcpy(p.name, "Alice");'' lenne
 +
 +----
 +** Hogyan adjuk át egy struktúra pointerét paraméterként függvénynek? **
 +
 +  A) void f(struct Person &p);
 +  B) void f(struct Person p*);
 +  C) void f(struct Person *p);
 +  D) void f(Person *p);
 +
 +Megoldás: C
 +
 +----
 +
 +
 +
  
  
tanszek/oktatas/muszaki_informatika/strukturak_c-ben.1739904780.txt.gz · Last modified: 2025/02/18 18:53 by knehez