7. kis Zh megirasa Header fileok: -------------- Irjunk egy fuggvenygyujtemenyt hasznos fuggvenyekkel! ================ #include "functions.h" int main(int argc, char* argv[]) { mymin(2, 3); return 0; } ================ #if !defined (FUNCTIONS_H) #define FUNCTIONS_H int mymin(int a, int b); #endif ================ #include "functions.h" int mymin(int a, int b){ if (a double osszeg(int n, ...) { int * pmasodik = &n+1; int * q = pmasodik; int ii, ss=0; for (ii = 0; ii < n; ii++) { ss += *q++; } return (double)ss/n; } int main() { printf("szamtani kozep = "); printf("%lf\n", osszeg(3,3,9,12) ); return 0; } Strukturak ---------- Logikailag ossze tartozo, de nem azonos tipusu adatok kozos kezelese. Az adatok tipusa fuggveny nem lehet! struktura definicio struct tipus{ tipus1 adattag1; tipusn adattagn } nev1, nev2,...; Nevi lehet pointer is. Hivatkozas: statikus esetben: nevi.adattagj=ertek; pointer eseten" (*nevi).adatagk=ertek; nevi->adattagk=ertek; Lehetseges a struktura fuggvenyargumentum legyen vagy fuggvenyvisszateresi ertek. Lehetseges lokalis valtozokent deklaralni es erteket adni neki. struct tipus nevk = {ertek1, ertek2, ...}; FA: Keszitsunk egy strukturat mely mobiltelefonok adatait tarja nyilvan: -nevjegyzek merete (egesz) -sms kapacitas (egesz) -gyarto neve (50 karakter) -gyarto orszag (50 karakter) -gyarto varos neve (50 karakter) -gyartasi ev (egesz) struct telefon{ int nevek; int smscap; char gyarto[51]; char orszag[51]; char varos[51]; int evjarat; }nokia, siemens; Typedef hasznalata strukturak eseten: uj adattipus definialasara hasznalhatjuk. typedef struct tipus{ tipus1 adattag1; tipusn adattagn } adattipus; Tipus es adattipus neve megegyzhet. Struktura tipusa is lehet struktura: typedef char szoveg[51]; struct telefon{ int nevek; int smscap; szoveg gyarto; szoveg orszag; szoveg varos; int evjarat; }nokia, siemens; Mezok a definialaskor osszevonhatok. Strukturak egymasba agyazhatok. struct telefon{ int nevek, smscap, evjarat; struct {szoveg nev, orszag, varos} gyarto; }nokia, siemens; nokia.gyarto.nev="Nokia Inc." FA: Keszitsunk egy programot, mely szamitogepek adatait tarolja. A program max 10 szamitogep adatait kepes kezelni. A program tarolja el a szamitogepek kovetkezo adatait: -Bill nyelve -Monitor tipus, meret, evjarat -Processzor gyarto, sebesseg -Hattertar merete -Memoria merete A program az adatok beadasa utan biztositson lehetoseget arra, hogy megkereshessuk van-e adott tipusu monitor, adott sebessegnel gyorsabb processzor. Ha talalunk a kriteriumnak megfelelot, akkor azt irassuk ki eyg fuggveny segitsegevel.