Wednesday, February 20, 2013

#4 Primer nabrojivog tipa u c-u ENUM


#include<stdio.h>
#include<conio.h>
#include<string.h>
// definisanje novog tipa uz pomoc typedef i enum
typedef enum boolType{FALSE,TRUE}; // enum kao novi tip
//koristenje enuma
// ponedeljak 0, utorak 1 ... nedelja 6
enum e_dan{ponedeljak,utorak,sreda,cetvrtak,petak,subota,nedelja};

const char *dan_ispis(e_dan dan,char tmp[12]){
     char ret[12];
     switch (dan){
       case 0:{strcpy(tmp,"ponedeljak");break;}
       case 1:{strcpy(tmp,"utorak");break;}
       case 2:{strcpy(tmp,"sreda");break;}
       case 3:{strcpy(tmp,"cetvrtak");break;}
     
       case 4:{strcpy(tmp,"petak");break;}
       case 5:{strcpy(tmp,"subota");break;}
       case 6:{strcpy(tmp,"nedelja");break;}
       }
            //strcpy(ret,"ponedeljak");
       return tmp;
     }
   
main(){
   // primer koristenja enum u c jeziku
   boolType flag;
 
 
   flag=TRUE;
 
   if (flag){
     printf("Flag je true\n");        
   }
   else {
     printf("Flag je false\n");
   }
   // enum nemoze da se ispisuje kao string samo kao broj
   e_dan dan=ponedeljak;
   // c nemoze da vrati iz funkcije string zato sto je on niz karaktera pa mora da mu se
   //prosledi promenjiva koju bi on napunio i vratio nazad
   char tmp[12]="privremena";
   // ispis dana kao pozicije
   printf("danas je dan %d\n",dan);
   // ispis dana uz pomoc specijalne funkcije
   printf("danas je dan %s\n",dan_ispis(dan,tmp));
 
getch();    
}

No comments:

Post a Comment