#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
     FILE *fori, *fsal;
     int op;
     int vocals[5];
     char car;
     int res=0;
     int tot=0;
     float res2;
     int va=0; 
     int ve=0; 
     int vi=0; 
     int vo=0; 
     int vu=0;
     int clau;                   
     printf("\nMenu\n1 - Dir quina vocal apareix mes en tot el fitxer\n2 - Dir la frequencia de vocals\n");
     printf("3 - Xifrar el fitxer amb una clau\n4 - Desxifrar el fitxer anterior\n5 - Sortir");
     printf("\n\nIntrodueix opcio:");
     scanf("%d",&op);       
       while(op!=5){
        switch(op){
              case 1:
                      if((fori=fopen("fitxer.txt" ,"r"))==NULL){
                           printf("Error al intentar obrir larxiu");
                           return;
                     }                                        
                   while (!feof(fori))
                   {     
                      car=fgetc(fori);
                      tot++;                      
                       if(car=='a') va++; 
                       if(car=='e') ve++; 
                       if(car=='i') vi++; 
                       if(car=='o') vo++; 
                       if(car=='u') vu++;                                       
                    }
                     fclose(fori);
                     if(va > ve && va > vi && va> vo && va >vu) printf("La vocal que mes es repeteix es la a");
                     if(ve > va && ve > vi && ve> vo && ve >vu) printf("La vocal que mes es repeteix es la e");
                     if(vi > va && vi > ve && vi> vo && vi >vu) printf("La vocal que mes es repeteix es la i");
                     if(vo > va && vo > ve && vo> vi && vo >vu) printf("La vocal que mes es repeteix es la o");
                     if(vu > va && vu > ve && vu> vi && vu >vo) printf("La vocal que mes es repeteix es la u");
                                        getch();
                    // fprintf(stdout,"%d vocals trobades",cont);           
                 break;              
              case 2:
                     if((fori=fopen("fitxer.txt" ,"r"))==NULL){
                           printf("Error al intentar obrir larxiu");
                           return;
                     }                                        
                   while (!feof(fori))
                   {     
                      car=fgetc(fori);
                      tot++;                      
                       if(car=='a') va++; 
                       if(car=='e') ve++; 
                       if(car=='i') vi++; 
                       if(car=='o') vo++; 
                       if(car=='u') vu++;                                       
                    }
                 fclose(fori);
                   res=va+ve+vi+vo+vu;
                   res2=(float)res /(float)tot;
                   printf("Frequencia=%d/%d=%f",res,tot,res2);
                   getch();
              break;
              case 3:
                  if((fori=fopen("fitxer.txt" ,"r"))==NULL){
                       printf("Error al intentar obrir larxiu");
                       return;
                  }                   
                  if((fsal=fopen("sortida.txt" ,"w"))==NULL){
                       printf("Error al intentar obrir larxiu");
                       return;
                  }                                                    
                  printf("Introdueix la clau 1-9: ");
                  scanf("%d",&clau);                  
                   while (!feof(fori))
                   {     
                          car=fgetc(fori);                          
                          if(car!=' ' || car!='\n'){
                               fputc(car+clau,fsal);
                           }
                           else{ 
                               fputc(car,fsal);
                           }
                    }
                    fclose(fori);                  
                    fclose(fsal);             
               break;
              case 4:
                  if((fori=fopen("sortida.txt" ,"r"))==NULL){
                       printf("Error al intentar obrir larxiu");
                       return;
                  }                 
                  printf("Introdueix la clau per desxifrar 1-9: ");
                  scanf("%d",&clau);                  
                   while (!feof(fori))
                   {     
                          car=fgetc(fori);                          
                          if(car!=' ' || car!='\n'){
                               fprintf(stdout,"%c",car-clau);
                               //fputc(car-clau,fsal);
                           }
                           else{ 
                               fprintf(stdout,"%c",car);
                           }
                    }
                    fclose(fori);                  
               getch();
              break;
         }       
     system("cls");
     printf("\nMenu\n1 - Dir quina vocal apareix mes en tot el fitxer\n2 - Dir la frequencia de vocals\n");
     printf("3 - Xifrar el fitxer amb una clau\n4 - Desxifrar el fitxer anterior\n5 - Sortir");
     printf("\n\nIntrodueix opcio:");
     scanf("%d",&op);      
     }       
return ;
}