Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Convert the Java Program to C or SmallTalk or Ada code import java.util.Scanner;

ID: 3670401 • Letter: C

Question

Convert the Java Program to C or SmallTalk or Ada code

import java.util.Scanner;

import java.io.*;

public class studentType {

   

    final double TESTWEIGHT = 0.20, LABWEIGHT = 0.15, FINALWEIGHT = 0.30;

   

    private String name;

    private int test1, test2, lab, quiz, finalExam, total;

    private String grade;

    OutputStream output = null;

      

    public String getName() {

        return name;

    }

   

    public void setName(String name) {

        this.name = name;

    }

   

    public int getTest1() {

        return test1;

    }

   

    public void setTest1(int test1) {

        this.test1 = test1;

    }

   

    public int getTest2() {

        return test2;

    }

   

    public void setTest2(int test2) {

        this.test2 = test2;

    }

   

    public int getLab() {

        return lab;

    }

   

    public void setLab(int lab) {

        this.lab = lab;

    }

   

    public int getQuiz() {

        return quiz;

    }

   

    public void setQuiz(int quiz) {

        this.quiz = quiz;

    }

   

    public int getFinalExam() {

        return finalExam;

    }

public void setFinalExam(int finalExam) {

        this.finalExam = finalExam;

    }

   

    public void getTotal() {

        total = (int)((test1 + test2) * TESTWEIGHT + (lab + quiz) * LABWEIGHT + finalExam * FINALWEIGHT);

    }

    public void getGrade() {

        if (total >= 90)

            grade = " A ";

        else if (total >= 80)

            grade = " B ";

        else if (total >= 70)

            grade = " C ";

        else if (total >= 60)

            grade = " D ";

        else

            grade = " F ";

    }

   

     public String getStudentInfo(){

         String s = String.format("%-20s %-8d %-8d %-8d %-8d %-8d %-10d %-1s ", name,test1,test2,lab,quiz,finalExam,total,grade);

         return s;

    }

   

    public studentType(Scanner input) {

       name = input.next()+" "+input.next()+ " "+input.next();

       test1 = input.nextInt();

       test2 = input.nextInt();

       lab = input.nextInt();

       quiz= input.nextInt();

       finalExam = input.nextInt();

      getTotal();

      getGrade();

    }

  

    public studentType(String n, int t1, int t2, int t3, int t4, int t5) {

        name = n;

        test1 = t1;

        test2 = t2;

        lab = t3;

        quiz = t4;

        finalExam = t5;

        getTotal();

        getGrade();

   

    }

}

Codes for Testing Student Class:

import java.io.*;

import java.io.FileNotFoundException;

import java.io.PrintWriter;

import java.util.Scanner;

public class StudentGradeProcessing {

     static final int SIZE = 7;

    

    public static void main(String[] args) throws FileNotFoundException{

      studentType students[] = new studentType[SIZE];

        Scanner input = new Scanner(new File("student.txt"));

       

       

        for(int i = 0; i < SIZE; i++)

            students[i] = new studentType(input);

       

        input.close();

       

      

        PrintWriter output = new PrintWriter( new File("studentOut.txt"));

       

        System.out.printf("%-20s%-8s%-8s%-11s%-8s%-8s%-10s%-5s",

            "   NAME   ", "TEST1", "TEST2", "   LAB", "QUIZ", "FINAL",

            " TOTAL", "   GRADE ");

       

        output.write( String.format("%-20s%-8s%-8s%-11s%-8s%-8s%-10s%-5s ",

            "   NAME   ", "TEST1", "TEST2", "   LAB", "QUIZ", "FINAL", " TOTAL", "   GRADE"));

        for(studentType s: students){

            String out = s.getStudentInfo();

            output.write(" "+out);

            System.out.println(out);

        }

       

        output.close();

    }

}

Explanation / Answer

Code:

#include<stdio.h>
#include<stdlib.h>
#define SIZE 7
struct studentType
{
char name[27];
int test1, test2, lab, quiz, finalExam, total;
char grade;
};
typedef struct studentType student;
double TESTWEIGHT = 0.20, LABWEIGHT = 0.15, FINALWEIGHT = 0.30;
int getTotal(student s) {
int total;
total= ((s.test1 + s.test2) * TESTWEIGHT + (s.lab + s.quiz) * LABWEIGHT + s.finalExam * FINALWEIGHT);
return total;
}
char getGrade(student s) {
char grade;
if (s.total >= 90)
grade = 'A';
else if (s.total >= 80)
grade = 'B';
else if (s.total >= 70)
grade = 'C';
else if (s.total >= 60)
grade = 'D';
else
grade ='F';
return grade;
}
student readStudentType() {
student s;
   FILE *fp;
       fp = fopen("student.txt","r");
   fscanf(fp,"%s %d %d %d %d %d",&s.name,&s.test1,&s.test2,&s.lab,&s.quiz,&s.finalExam);

s.total=getTotal(s);
   s.grade=getGrade(s);

  
   return s;
}


int main()
{
student students[SIZE];

int i;
for( i = 0; i < SIZE; i++)
students[i] = readStudentType();

printf("%-20s%-8s%-8s%-11s%-8s%-8s%-10s%-5s"," NAME ", "TEST1", "TEST2", " LAB", "QUIZ", "FINAL"," TOTAL"," GRADE ");
FILE *fp;
fp=fopen("studentOut.txt","w");

fprintf(fp,"%-20s%-8s%-8s%-11s%-8s%-8s%-10s%-5s "," NAME ", "TEST1", "TEST2", " LAB", "QUIZ", "FINAL", " TOTAL", " GRADE");
    for(i=0;i<SIZE;i++)
   {
   printf("%-20s %-8d %-8d %-8d %-8d %-8d %-10d %-1c ",students[i].name,students[i].test1,students[i].test2,students[i].lab,students[i].quiz,students[i].finalExam,students[i].total,students[i].grade);
   fprintf(fp,"%-20s %-8d %-8d %-8d %-8d %-8d %-10d %-1c ",students[i].name,students[i].test1,students[i].test2,students[i].lab,students[i].quiz,students[i].finalExam,students[i].total,students[i].grade);
}

return 0;
}

inputfile: (student.txt)

aravind 12 34 56 78 90
vijay 1 2 3 5 78
kumar 45 78 33 44 77
aravind 12 34 56 78 90
vijay 1 2 3 5 78
kumar 45 78 33 44 77
aravind 12 34 56 78 90

outputFile(studentOut.txt):