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

Convert to C# import java.io.*; import java.text.NumberFormat; // for number for

ID: 3739719 • Letter: C

Question

Convert to C#

import java.io.*;
import java.text.NumberFormat; // for number formatting

public class ClassAverageBR
{
public static void main(String[] args) throws IOException
{
//declare and initialize variables
int score;
int sumOfScoresByStudent = 0;
int sumOfAllScores = 0;
double classAverage;

BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));

String studentName;
String scoreStr;
String studentNameMessage = "Enter the name of the student:";
String numOfStudentStr = "Enter the number of students: ";
String numOfScoresStr = "Enter the number of scores to be entered per student: ";
String outputTable = "Names, scores, average scores, and letter grades: ";

NumberFormat numFormatter = NumberFormat.getNumberInstance();
numFormatter.setMinimumFractionDigits(1);
numFormatter.setMaximumFractionDigits(1);

//get input from user
System.out.println(numOfStudentStr);
int numOfStudents = Integer.parseInt(dataIn.readLine());
System.out.println(numOfScoresStr);
int numOfScores = Integer.parseInt(dataIn.readLine());

//declare arrays
int[][] scores = new int[numOfStudents][numOfScores];
String[] students = new String[numOfStudents];
double[] avgScores = new double[numOfStudents];
char[] letterGrades = new char[numOfStudents];

//get more user input, load arrays, and process data
for (int i = 0; i<numOfStudents; i++) // i loop is for students
{
System.out.println(studentNameMessage);
studentName = dataIn.readLine();

students[i] = studentName;

//add student to output string
outputTable += students[i] + " Scores: ";


for (int j = 0; j<numOfScores; j++) // j loop is for scores
{


System.out.println("Enter score " + (j + 1) + " for " + students[i] + ": ");

score = Integer.parseInt(dataIn.readLine());
scores[i][j] = score; // assign score to array
outputTable += scores[i][j] + " "; // add score to output

sumOfScoresByStudent += score; // accumulate for student
sumOfAllScores += score; // accumulate for all students
}// end j loop

avgScores[i] = (double) sumOfScoresByStudent / numOfScores;
letterGrades[i] = findGrade(avgScores[i]); // call findGrade method

// add average and grade to output
outputTable += "Avg: " + numFormatter.format(avgScores[i]) + " " + "Grade: " + letterGrades[i] + " ";

sumOfScoresByStudent = 0; // reset accumulator for a new student
}//end i loop

classAverage = (double) sumOfAllScores / (numOfStudents* numOfScores);

outputTable += " Overall class average =" + numFormatter.format(classAverage);

// display output
System.out.println(outputTable);
}// end main

// method for finding letter grade
public static char findGrade(double averageScore)
{
char theGrade;

if (averageScore >= 90)
theGrade = 'A';
else if (averageScore >= 80)
theGrade = 'B';
else if (averageScore >= 70)
theGrade = 'C';
else if (averageScore >= 60)
theGrade = 'D';
else
theGrade = 'F';
return theGrade;
}// end findGrade
}// end class

Explanation / Answer

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassAverageBR
{
class ClassAverageBR
{
static void Main(string[] args)
{
//declare and initialize variables
int score;
int sumOfScoresByStudent = 0;
int sumOfAllScores = 0;
double classAverage;

  

string studentName;
string scoreStr;
string studentNameMessage = "Enter the name of the student:";
string numOfStudentStr = "Enter the number of students: ";
string numOfScoresStr = "Enter the number of scores to be entered per student: ";
string outputTable = "Names, scores, average scores, and letter grades: ";

// NumberFormat numFormatter = NumberFormat.getNumberInstance();
// numFormatter.setMinimumFractionDigits(1);
// numFormatter.setMaximumFractionDigits(1);

//get input from user
Console.WriteLine (numOfStudentStr);
int numOfStudents = Convert.ToInt32(Console.ReadLine ());
Console.WriteLine (numOfScoresStr);
int numOfScores = Convert.ToInt32(Console.ReadLine());

//declare arrays
int[,] scores = new int[numOfStudents,numOfScores];
string[] students = new String[numOfStudents];
double[] avgScores = new double[numOfStudents];
char[] letterGrades = new char[numOfStudents];

//get more user input, load arrays, and process data
for (int i = 0; i < numOfStudents; i++) // i loop is for students
{
Console.WriteLine (studentNameMessage);
studentName = Console.ReadLine() ;

students[i] = studentName;

//add student to output string
outputTable += students[i] + " Scores: ";


for (int j = 0; j < numOfScores; j++) // j loop is for scores
{


Console.WriteLine ("Enter score " + (j + 1) + " for " + students[i] + ": ");

score = Convert.ToInt32(Console.ReadLine() ) ;
scores[i,j] = score; // assign score to array
outputTable += scores[i,j] + " "; // add score to output

sumOfScoresByStudent += score; // accumulate for student
sumOfAllScores += score; // accumulate for all students
}// end j loop

avgScores[i] = (double)sumOfScoresByStudent / numOfScores;
letterGrades[i] = findGrade(avgScores[i]); // call findGrade method

// add average and grade to output
outputTable += "Avg: " + String.Format("{1:n}",avgScores[i]) + " " + "Grade: " + letterGrades[i] + " ";

sumOfScoresByStudent = 0; // reset accumulator for a new student
}//end i loop

classAverage = (double)sumOfAllScores / (numOfStudents * numOfScores);

outputTable += " Overall class average =" + String.Format("{1:n}", classAverage);

// display output
Console.WriteLine (outputTable);
}// end main

// method for finding letter grade
public static char findGrade(double averageScore)
{
char theGrade;

if (averageScore >= 90)
theGrade = 'A';
else if (averageScore >= 80)
theGrade = 'B';
else if (averageScore >= 70)
theGrade = 'C';
else if (averageScore >= 60)
theGrade = 'D';
else
theGrade = 'F';
return theGrade;
}
}
}