Concetti Chiave

  • Il file binario "interi.dat" viene creato per memorizzare una sequenza di numeri interi positivi.
  • Ogni numero nel file, eccetto il primo, viene incrementato della somma di tutti i numeri precedenti.
  • La creazione del file avviene tramite input dell'utente che specifica quanti numeri interi desidera inserire.
  • Il file viene aperto in modalità lettura/scrittura binaria per effettuare le modifiche sui numeri.
  • Una volta modificato, il file "interi.dat" viene stampato per verificare che i numeri siano stati aggiornati correttamente.

Indice

  1. Creazione del file binario
  2. Stampa del file modificato

Creazione del file binario

Dato (lo devi creare tu) il file binario di interi positivi "interi.dat", modificarlo nel seguente modo: ogni elemento, ad eccezione del primo, deve essere incrementato di un valore pari alla somma di tutti gli elementi precedenti.

Esempio:

File "interi.dat" prima: 1 4 4 9 6 9 19

File "interi.dat" modificato: 1 5 9 18 24 33 52
#include

#include

int main()

{

FILE *fpInteri;

int num;

int totNumeri;

int i;

fpInteri=fopen("interi.dat","wb");

if(fpInteri == NULL)

{

printf("Errore nella creazione del file di output");

getchar();

exit(1);

}

do

{

printf("Quanti numeri vuoi inserire?\n");

scanf("%d",&totNumeri);

fflush(stdin);

}while(totNumeri

for(i=0; i

{

printf("Digita un numero\n");

scanf("%d",&num);

fflush(stdin);

fwrite(&num,sizeof(int),1,fpInteri);

}

fclose(fpInteri);

getchar();

return 0;

}

#include

#include

int main()

{

FILE * fpInteri;

int num;

int somma=0;

fpInteri=fopen("interi.dat","r+b");

if(fpInteri == NULL)

{

printf("Errore nell'apertura del file di ingresso\n");

getchar();

exit(1);

}

fread(&num,sizeof(int),1,fpInteri);

while(!feof(fpInteri))

{

somma+=num;

fseek(fpInteri,-1L*sizeof(int),SEEK_CUR);

fwrite(&somma,sizeof(int),1,fpInteri);

fseek(fpInteri,0L,SEEK_CUR);

fread(&num,sizeof(int),1,fpInteri);

}

Stampa del file modificato

fclose(fpInteri);

//stampa file per test

fpInteri=fopen("interi.dat","rb");

while(fread(&num,sizeof(int),1,fpInteri))

{

printf("%d\n",num);

}

fclose(fpInteri);

getchar();

return 0;

}

Domande da interrogazione

  1. Come si crea un file binario di interi positivi e come si modifica il suo contenuto?
  2. Il file binario "interi.dat" viene creato inserendo un numero specificato di interi positivi. Successivamente, ogni elemento, eccetto il primo, viene incrementato della somma di tutti gli elementi precedenti.

  3. Qual è il processo per modificare i valori nel file binario "interi.dat"?
  4. Dopo aver aperto il file in modalità lettura/scrittura binaria, si legge il primo numero e si calcola la somma progressiva. Ogni numero successivo viene aggiornato con la somma degli elementi precedenti, e il file viene riscritto con questi nuovi valori.

  5. Come si verifica il contenuto del file binario modificato?
  6. Dopo aver chiuso il file modificato, lo si riapre in modalità lettura binaria. Si leggono e si stampano i numeri per verificare che siano stati correttamente aggiornati secondo le modifiche previste.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community