Show the output of the program. Assume that the file txt contains the data shown above As the program contains nested while loop, determine how many times the following statements will be executed: Assume that the file txt contains the data shown above infile = fopen( "numbers.txt" , "r" ); ………………… time(s) printf("%d is read from the file\n" , number); ………………… time(s) digit = temp % 10 ; ………………… time(s) printf("%d is a palindrome number! \n\n", number); ………………… time(s) How many times does the program check the condition of the outer while loop, i.e., status != EOF ? Assume that the file txt contains the data shown above ………………… time(s) #include #include 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; } What is the benefit of the statement temp = number ; for the program? What will happen if we eliminate it and use the variable number instead of temp in the inner while loop? Hint: Run the program with this modification and check the result! What is the purpose of the statement reverse = 0; in the program? What will happen if we didn’t put it before the inner while loop?

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Question #1

The following program reads integer numbers from a file named numbers.txt. For each number, the program computes the reverse in order to check whether the number is a palindrome number or not. It then reports the results into a file named Report.txt (A palindrome is any number whose reverse is also same, e.g., 1221, 23432, 7 , 8 are palindromes, but 23489 is not).

Suppose the file numbers.txt contains the following numbers:

373

11

2552

5

3561

numbers.txt

Study the program carefully and answer the below questions;

Hint: you might run the program before starting answering the questions!

  1. Show the output of the program. Assume that the file txt contains the data shown above

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. As the program contains nested while loop, determine how many times the following statements will be executed: Assume that the file txt contains the data shown above
    • infile = fopen( "numbers.txt" , "r" );

………………… time(s)

  • printf("%d is read from the file\n" , number);

………………… time(s)

  • digit = temp % 10 ;

………………… time(s)

  • printf("%d is a palindrome number! \n\n", number);

………………… time(s)

 

  1. How many times does the program check the condition of the outer while loop, i.e., status != EOF ? Assume that the file txt contains the data shown above

 

………………… time(s)

 

 

 

#include <stdio.h>

#include<stdlib.h>

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;                               

}

 

 

 

 

  1. What is the benefit of the statement temp = number ; for the program? What will happen if we eliminate it and use the variable number instead of temp in the inner while loop?

Hint: Run the program with this modification and check the result!

 

 

 

 

 

 

 

 

  1. What is the purpose of the statement reverse = 0; in the program? What will happen if we didn’t put it before the inner while loop?

Hint: Run the program without this this statement and check the result!

 

 

 

 

 

 

 

 

 

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 2 images

Blurred answer
Knowledge Booster
File Input and Output Operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education