Untitled
unknown
c_cpp
a year ago
1.6 kB
7
Indexable
/*
Si consideri un file binario punti.bin che contiene le coordinate di una serie di lunghezza indefinita di punti
rappresentati con il seguente tipo strutturato
typedef struct {
int x, y;
} punto_t;
Scrivere un programma che apre il file punti.bin e calcola e visualizza le coordinate del vertice in basso a sinistra e
del vertice in alto a destra del rettangolo che racchiude tutti i punti salvati nel file. Gestire visualizzando un
messaggio a video i casi di errore di apertura del file o di file vuoto.
*/
// fread e fwrite
#include <stdio.h>
typedef struct {
int x, y;
} punto_t;
int main(int argc, char *argv[])
{
FILE *fp = fopen("punti.bin", "rb");
if(fp != NULL)
{
punto_t punto;
int min_x, min_y, max_x, max_y;
if(fread(&punto, sizeof(punto_t), 1, fp) == 1){
min_x = max_x = punto.x;
min_y = max_y = punto.y;
while(fread(&punto, sizeof(punto_t), 1, fp) == 1){
if(punto.x < min_x){
min_x = punto.x;
}
if(punto.x > max_x){
max_x=punto.x;
}
if(punto.y < min_y){
min_y = punto.y;
}
if(punto.y > max_y){
max_y = punto.y;
}
}
fclose(fp);
printf("Vertice in basso a sinistra: (%d, %d)\n", min_x, min_y);
printf("Vertice in alto a destra: (%d, %d)\n", max_x, max_y);
}else{
printf("Il file e vuoto\n");
fclose(fp);
}
}else{
printf("Errore paertura file");
}
return 0;
}Editor is loading...
Leave a Comment