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

Answers

Answer 1
#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);


}

Related Questions

Buddys machine shop has a kiosk computer located in the lobby for customers to use. The kiosk computer has recently been updated to Windows 10 from Windows 7 and is not part of a domain. The local computer policy created for Windows 7 has been applied to Windows 10. This policy severely restricts the use of the computer, so that customers can only use the web browser.
Occasionally, an administrator needs to sign in to the kiosk computer to perform maintenance and update software. However, this is awkward because the administrator needs to disable settings in local policy be performing any task. Then, when the tasks are complete, the administrator needs to re-enable the settings in the local policy. Explain how this system can be improved upon.

Answers

If your PC's are in an Active Directory domain, you can leverage Active Directory Group Policies to deploy the appropriate settings. Be sure to include the below settings in your Group Policy for the user accounts and workstations that will be running as a Kiosk. After creating this Group Policy, you can test by running gpupdate /force and then restarting the PC.

User Configuration
Administrative Templates
Start Menu and Taskbar
Change Start Menu power button (enabled) - set to "Lock" (I know this sounds weird, but Windows 7 won't completely disable Logoff if the Start Menu power button is defaulting to the Logoff action).
Remove Logoff on the Start Menu (enabled)
Remove and prevent access to the Shut Down, Restart, Sleep and Hibernate commands (enabled)
System
Ctrl+Alt+Del Options
Remove Lock Computer (enabled)
Remove Logoff (enabled)
Computer Configuration
Administrative Templates
System
Logon
Hide entry points for Fast User Switching (enabled)
For Windows PCs not in a Domain Environment

If your PC's are not in an Active Directory domain, then you'll need to make the below changes manually at each Kiosk PC. Note that you may be able to automate the changes via the use of operating system imaging tools and local mandatory user profiles - leave a comment below if you have interest in those steps.

Login at each Kiosk PC using a user account that will ultimately be used to run the Kiosk desktop applications.
Launch the Windows Registry Editor (REGEDIT.EXE) and make the following changes to the registry (note that you may need to temporarily grant local Administrative access to your Kiosk user account to do this if it is already in a very locked down state)
HKEY_CURRENT_USER
SOFTWARE
Microsoft
Windows
CurrentVersion
Policies
Explorer

What unit on a digital camera gives added illusions

Answers

Vfx used for visual effects in the creation on any screen.. imagery that does not physically exist in life. Vfx also allow makers of films to create environments, objects, creature,ect..

A hybrid data mart ________ data from a data warehouse as well as other data collection systems. It incorporates a top-down approach, end-user inputs, and enterprise-level integration. g

Answers

Answer:

Hybrid Data Marts

A hybrid data mart allows you to combine input from sources other than a data warehouse. This could be useful for many situations, especially when you need ad hoc integration, such as after a new group or product is added to the organization.

We can use a hybrid data mart to mix data from sources other than a data warehouse, and the further discussion can be defined as follows:

Hybrid Data Marts:

It could be useful in a variety of scenarios, particularly when informal integration is required, like when a new group or product is added to the organization.

We can use a hybrid data mart to combine data from various sources other than a data warehouse. It's a structure or access pattern that retrieves client-specific data in data warehouse environments. This data mart is a subset of a data warehouse that is typically focused on a particular business line or functional area.

Therefore, the final answer is "separates".

Find out more about the Hybrid Data Marts here:

brainly.com/question/13989635

smart art is considered a​

Answers

Explanation:

visual representation of information and ideas, and a chart is a visual illustration of numeric values or data. Basically, SmartArt graphics are designed for text and charts are designed for numbers. Use the information below to decide when to use a SmartArt graphic and when to use a chart.

Which of the following Access objects provides a user-friendly data entry method?
Select one:
a. query
b. table
c. form
d. report

Answers

Answer:

Table

Explanation:

Microsoft Access uses an object called a _____ to enter and organize data.

The answer is table.

The program allows the user to type in any linux command and then executes that command, such as "pwd" or "echo". The problem is that it should allow multiple commands to be typed in and executed at the same time, but it only allows one at a time currently. Please help fix it so it allows multiple commands to be typed and executed.
Code:
#include
#include
#include
#include
#include
#include
void parse(char *line, char **argv)
{
while (*line != '\0') { /* if not the end of line ....... */
while (*line == ' ' || *line == '\t' || *line == '\n')
*line++ = '\0'; /* replace white spaces with 0 */
*argv++ = line; /* save the argument position */
while (*line != '\0' && *line != ' ' &&
*line != '\t' && *line != '\n')
line++; /* skip the argument until ... */
}
*argv = '\0'; /* mark the end of argument list */
}
void execute(char **argv)
{
pid_t pid;
int status;
if ((pid = fork()) < 0) { /* fork a child process */
printf("*** ERROR: forking child process failed\n");
exit(1);
}
else if (pid == 0) { /* for the child process: */
if (execvp(*argv, argv) < 0) { /* execute the command */
printf("*** ERROR: exec failed\n");
exit(1);
}
}
else { /* for the parent: */
while (wait(&status) != pid) /* wait for completion */
;
}
}
void main(void)
{
char line[1024]; /* the input line */
char *argv[64]; /* the command line argument */
while (1) { /* repeat until done .... */
printf("Enter Shell Command -> "); /* display a prompt */
fgets(line, 1024, stdin); /* read in the command line */
printf("\n");
parse(line, argv); /* parse the line */
if (strcmp(argv[0], "exit") == 0) /* is it an "exit"? */
exit(0); /* exit if it is */
execute(argv); /* otherwise, execute the command */
}
}
This function receives a commend line argument list with the */ /* the first argument being cd and the next argument being the */ /* directory to change.

Answers

Where is the question

BEBE
What options does the Table Tools Layout contextual tab contain? Select three options.
O modify text direction
change font
insert rows and columns
O add border and shading
O split table

Answers

Answer:

Modify text direction.change font, and insert row and coulumns

Explanation:

Answer:

What options does the Table Tools Layout contextual tab contain? Select three options.

modify text direction

insert rows and columns

split table

Explanation:

RAM or RIM is correct?

Answers

RAM is the correct answer

in excel If you have a lengthy text, adding a __________ can change the cell’s format to ________. *

Answers

Based on Microsoft Excel analysis, in excel If you have a lengthy text, adding a Wrap Text can change the cell’s format to high height.

What is Microsoft Excel?

Microsoft Excel is one of the software applications in Microsoft Office. It has cells of rows and columns in which users can easily put facts and figures to carry out tasks.

The function of Wrap Text

Wrap Text is applied in Microsoft Excel to show the cell contents on many lines instead of a single long line.

Hence, in this case, it is concluded that the correct answer is "Wrap Text and High Height."

Learn more about Microsoft Excel here: https://brainly.com/question/24749457

I wake up the computer and remind it what to do ​

Answers

Answer:

what's the question or answer you want or is it a joke?

Explanation:

A company Digicom Parts manufactures 2 types of unique products for laptop and desktop computers. It manufactures 10 types of laptop products and 42 types of desktop products. Each product manufactured by the company has a unique productID from a-z and A-Z. The laptop product have productID (a, i, e, o, u, ALE, O, U) while the rest of the productIDs are assigned to the desktop products. The company manager wishes to find the sales data for the desktop products. Given a list of productIDs of the sales of the last N products, write an algorithm to help the manager find the productIDs of the desktop products.

Answers

Algorithms are used as a prototype of an actual program, during project design.

The algorithm the manager can use to find the productID of the desktop products is as follows:

Start

i = 0

if i > N, then Exit:

  Input productID:

       If productID.upper() == 'A' or 'I' or 'E' or 'O' or 'U':

                 Process data as desktop products

  i++

Go to step 2

Stop

Note that algorithms do not conform to programming syntax.

Read more about algorithms at:

https://brainly.com/question/24793921

Add comma(s) where needed, if needed.


My birthday October 31 2005 is on Halloween.


My birthday October 31 2005 is on Halloween. (no change)


My birthday October 31, 2005, is on Halloween.


My birthday October 31, 2005 is on Halloween.


My birthday, October 31, 2005, is on Halloween.

Answers

Answer:

My birthday, October 31, 2005, is on Halloween.

Explanation:

The correct option with commas is "My birthday, October 31, 2005, is on Halloween."

Why is this correct?

The revised sentence "My birthday, October 31, 2005, is on Halloween." correctly uses commas to separate the date from the year and to set off the date as an appositive.

This improves clarity and follows proper punctuation rules.

Hence,. The correct option with commas is "My birthday, October 31, 2005, is on Halloween."

Read more about commas here:

https://brainly.com/question/2142088

#SPJ2

You enter a hardware store where you have an account, pick up a pair of $5.00 pliers, and wave them at the manager as you leave the store. This would be an example of a(n):

Answers

Shoplifting! Did he pay for those?!?!

The given situation is an example of shoplifting.

What is hardware?

All the mechanical components made of simply plastic or metal used in houses or industries are termed as hardware.

You enter a hardware store where you have an account, pick up a pair of $5.00 pliers, and wave them at the manager as you leave the store.

This gives an idea of the shoplifting, as he hold the account with them. He doesn't need to pay every time he buys anything.

This, this would be an example of shoplifting.

Learn more about hardware.

https://brainly.com/question/15232088

#SPJ2

When a derived class method has the same name as a base class method, it is often said that the derived class method ________ the base class method.

Answers

Answer:

will be

Explanation:

I'm not quite sure but I think that this is the answer for your question

What type of databases is not limited by the data’s physical location?

Answers

A distributed database is not limited by the data's physical location.

Filtering is a function of _____.

Answers

The answer is: switches.

Explanation:

Filtering is a function of switches.

in which country was Abacus build
if ur smart don't searh​

Answers

Answer:

Abacus many be built first in China

Explanation:

I know Abacus ^o^

Answer:

Hewo There!!!!

__________________

China- i thinkkk maybe?

__________________

“Hold fast to dreams,

For if dreams die

Life is a broken-winged bird,

That cannot fly.”

― Langston Hughes

__________________

Think of life as a mytery because well it sort of is! You don't know what may happen may be good or bad but be a little curious and get ready for whatever comes your way!! ~Ashlynn

Read two numbers from user input. Then, print the sum of those numbers.
Hint -- Copy/paste the following code, then just type code where the question marks are to finish the code.
num1 = int(input())
num2 = ?
print(num1 + ?)

Answers

Answer:

First ? - int(input())

Second ? - num2

Explanation:

This works because we are just mimicing the first input in your first variable.

The second one is adding them together.

Don't remember to give me brainliest :)

What type of control system has the ability to measure the controlled variable and the system output and dynamically adjust the setpoint to achieve more precise control

Answers

Proportional integral derivative (PID) control can measure the controlled variable and the system output and dynamically adjust the setpoint to achieve more precise control. It is an algorithm used in the industry.

An algorithm can be defined as a well-established list of rules/steps to follow to solve a given problem.

Proportional integral derivative (PID) control is the most widely used algorithm used in industry.

This type of control (PID) has different coefficients, i.e., proportional, integral and derivative coefficients, which vary in order to obtain an optimal response.

Learn more about proportional integral derivative control here:

https://brainly.com/question/20164864

what is the full form of computer​

Answers

Answer:

Common Operating Machine Purposely Used for Technological and Educational Research

Explanation:

"A computer is a general-purpose electrical device that is used to do arithmetic and logical processes automatically," according to some.

_____ are extremely _____ data structure’s, used all the time, and there are so many _____ that can handle them to do useful things.
A _____ can be thought of as an array of arrays
•versatile
•functions
•arrays
•matrix

Answers

Answer:

arrays are extremely versatile  data structure’s, used all the time, and there are so many functions that can handle them to do useful things.

A matrix can be thought of as an array of arrays

Answer:

Arrays are extremely versatile data structure's, used all the time, and there are so many functions that can handle them to do useful things.

A matrix can be thought of as an array of arrays.

Happy Holidays

Explanation:

Brainliest if correct. 3. You are researching ways to boost employee morale for a proposal. How can you
avoid copyright issues when you find materials from outside sources? (1 point)

Answers

To avoid copyright you can give credit to the original author. For example if I copy information that said “all humans are meant to be extinct by 2073” from notarealwebsite.com I shout credit them for this.

displaying advertisements specific or users internet based on their buy preference is called ._________.​

Answers

Targeted advertising       hope it helps

What does it mean "Be Proactive"?

Answers

Answer:controlling a situation by making things happen or by preparing for possible future problems

Explanation:

Make things happen instead of waiting for them

Match the vocabulary to the appropriate definition.
•Organizes data to allow it to be easily retrieved
and read
•Extremely versatile data structures
•Pulling related code together in objects
•Helps programmers when they revisit code or
are new to the code
•Storing code in a centralized servers
*Arrays
*Data Structures
*Hierarchies
*Repository
*Documentation

Answers

Answer:

Pulling related code together in objects is Arrays

Helps programmers when they revisit code or are new to code-- Documentation

Explanation:

This is all I know

Good documentation Helps programmers when they revisit code or are new to the code.

What is good documentation?

Good Documentation is known to be the guidelines that helps one or allows one to follows the steps for  recording raw data entries in a legible, right and reproducible way.

Note that Good documentation Helps programmers when they revisit code or are new to the code.

Learn more about code from

https://brainly.com/question/4514135

#SPJ1

Which of the following is an example of power redundancy?
UPS
Backup server
RAID
Fault tolerance

Answers

The correct answer is UPS

What is property in educational technology

Answers

1. It is based on scientific and technological advancements.
2. It is more a practical discipline and less a theoretical one.
3. It is a fast growing modern discipline.
4. It makes use of the research findings of psychology, sociology, engineering, sciences and social psychology etc., and applies the same to the field of education.
5. It brings pupils, teachers and technical means together in an effective way.
6. It is the science of techniques and methods. It locates the problems in the field of education, remedies them and ultimately aims at improving the education system.
7. It is bound to improve the teacher, the learner and the teaching learning process.

Which of the following will you do in step X in the following series of clicks to change the bounds of
a chart axis: Chart > Chart Tools > Format tab > Current Selection> Format Selection > Format Axis
> Axis Options > Vertical Axis crosses > At Category number > X?
O Expand Labels, then under Interval between labels, select Specify interval unit and type the
number you want in the text box.
O Expand Tick Marks, and then in the Interval between tick marks box, and type the number that
you want
N
Type the number that you want in the text box.
O Expand Tick Marks, and then select the options that you want in the Major type and Minor type
boxes.

Answers

In order to change the bounds of  a chart axis after performing the aforementioned series of clicks, at step X: C. Type the number that you want in the text box.

A step chart can be defined as a line chart that uses both the vertical and horizontal lines to connect two (2) data points. Thus, it enables an end user to see the exact point on the X-axis when there is a change in the Y-axis.

In Microsoft Excel, the series of clicks that are used to change the bounds of  a chart axis are:

Click on chart.Select chart tools and then format tab.Select the current selection and then format selection.Click on format axis and then axis options.Click on vertical axis crosses.At category number, you should type the number that you want in the text box.

In conclusion, typing the number that you want in the text box is the action that should be performed at step X.

Read more on step chart here: https://brainly.com/question/9737411

In Python which is the correct method to load a module math?

Answers

Answer: The math module is a standard module in Python and is always available. To use mathematical functions under this module, you have to import the module using import math .

Explanation:

write down the application areas of an ICT?​

Answers

Answer:

These are internet, telephone, mobile phone, TV, radio and office automation systems such as word-processing, fax, audio conferencing, video conferencing, computer conferencing, multimedia, etc, through the use of networks of satellite and fiber optics..

Explanation:

hope its help

Other Questions
find the mean of 100 In what language is Quran written? a ______ is a line that is perpendicular to a line segment and intersects the line segment at its midpoint? Mara is playing a game. There are two marbles in a bag. Ifshe chooses the purple marble, she will win $10. If she chooses the orange marble, she will win $200. What is the expected value of Mara's winnings from the game? What term best describes the graph of y=-15 Match the verbal phrase on the left with the corresponding equation on the right. Write the letter of the answer on the space provided1.c increased by 5 is 5 2.4 more than a number is 12 3. The product of 4 and n is 12 4. The difference of 27 and k is 15 5.8 less than 3 times x is 10 6. 3 times x increased by 8 is 20 7. a number minus 8 is 3 8. three times a number is 9 9. twice a number plus 1 is 11 10.6 less than a number is 5a. 27-k=15 b. n + 4 = 12 d. 3x+8 = 20 e. k-8=3 f. 3x-8=10 g. 2x + 1 = 11 h. c + 5 = 15 i. 4n = 12 c. c-6=15 j. 3n = 9 Which pair of traits is most likely to be inherited together?A. purple eye and brown eye because they are both eye traitsB. aristaless and speck body because they have the greatest chance of crossing overOC. curved wing and arc (bent wings) because they have the least chance of crossing-overD. black body and light eye because they are closest together on chromosome 2 Im doing this till 3:30 What are the steps for adding a Watch Window?Select the cell to watch Which equation represents the photosynthesis process?aCO2 + Glucose ----> H2O + Sunlight + O2bCO2 + H2O + Sunlight ----> Glucose + O2cCO2 + H2O ----> Glucose + O2dGlucose ----> CO2 + Alcohol + ATP Help help help help Have you ever forgiven someone for a relational transgression? How did you do it and how did you feel afterward? YourProblemAmanda was selling pizza for basketball. She sold4 pizzas to her friends right away and then sold 2pizzas each day after. If she sold 16 pizzasaltogether, how many days did she sell?Your Work: Which statements regarding triangle e f g are true? select three options. Find fx, fy, and fz.f(x, y, z) = 32xyz What are the solutions of the following system?=[x2 + y2 = 252x+y=-5(0, -5) and (-5,5)(0, -5) and (5, -15)(0, -5) and (-4,3)O (0,-5) and (4, -13)What is it? Help me pls you will get brainliest PLEASE HELP:Check for understanding: What volume of 0.100 M AgNO3 isneeded to react completely with45.0 mL of 0.230 M Na2S?2AgNO3 + Na2S Ag2S + 2NaNO3[?] mL AgNO3 As part of a large poster, a graphic designer dilates a rectangular image so its length in the poster is 46 inches and its width is 21 inches. The original image has dimensions that are 3/8 of the dimensions of the image in the poster. What is the width of the original image?(A) 2 inches (c) 101 inches(B) 7 7/8 inches (D) 17 1/4 inches