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
Gekata [30.6K]
4 years ago
15

You will be creating a quiz grading program. You will compare the student's answers with the correct answers, and determine if t

he 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
Computers and Technology
1 answer:
Paladinen [302]4 years ago
3 0

Answer:

What's this ??????????????

Explanation:

You might be interested in
According to popular science Web sites, the scientific process of digital forensics normally starts with a(n) ________.
neonofarm [45]

Answer:

a hypothesis that forms into a question.

Explanation:

5 0
3 years ago
I need help writing a recursion function to solve a boggle game for c++.
Mandarinka [93]

Answer:

#include <cstring>

#include <iostream>

using namespace std;

 

#define A 3

#define B 3

 

// LET US CREATE A DICTIONARY

string dict[] = { "KILLS", "GOT", "QUIZ", "GO" };

int n = sizeof(dict) / sizeof(dict[0]);

 

// Let us make a function to find whether a given word is present in dictionary.

bool isPresent(string& str)

{

   // linear search of words

   for (int i = 0; i < n; i++)

       if (str.compare(dict[i]) == 0)

           return true;

   return false;

}

 

// A function for printing all words present on Boggle

void findWordin(char bogle[A][B], bool hasbeenvisited[A][B], int i,

                  int j, string& str)

{

   hasbeenvisited[i][j] = true;

   str = str + bogle[i][j];

 

   // If str is in the dictionary, then you need to print it

   if (isPresent(str))

       cout << str << endl;

 

   // Travering adjacent 8 cells of the boggle

   for (int r = i - 1; r <= i + 1 && r < A; r++)

       for (int c= j - 1; c <= j + 1 && c < B; c++)

           if (r >= 0 && c >= 0 && !hasbeenvisited[r][c])

               findWordin(bogle, hasbeenvisited, r, c, str);

 

   // for erasing current characters on the string, and mark them visited

   // of the current cells to false  

   str.erase(str.length() - 1);

   hasbeenvisited[i][j] = false;

}

 

// Prints all words which are in dictionary.

void findWords(char boggle[A][B])

{

   // for marking all the characters as not being visited

   bool hasbeenvisited[A][B] = { { false } };

 

   // Initializing the present string

   string str = "";

 

   // Reading all the characters for finding all the words that begins with the above character

   for (int i = 0; i < A; i++)

       for (int j = 0; j < B; j++)

           findWordin(boggle, hasbeenvisited, i, j, str);

}

 

// the code for testing of the function

int main()

{

   char bogle[A][B] = { { 'k', 'I', 'L' },

                         { 'L', 'S', 'M' },

                         { 'G', 'O', 'T' } };

 

   cout << "Below list of words are present in the dictionary\n";

   findWords(bogle);

   return 0;

}

Explanation:

The program is properly commented, and that explains each step of it.  However, I have kept dictionary as constant for similifying the code. And it can be set to variable easily, if required.

7 0
3 years ago
Create a python program that display this
aleksley [76]

Answer:

vxxgxfufjdfhgffghgfghgffh

4 0
3 years ago
B. List any four major drawbacks of the first generation computer​
d1i1m1o1n [39]

Answer:

Terribly low storage space, limited to mathematics/computing, required entire rooms to use, and low information yield for hours of processing.

Explanation:

3 0
3 years ago
On tablets and smartphones, what feature can be used that can erase the contents of the device if lost or stolen?
Artemon [7]
You could use the ADM website from a computer or any other device (that is not missing)
 <span />
4 0
3 years ago
Other questions:
  • A computer which links several pcs together in a network is called
    10·1 answer
  • Which of the following is an Example of a technical (“hard”) skill
    6·2 answers
  • Calculate the number of hours since the birthdate. Insert your calculation in cell C15. (hint: convert the number of days to num
    11·1 answer
  • Emily created her company's first newsletter. She made sure to repeat design elements such as color schemes and
    9·1 answer
  • Explain the simliparities or difference between a workbook , worksheet and spread sheet​
    5·1 answer
  • 1. What does VolP stand for? *
    10·2 answers
  • Larry has created a web page using HTML 4.01. He hasn’t included the declaration in the file. When he opens the page in a browse
    8·1 answer
  • Why are people's visions of utopias and dystopias subjective?
    9·1 answer
  • Can someone pls do a toradora,Mha or princess jellyfish rp I'm open for anyother rp's
    11·2 answers
  • Which hardware component interprets and carries out the instructions contained in the software.
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!