Question

In: Computer Science

using c++. ALWAYS GRADE MY ANSWERS Write a program that reads students’ names followed by their...

using c++. ALWAYS GRADE MY ANSWERS

Write a program that reads students’ names followed by their test scores. The program should output each student’s name followed by the test scores and the relevant grade. It should also find and print the highest test score and the name of the students having the highest test score.

Student data should be stored in a struct variable of type studentType, which has four components: studentFName and studentLName of type string, testScore of type int (testScore is between 0 and 100), and grade of type char. Suppose that the class has 20 students. Use an array of 20 components of type studentType. Your program must contain at least the following functions:

  • A function to read the students’ data into the array.
  • A function to assign the relevant grade to each student.
  • A function to find the highest test score.
  • A function to print the names of the students having the highest test score.

Your program must output each student’s name in this form: last name followed by a comma, followed by a space, followed by the first name; the name must be left justified. Moreover, other than declaring the variables and opening the input and output files, the function main should only be a collection of function calls.

Your program should accept no input and save the output to Ch9_Ex2Out.txt.

HERE IS :Ch9_Ex2Data.txt

Duckey Donald 85
Goof Goofy 89
Brave Balto 93
Snow Smitn 93
Alice Wonderful 89
Samina Akthar 85
Simba Green 95
Donald Egger 90
Brown Deer 86
Johny Jackson 95
Greg Gupta 75
Samuel Happy 80
Danny Arora 80
Sleepy June 70
Amy Cheng 83
Shelly Malik 95
Chelsea Tomek 95
Angela Clodfelter 95
Allison Nields 95
Lance Norman 88

Solutions

Expert Solution

code:

#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
struct studentType {
string studentFName;
string studentLName;
int testScore;
char grade;
};
void getData(ifstream& inFile, studentType sList[], int listSize);
void calculateGrade(studentType sList[], int listSize);
int highestScore(const studentType sList[], int listSize);
void printResult(const studentType sList[], int listSize);
int main() {
ifstream in;
in.open("Ch9_Ex2Data.txt");
if(in.fail()){
cout<<"file did not open please check it\n";
system("pause");
system("exit");
}
studentType sList[20];
getData(in,sList,20);
calculateGrade(sList,20);
printResult(sList,20);
in.close();
return 0;
}

void getData(ifstream& inFile,studentType sList[],int listSize) {
int n=0;
while(n<listSize) {
inFile>>sList[n].studentLName>>sList[n].studentFName>>sList[n].testScore;
n++;
}
}
void calculateGrade(studentType sList[], int listSize) {
int i;
for(i=0;i<listSize;i++) {
if (sList[i].testScore<60)
sList[i].grade='F';
else if (sList[i].testScore<70)
sList[i].grade='D';
else if (sList[i].testScore<80)
sList[i].grade='C';
else if(sList[i].testScore<90)
sList[i].grade='B';
else
sList[i].grade='A';
}   
}
int highestScore(const studentType sList[], int listSize) {
int high=0,i;
for(i=0;i<listSize;i++)
if (high < sList[i].testScore )
high=sList[i].testScore;
return high;
}

void printResult(const studentType sList[], int listSize) {
ofstream myfile ("CH9_EX2Out.txt");
if (myfile.is_open()){
cout<<left<<setw(30)<<"Student Name"<<right<<setw(10)<<"TestScore"<<right<<setw(7)<<"Grade"<<endl;
myfile<<left<<setw(30)<<"Student Name"<<right<<setw(10)<<"TestScore"<<right<<setw(7)<<"Grade"<<endl;
string name;
int high,i;
for(i=0;i<listSize;i++) {
name=sList[i].studentLName+", "+sList[i].studentFName;
cout<<left<<setw(30)<<name<<right<<setw(10)<<sList[i].testScore<<right<<setw(7)<<sList[i].grade<<endl;
myfile<<left<<setw(30)<<name<<right<<setw(10)<<sList[i].testScore<<right<<setw(7)<<sList[i].grade<<endl;
}
cout<<endl;
high=highestScore(sList, listSize);
cout<<"Highest Test Score: "<<high<<endl;
myfile<<"Highest Test Score: "<<high<<endl;
cout<<"Students having the highest test score: "<<endl;
myfile<<"Students having the highest test score: "<<endl;
for (int i=0; i < listSize; i++)
if (sList[i].testScore==high ) {
myfile<<sList[i].studentLName<<", "<<sList[i].studentFName<<endl;
cout<<sList[i].studentLName<<", "<<sList[i].studentFName<<endl;
}
myfile.close();
cout << "Output also present in CH9_EX2Out.txt" << endl;
}
else {
cout << "Error Occurred, while creating file" << endl;
}
}

OUTPUT:


Related Solutions

C++ Description: You will write a program that reads students names followed by their final grade....
C++ Description: You will write a program that reads students names followed by their final grade. It will output the names and their grade, followed by the corresponding letter grade. It will also print the name of the students(s) with the highest grade Student data will be stored in a struct called studentType which has 4 members: fName lName score letterGrade Assume there are 20 students Your main() function will only have variable definitions and function calls You MUST have...
using c++. ALWAYS GRADE MY ANSWERS nstructions Write a program that prompts the user to input...
using c++. ALWAYS GRADE MY ANSWERS nstructions Write a program that prompts the user to input an integer and then outputs both the individual digits of the number and the sum of the digits. For example, it should output the individual digits of: 3456 as 3 4 5 6 8030 as 8 0 3 0 2345526 as 2 3 4 5 5 2 6 4000 as 4 0 0 0 -2345 as 2 3 4 5 #2 Instructions Write a...
Write a program that reads students’ names followed by their test scores. The program should output...
Write a program that reads students’ names followed by their test scores. The program should output each student’s name followed by the test scores and the relevant grade. It should also find and print the highest test score and the name of the students having the highest test score. Student data should be stored in a struct variable of type studentType, which has four components: studentFName and studentLName of type string, testScore of type int (testScore is between 0 and...
Write a C++ program that reads a students name followed by 7 numeric grades from a...
Write a C++ program that reads a students name followed by 7 numeric grades from a file.  Compute the average grade after dropping the  lowest grade.   Assign letter grades via this scale .Please show steps in the comments . A 90 – 100 B 80  --89 C 70 –79 D 60 -69 F 0  - 59 Input format: Sam 100 90 87 23 12 67 95 Mary 30 20 90 90 90 90 88 Mark 80 90 80 80 90 87 100 End of file...
using c++. i always grade my answers The variables x, y, z, rate, and hours referred...
using c++. i always grade my answers The variables x, y, z, rate, and hours referred to in the bullets below are the variables of the function main. Each of the functions described must have the appropriate parameters to access these variables. Write the following definitions: Write the definition of the function initialize that initializes x and y to 0 and z to the blank character. Write the definition of the function getHoursRate that prompts the user to input the...
C++ Write a program that reads in a list of 10 names as input from a...
C++ Write a program that reads in a list of 10 names as input from a user and places them in an array. The program will prompt for a name and return the number of times that name was entered in the list. The program should output total number of instances of that name and then prompt for another name until the word done is typed in. For this lab, use the string data type as opposed to char to...
C++ Write a program that reads candidate names and numbers of votes in from a file....
C++ Write a program that reads candidate names and numbers of votes in from a file. You may assume that each candidate has a single word first name and a single word last name (although you do not have to make this assumption). Your program should read the candidates and the number of votes received into one or more dynamically allocated arrays. In order to allocate the arrays you will need to know the number of records in the file....
PART A Write a C program that takes the names and surnames of the students and...
PART A Write a C program that takes the names and surnames of the students and then displays the initial and last name of the name on the screen. For instance, if Onur Uslu is entered as input, the output of our program must be O. Uslu. PART B Write a C program that asks the user to enter a string and then sends it to a function that does the following job and shows the response from the function...
Write a C/C++ program which reads in a list of process names and integer times from...
Write a C/C++ program which reads in a list of process names and integer times from stdin/cin and simulates round-robin CPU scheduling on the list. The input is a list of lines each consisting of a process name and an integer time, e.g. ProcessA 4 ProcessB 10 Read the list until end of transmission (^d). You should read the list and represent it in a linked list data structure. You should use the alarm system call to schedule a timer...
Write a C++ program that reads a file consisting of students’ test scores in the range...
Write a C++ program that reads a file consisting of students’ test scores in the range 0–200. It should then determine the number of students having scores in each of the following ranges: 0–24, 25–49, 50–74, 75–99, 100–124, 125–149, 150–174, and 175–200. Output the score ranges and the number of students. (Run your program with the following input data: 76, 89, 150, 135, 200, 76, 12, 100, 150, 28, 178, 189, 167, 200, 175, 150, 87, 99, 129, 149, 176,...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT