int main(void){
int number , reverse = 0 , digit , temp;
FILE *infile, *outfile;
int status;
//open the input file and check if an error occurred
infile = fopen( "numbers.txt" , "r" ); //open the input file
if(infile == NULL){
printf("Error: File \"numbers.txt\" not found!\n");
exit (1);
}
//open the output file and check if error occurred
outfile = fopen( "Report.txt" , "w" );
if(outfile == NULL){
printf("Error: File \"Report.txt\" can not be created!\n");
exit (1);
}
status = fscanf(infile , "%d" , &number) ;
//read first number from the file
while(status != EOF){
//To read all the numbers in the file
printf("%d is read from the file\n" , number);
fprintf(outfile , "%8d" , number);
//compute the reverse of the number
temp = number ;
reverse = 0 ;
while(temp != 0){
digit = temp % 10 ;
reverse = reverse * 10 + digit ;
temp = temp/10;
}
printf("The reverse is: %d \n", reverse);
fprintf(outfile , "%8d" , reverse);
//check whether the number is palindrome
if(number == reverse){
printf("%d is a palindrome number! \n\n", number);
fprintf(outfile , "\t Palindrome\n" );
}
else{
printf("%d is not a palindrome number! \n\n", number);
fprintf(outfile , "\t Non-Palindrome\n" );
}
//read another number from the file
status = fscanf(infile , "%d" , &number) ;
}
//close the files
fclose(infile);
fclose(outfile);
return 0;
}