CORRECT THIS C PROGRAM FOR ME PLEASE Suppose that at a parti

CORRECT THIS C PROGRAM FOR ME PLEASE.

Suppose that at a particular steel mill, steel bars are grouped into classes according to their yield tensile strength as shown in the following table (note that this is not a standard classification):

Class Tensile strength (MPa)

-------------------------------------------------

A 1000.0 <= strength

B 800.0 <= strength < 1000.0

C 600.0 <= strength < 800.0

D 400.0 <= strength < 600.0

E strength < 400.0

Write a program which reads a yield tensile strength from the file steelclassin.txt, calls the function class to determine the corresponding class and then the main program writes the strength and corresponding class to a file steelclassout.txt. This continues until the end of the input file is reached. Your output file should look like:

Tensile Strength    Class
----------------------------
649.4 C
827.3       B
989.7       B
453.6       D
278.3       E

THIS IS MY OUTPUT:

Tensile Strength    Class
----------------------------
827.3       B
989.7       B
453.6       D
278.3       E

IT won\'t print the first number and I don\'t know why.

Here\'s my code:

#include<stdio.h>

char class(float strength);

int main(void){
  
   float strength;
   char answer;
   FILE * fin = fopen(\"steelclassin.txt\", \"r\");
   FILE * fout = fopen(\"steelclassout.txt\", \"w\");
  
   fscanf(fin, \"%f\", &strength);
   fprintf(fout, \" Tensile Strength    Class\ \");
   fprintf(fout, \"----------------------------\ \");
  
   while(fscanf(fin, \"%f\", &strength)!=EOF){
      
       answer = class(strength);
       fprintf(fout, \"%.1f       %c\ \", strength, answer);
      
   }
  
   fclose(fin);
   fclose(fout);
   system(\"notepad.exe steelclassout.txt\");
   return 0;
}

char class(float strength){
  
   char answer;
  
   if(strength >= 1000.0){
      
       answer = \'A\';
      
   }else if(strength >= 800.0){
      
       answer = \'B\';
      
   }else if(strength >= 600.0){
      
       answer = \'C\';
      
   }else if(strength >= 400.0){
      
       answer = \'D\';
      
   }else{
      
       answer = \'E\';
   }
  
   return answer;
  
}

Solution


#include<stdio.h>
char class(float strength);
int main(void){
  
float strength;
char answer;
FILE * fin = fopen(\"steelclassin.txt\", \"r\");
FILE * fout = fopen(\"steelclassout.txt\", \"w\");
  
//
//fscanf(fin, \"%f\", &strength);
fprintf(fout, \" Tensile Strength Class\ \");
fprintf(fout, \"----------------------------\ \");
  
//We are reading values from the file.
while(fscanf(fin, \"%f\", &strength)!=EOF){
  
answer = class(strength);
fprintf(fout, \"%.1f %c\ \", strength, answer);
  
}
  
fclose(fin);
fclose(fout);
system(\"notepad.exe steelclassout.txt\");
return 0;
}
char class(float strength){
  
char answer;
  
if(strength >= 1000.0){
  
answer = \'A\';
  
}else if(strength >= 800.0){
  
answer = \'B\';
  
}else if(strength >= 600.0){
  
answer = \'C\';
  
}else if(strength >= 400.0){
  
answer = \'D\';
  
}else{
  
answer = \'E\';
}
  
return answer;
  
}

CORRECT THIS C PROGRAM FOR ME PLEASE. Suppose that at a particular steel mill, steel bars are grouped into classes according to their yield tensile strength as
CORRECT THIS C PROGRAM FOR ME PLEASE. Suppose that at a particular steel mill, steel bars are grouped into classes according to their yield tensile strength as
CORRECT THIS C PROGRAM FOR ME PLEASE. Suppose that at a particular steel mill, steel bars are grouped into classes according to their yield tensile strength as

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site