Salve sto cercando si svolgere un esercizio da uno dei libri dei fratelli Deitel, il compito è di confrontare l'account di un cliente in due File, uno è il file principale chiamato "oldmast.dat" dove ci sono salvati il numero dell'account del cliente il nome e l'ammontare del debito. Mentre l'altro è il file delle transizioni chiamato "trans.dat", dove c'è sempre il numero dell'account del cliente e l'ammontare della transizione. Ora, se non ho capito male, dovrei andare a sommare i due valori float e stampare il tutto su un nuovo File chiamato "newmast.dat". Il problema è che non riesco a scorrere i File per continuare i confronti.
il codice è questo, spero possiate aiutarmi. Grazie in anticipo.
#include <stdio.h>
int main(){
int accOne, accTwo;
char name[ 30 ];
float balOne, balTwo;
FILE *oldPtr,*trPtr,*newPtr;
if( ( oldPtr = fopen( "oldmast.dat", "r" ) ) && ( trPtr = fopen( "trans.dat", "r" ) ) && ( newPtr = fopen( "newmast.dat", "w" ) ) == NULL ){
printf( "File could not opened\n" );
}
else{
do{
fscanf( oldPtr, "%d%s", &accOne, name );
do{
fscanf( trPtr, "%d", &accTwo );
if( accOne == accTwo ){
fscanf( oldPtr, "%f", &balOne );
fscanf( trPtr, "%f", &balTwo );
printf( "%d %s %.2f\n", accOne, name, balOne + balTwo );
fprintf( newPtr, "%d %s %.2f\n", accOne, name, balOne + balTwo );
}
}while( !feof( trPtr ) );
rewind( trPtr );
}while( !feof( oldPtr ) );
fclose( oldPtr );
fclose( trPtr );
fclose( newPtr );
}
return 0;
}