1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Genrish500 [490]
3 years ago
10

Write a program that reads the student information from a tab separated values (tsv) file. The program then creates a text file

that records the course grades of the students. Each row of the tsv file contains the Last Name, First Name, Midterm1 score, Midterm2 score, and the Final score of a student. A sample of the student information is provided in StudentInfo.tsv. Assume the number of students is at least 1 and at most 20.
The program performs the following tasks:
Read the file name of the tsv file from the user.
Open the tsv file and read the student information.
Compute the average exam score of each student.
Assign a letter grade to each student based on the average exam score in the following scale:
A: 90= B: 80=< X < 90
C: 70=< X < 80
D: 60=< X < 70
E: X < 60
Compute the average of each exam.
• Output the last names, first names, exam scores, and letter grades of the students into a text file named report.txt.
• Output one student per row and separate the values with a tab character.
• Output the average of each exam, with two digits after the decimal point at the end of report.txt. Hint: Use the setprecision manipulator to format the output.
Ex: If the input of the program is:
StudentInfo.tsv
and the contents of Studentinfo tsv are:
Barrett Edan 70 45 59
Bradshaw Reagan 96 97 88
Charlton Caius 73 94 80
Mayo Tyrese 88 61 36
Stern Brenda 90 86 45
the file report.txt should contain:
Barrett Edan 70 45 59 F
Bradshaw Reagan 96 97 88 A
Charlton Caius 73 94 80 B
Mayo Tyrese 88 61 36 D
Stern Brenda 90 86 45 C
Averages: midtermi 83.40, midterm2 76.60, final 61.60
Computers and Technology
1 answer:
kvasek [131]3 years ago
3 0
#include
#include
#include
#include
#include
#include


using namespace std;

// Class student required to store the data
class Student{
public:
string lname;
string fname;
int marks[3];
char grade;

// Function which generates the grade for student
void calculate_grade(){
double sum = 0;
for(int i=0;i<3;i++){
sum+= marks[i];
}
double average = sum/3;
if(average>=90 && average<100)
this->grade = 'A';
else if(average>=80)
this->grade = 'B';
else if(average>=70)
this->grade = 'C';
else if(average>=60)
this->grade= 'D';
else this->grade = 'F';
}
};

// This function reads the file , and creates a vector of Students data
vector read_file(string fileName){

// Opening the file
fstream fin;
fin.open(fileName);


// Temp variables
vector list;
vector row ;
string line, word, temp;

// Read the data into vector
while(getline(fin,line)){
row.clear();
stringstream s(line);

while(getline(s,word,'\t')){

row.push_back(word);

}
Student st;
st.fname = row[0];
st.lname = row[1];
st.marks[0] = stoi(row[2]);
st.marks[1] = stoi(row[3]);
st.marks[2] = stoi(row[4]);
st.calculate_grade();
list.push_back(st);
}
fin.close();
return list;
}

// This function takes filname to be output as input, and list of student
void writeFile(string filename, vector list){

// Opening the new file
ofstream fin(filename);
for(int i=0;i string line = list[i].fname+"\t"+list[i].lname+"\t"+to_string(list[i].marks[0])+"\t"
+to_string(list[i].marks[1])+"\t"+to_string(list[i].marks[2])+"\t"+list[i].grade+"\n";
fin<
}


// Find the stats required
double average1 =0,average2 =0 ,average3 = 0;
for(int i=0;i average1+=list[i].marks[0];
average2+=list[i].marks[1];
average3+=list[i].marks[2];
}
average1/=list.size();
average2/=list.size();
average3/=list.size();

// Writting the stats
fin<<"\n"<<"Average: "<<"mid_term1 "<
// Closing the file
fin.close();
}
int main(){

// Taking the input
cout<<"Enter the filename: ";
string filename;
cin>>filename;
vector list;

// Reading and Writting to the file
list = read_file(filename);
writeFile("report.txt",list);


}
You might be interested in
Which step of creating a financial budget involves listing the payroll, rental, and utility costs?
Bingel [31]

Answer:

A. planning and gathering financial information

4 0
4 years ago
Read 2 more answers
write a Program which displays at least 5 different sentences that explain how technology has been used to win souls to Christ.
creativ13 [48]

Answer:

<em>#include <iostream></em>

<em>using namespace std;</em>

<em>int main()</em>

<em>{</em>

<em>cout<<"Technology Has been Used to Win Souls to Christ through Some of these means"<<endl;</em>

<em>cout<<" "<<endl;</em>

<em>cout<<"1.\t Through Ministry and Church Websites"<<endl;</em>

<em>cout<<" "<<endl;</em>

<em>cout<<"2.\t Through Internet Media on the Web (Podcasts, simulcasts etc) for gospel streaming"<<endl;</em>

<em>cout<<" "<<endl;</em>

<em>cout<<"3.\t Keeping in touch or follow-up of new converts through social media platforms"<<endl;</em>

<em>cout<<" "<<endl;</em>

<em>cout<<"4.\t Receiving Monetary seed donations online from members accross the world (Paypal, Western Union etc)"<<endl;</em>

<em>cout<<" "<<endl;</em>

<em>cout<<"5.\t Through keeping up to date Membership records and church attendance data Analysis"<<endl;</em>

<em>cout<<" "<<endl;</em>

<em>    return 0;</em>

<em>}</em>

Explanation:

The following program in C++ prints out five sentences using multiple cout statements outlining how technology has been used to win souls to Christ Jesus

5 0
3 years ago
On a network, a(n) ________ helps prevent data packets from colliding with each other.
KATRIN_1 [288]
On a network, a(n) Switches helps prevents data packets from colliding with each other.
4 0
3 years ago
What happens if two functions are defined with the same name, even if they are in different arguments within the same .py files?
yan [13]

Answer:

Following are the code to this question:

def data(a):#defining method data that accepts parameter

   print (a)#print parameter value

def data(b):#defining method data that accepts parameter

   print (b)#print parameter value

x=input("enter value: ")#defining variable x that5 input value from user

print(data(x))#call method data

Output:

enter value: hello..

hello..

None

Explanation:

  • As the above code, it is clear defines that python doesn't support the method overloading because More than one method can't be specified in a python class with the same name and python method arguments have no type.
  • The single argument method may be named using an integer, a series, or a double value, that's why we can say that it is not allowed.
7 0
3 years ago
Which of the following may present a problem for Linux users?
motikmotik
Tendancy to crash hope that helped
6 0
4 years ago
Read 2 more answers
Other questions:
  • A financial consulting firm recently recovered from some damaging incidents that were associated with malware installed via root
    6·1 answer
  • The ? Tool removes blemishes and imperfections by sampling pixels around the spot and then paints withh matching texture, transp
    10·1 answer
  • Plz help! 3 questions! 1.The ideal light to use is.... A.front light B.a combination of side and back light C.a combination of f
    10·1 answer
  • What Are some examples of options you can use for bullets? Check all that apply
    14·1 answer
  • This type of handout prints only the text of the presentation.
    7·1 answer
  • . Use of communications and information systems that are familiar to users is a part of which key principle? A. Security
    14·2 answers
  • Write code that will copy the contents of the file into an array. You can assume that the file will only have 5 data values
    11·1 answer
  • Ergonomics implications of computer​
    12·1 answer
  • Levi wants to run 5 commands sequentially, but does not want to create a shell script. He knows that each command is going to ta
    5·1 answer
  • List four safety factors that must be considered when building mine shaft headgear model
    8·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!