Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Lab lesson 10 consists of two parts. There are also 10 bonus points. To earn the bonus points you have to complete the Participation activities

Lab lesson 10 consists of two parts.

There are also 10 bonus points. To earn the bonus points you have to complete the Participation activities and Challenge activities for zyBooks unit 6. These have to be completed by the due date for lab lessons 10 and 11.

Lab lesson 10 part 1 is worth 50 points (40 points for the tests and 10 for the formatting, comment and variable names). As always, failure to meet the requirements will result in a reduction from the points from the tests.

In part 1 you will be creating a quiz grading program. You will compare the student's answers with the correct answers, and determine if the student passed the quiz or not.

The program will make use of two parallel arrays.

Each array must be able to support up to 20 characters (so you have two arrays of chars, each one with 20 elements).

Your program will need to read in the student input file name from cin. It will also need to read in the answer file name from cin.

The contents of the student input file should be read into one char array. The file will contain 20 characters, each character on a separate line of the file. The first line in the input file will contain the students answer to the first question, the second line will contain the student's answer to the 2nd question, and so on for 20 questions. The answers are A, B, C or D (all upper case).

The answer file will be read in as well, one answer per line for 20 answers. The first line of text is the answer for question 1, then second line is the answer for question 2, and so on.

As always, close the input files when you are done with them.

Your program needs to determine the number of questions that the student missed and then display the following:

A list of questions missed by the student, showing the question number (1 through 20), the correct answer, and the incorrect answer.

The total number of questions missed by the student

The percentage of the questions answered correctly.

If the percentage of questions answered correctly is 70% or more indicate that the student passed, otherwise state that the student failed the quiz.

You need to have at least the following three functions, including main.

Read function

One function needs to be passed a char array of size 20, it also needs to be passed an input file name. The return from the function should be a bool value.

The function should open the input file and read the contents into the array that was passed to it. If the file could not be opened it should return back false. If the read was successful the program should return back true.

Display function

The display function will be passed the two arrays and should calculate and display the results from the program.

The main function

The main will call the read function twice, once for each input file. The student file should be processed first and then the answers file. If the read function works with the student file the program should call the read function for the answer file If the second call to the read function also works the display function should be called. If either call to the read function does not work it should output a message stating that the specific file could not be opened. No further processing should be done if either one of the files cannot be opened.

As always you cannot use any global variables in your program.

See the sample runs for the output requirements.

Sample run 1 (valid data)

Contents of cin:

student.txt answers.txt 

Contents of student.txt:

A B C D A B C D A B C D A B C D A B C D 

Contents of answers.txt:

A A A A B B B B C C C C D D D D A B C D 

Here is the output to cout:

Question 2 has incorrect answer 'B', the correct answer is 'A' Question 3 has incorrect answer 'C', the correct answer is 'A' Question 4 has incorrect answer 'D', the correct answer is 'A' Question 5 has incorrect answer 'A', the correct answer is 'B' Question 7 has incorrect answer 'C', the correct answer is 'B' Question 8 has incorrect answer 'D', the correct answer is 'B' Question 9 has incorrect answer 'A', the correct answer is 'C' Question 10 has incorrect answer 'B', the correct answer is 'C' Question 12 has incorrect answer 'D', the correct answer is 'C' Question 13 has incorrect answer 'A', the correct answer is 'D' Question 14 has incorrect answer 'B', the correct answer is 'D' Question 15 has incorrect answer 'C', the correct answer is 'D' 12 questions were missed The student failed 

Sample run 2 (invalid student file)

Contents of cin:

invalidfile.txt answers.txt 

Here is the output to cout:

File "invalidfile.txt" could not be opened 

Sample run 3 (invalid answer file)

Contents of cin:

student.txt invalidfile.txt 

Here is the output to cout:

File "invalidfile.txt" could not be opened 

Sample run 4 (all answers valid)

Assume the student input file and the answers file both have the correct answers. The output to cout would be:

0 questions were missed The student passed 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Select Healthcare Classification Systems And Databases

Authors: Katherine S. Rowell, Ann Cutrell

1st Edition

0615909760, 978-0615909769

More Books

Students also viewed these Databases questions

Question

How wide are Salary Structure Ranges?

Answered: 1 week ago