Advertisement
Guest User

prova...

a guest
May 20th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define FILE_PUNTI "hits.bin"
  5. #define FILE_RETTE "rette.bin"
  6.  
  7. typedef struct _dot
  8.   {
  9.     int x,y;
  10.   }dot;
  11.  
  12. typedef struct _retta
  13.   {
  14.     float a,b,c;
  15.   }retta;
  16.  
  17. typedef dot*   pdot;
  18. typedef retta* pretta;
  19. typedef FILE*  pfile;
  20.  
  21. int main (void)
  22.   {
  23.     int    i,n_r,n_d;
  24.     dot    d;
  25.     pretta p_r;
  26.     pfile  p_f2;
  27.    
  28.    
  29.     for(i=0;i<n_d;i++)
  30.       {
  31.         printf("%d° punto e' (%d,%d)\n",(i+1),p_d[i].x,p_d[i].y);
  32.       }
  33.    
  34.     if((p_f2=fopen(FILE_RETTE,"rb"))==NULL)            goto fopen_err;
  35.     if((fread(&n_r,sizeof(int),1,p_f2))!=1)            goto fread_err;
  36.     if((p_r=(pretta)malloc(sizeof(retta)*n_r))==NULL)  goto mem_err;
  37.     if((fread(p_r,sizeof(retta),n_r,p_f2))!=n_r)       goto fread_err;
  38.     fclose(p_f2);
  39.  
  40.     for(i=0;i<n_r;i++)
  41.       {
  42.         printf("La retta %d e': (%f)x+(%f)y+(%f)=0\n",(i+1),p_r[i].a,p_r[i].b,p_r[i].c);
  43.       }
  44.      
  45.     if((p_f2=fopen(FILE_PUNTI,"rb"))==NULL)            goto fopen_err;
  46.     if((fread(&n_d,sizeof(int),1,p_f2))!=1)            goto fread_err;
  47.  
  48.     fclose(p_f2);
  49.  
  50.     free(p_d);
  51.     free(p_r);
  52.     return EXIT_SUCCESS;
  53.  
  54.     fopen_err: printf("C'e'  un èproblema nell'apertura del file.\n");            return EXIT_FAILURE;
  55.     fread_err: printf("Il numero acquisito non coincide con quello inserito.\n"); return EXIT_FAILURE;
  56.     mem_err:   printf("Non c'e' abbastanza spazio in memoria.\n");                return EXIT_FAILURE;
  57.  
  58.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement