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 e risposte

Hai bisogno di aiuto?
Chiedi alla community