Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria

De binefa.com
Salta a la navegació Salta a la cerca

Fitxers

Estructures

/*
st03.c
*/
#include <stdio.h>

struct treballador{
   char nom[50];
   char cognom1[30];
   char cognom2[30];
   int edat;
};

void vPresentaTreballador(struct treballador stT, const char *szQui){
   printf("%s: %s %s %s te %d anys\n",szQui,stT.nom,stT.cognom1,stT.cognom2,stT.edat);
}

void vAugmentaUnAny(struct treballador *pStT){
   (*pStT).edat += 1;
}

void vAugmentaUnAny2(struct treballador *pStT){
   //(*pStT).edat += 1;
   pStT->edat += 1;
}

int main(){
   struct treballador *pT,enginyer, administratiu = {"Eric","Alvarez","Cuerva",18}, auxiliar;
   
   vPresentaTreballador(administratiu,"Administratiu");
   pT = &administratiu;
   vPresentaTreballador(*pT,"Apuntador a administratiu");
   vAugmentaUnAny(pT); //Pas per referència de l'estructura
   vPresentaTreballador(*pT,"1) Apuntador a administratiu amb un any incrementat");
   vAugmentaUnAny2(pT); //Pas per referència de l'estructura
   vPresentaTreballador(*pT,"2) Apuntador a administratiu amb un any incrementat");
   
   return 0;
}

Unions

/*
http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m7/d97m7p7.htm
*/
#include <stdio.h>

struct notes {
   int mat, fis, inf,qui, fil ;
};

union alumne {
   struct notes N;
   int nota[5];
};

int main(){
   int ct;
   union alumne joan;
   joan.N.mat=10;
   joan.N.fis=9;
   joan.N.inf=7;
   joan.N.qui=9;
   joan.N.fil=10;
   printf("\nmat\tfis\tinf\tqui\tfil\n");
   for(ct=0;ct<5;ct++){
       printf("%d\t",joan.nota[ct]);
   }

   return 0;
}

Enumeració

/*
enum01.c
*/
#include <stdio.h>

enum dia {dilluns, dimarts, dimecres = 7, dijous, divendres, dissabte, diumenge}; 

int main(){
   enum dia avui;
   
   avui = divendres;
   if (avui == divendres){
       printf("És divendres\n");
   }else{
       printf("No és divendres\n");
   }
   printf("avui:  %d\n",(int)avui);
   avui = diumenge;
   if (avui == divendres){
       printf("És divendres\n");
   }else{
       printf("No és divendres\n");
   }

   return 0;
}