Guest User

Untitled

a guest
Jan 3rd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.94 KB | None | 0 0
  1. float sumaTotal = 53453;
  2. typedef struct {
  3.     char nombre[100];
  4.     float probabilidad;
  5.     float cantidad;
  6. }vectorNombres;
  7.  
  8. /*
  9. ....
  10. ....
  11. ....
  12. */
  13.  
  14. void guardarArchivo(){
  15.     FILE *ptr_file;
  16.     char cadena[2000];
  17.     memset(cadena, '\0',2000);
  18.     char caracterLongitudMatriz[100],caracterLargoLista[100],caracterSumaTotal[100];
  19.  
  20.  
  21.     sprintf(caracterLongitudMatriz,"%d",longitudMatriz);
  22.     strcat(cadena,caracterLongitudMatriz);
  23.     strcat(cadena,";");
  24.  
  25.     sprintf(caracterLargoLista,"%d",largoLista);
  26.     strcat(cadena,caracterLargoLista);
  27.     strcat(cadena,";");
  28.  
  29.     sprintf(caracterSumaTotal,"%d",sumaTotal);
  30.     strcat(cadena,caracterSumaTotal);
  31.     strcat(cadena,";");
  32.  
  33.  
  34.     for(int i=0;i<largoLista;i++){
  35.  
  36.             char caracterN[100],caracterProb[100];
  37.  
  38.             //GUARDAMOS CADA DIGITO
  39.             //memset(caracterN,'\0',100);
  40.            // sprintf(caracterN,"%d",turnos[i]);
  41.             strcat(cadena,listaNombres[i].nombre);
  42.             strcat(cadena,"|");
  43.  
  44.             //GUARDAMOS CADA DIGITO
  45.             memset(caracterProb,'\0',100);
  46.             sprintf(caracterProb,"%.2f",listaNombres[i].cantidad);
  47.             strcat(cadena,caracterProb);
  48.             strcat(cadena,";");
  49.  
  50.            
  51.  
  52.         }
  53.         strcat(cadena,"F");
  54.         ptr_file =fopen("guardarArbol.txt", "w");
  55.  
  56.         if (!ptr_file){
  57.             printf("ERROR");
  58.         }
  59.             fprintf(ptr_file,"%s", cadena);
  60.  
  61.         fclose(ptr_file);
  62.        
  63.        
  64.  
  65. }
  66. void cargarArchivo(){
  67.             FILE *ptr_file;
  68.             char buf[1000];
  69.             char num[1000],num2[1000],num3[100];
  70.             memset(buf,'\0',1000);
  71.             memset(num,'\0',1000);
  72.             memset(num2,'\0',1000);
  73.             memset(num3,'\0',1000);
  74.             int i=0;      
  75.             ptr_file =fopen("guardarArbol.txt","r");
  76.             if (!ptr_file)
  77.                 printf("ERROR CARGANDO ARCHIVO");
  78.            
  79.  
  80.             while (fgets(buf,1000, ptr_file)!=NULL);
  81.             //Aqui agarramos largomatriz
  82.             while(buf[i] != ';'){
  83.                 num[i] = buf[i];
  84.                
  85.                 i++;
  86.  
  87.  
  88.  
  89.             }
  90.             num[i] = '\0';            
  91.             //Le asigno la probabilidad obtenida a ph
  92.  
  93.             longitudMatriz = atoi(num);
  94.             i++;
  95.             int m=0;
  96.             //Aqui agarramos el largoLista
  97.             while(buf[i] != ';'){
  98.                 num2[m] = buf[i];
  99.                 m++;
  100.                 i++;
  101.  
  102.  
  103.             }
  104.             num2[m] = '\0';
  105.  
  106.             //Le asigno la probabilidad obtenida a pr
  107.             largoLista = atoi(num2);
  108.             i++;
  109.  
  110.             int m2 = 0;
  111.             while(buf[i] != ';'){
  112.                 num3[m2] = buf[i];
  113.                 m2++;
  114.                 i++;
  115.  
  116.  
  117.             }
  118.             num3[m2] = '\0';
  119.  
  120.             sumaTotal = atof(num3);
  121.  
  122.             i++;
  123.             int n = 0;
  124.             //Aqui agarramos todos los nombres
  125.             while(buf[i] != 'F'){
  126.                 char nombreArchivo[32],probArchivo[32];
  127.                 memset(nombreArchivo,'\0',32);
  128.                 memset(probArchivo,'\0',32);
  129.                 int contNombre=0,contProb=0;
  130.                 //agarramos los datos de un año
  131.                 while(buf[i] != '|'){
  132.                     //agarramos cada nombre del item
  133.                     nombreArchivo[contNombre] = buf[i];
  134.                     i++;
  135.                     contNombre++;
  136.        
  137.                 }
  138.                 strcpy(listaNombres[n].nombre,nombreArchivo);
  139.                 i++;
  140.  
  141.                 while(buf[i] != ';'){
  142.                     //agarramos cada nombre del item
  143.                     probArchivo[contProb] = buf[i];
  144.                     i++;
  145.                     contProb++;
  146.        
  147.                 }
  148.                 listaNombres[n].cantidad = atof(probArchivo);
  149.                  
  150.                 n++;
  151.                 i++;
  152.             }
  153.            
  154.             fclose(ptr_file);
  155. }
Advertisement
Add Comment
Please, Sign In to add comment