Instead of using parallel arrays, use an array of structs and redo assignment 8 as follows: struct candidateType { string name; int numVotes; double percent; }; Write a program vote.cc that allows to read from a file vote.in the last names of the candidates in an election and the number of votes received by each candidate. The program should then output each candidate’s name, the number of votes received, and the percentage of the total votes received by the candidate in descending order. Your program should also output the winner of the election. A sample output is: Candidate Votes Received % of Total Votes Johnson 6000 31.09 Brown 5000 25.91 Miller 4000 20.73 Duffy 2500 12.95 Robson 1800 9.33 Total 19300 The Winner of the Election is Johnson Your program should have and use at least the following functions: (a) Write a function openFile that prompts a user to enter a file name and opens it. (b) Write a function closeFile that closes an open file. (c) Write a function getData that reads from the file the candidate names and their number of votes received and returns them in an array of structs. (d) Write a function computePercentages that takes as its parameter an array of structs and computes the percents, and the total number of votes. (e) Write a function sortVotes that takes as its parameter the array of structs and sort it in descending order of the number of votes or percents. The sorting algorithm should be the selection sort seen in class. (f) Write a function display that displays the candidate names, their number of votes received, their percentages in descending order, and the total number of votes, as formatted above. (g) Write a function displayWinner that displays the winner of the election.
Instead of using parallel arrays, use an array of structs and redo assignment 8
as follows:
struct candidateType {
string name;
int numVotes;
double percent;
};
Write a program vote.cc that allows to read from a file vote.in the last names of
the candidates in an election and the number of votes received by each candidate. The
program should then output each candidate’s name, the number of votes received, and the
percentage of the total votes received by the candidate in descending order. Your program
should also output the winner of the election. A sample output is:
Candidate Votes Received % of Total Votes
Johnson 6000 31.09
Brown 5000 25.91
Miller 4000 20.73
Duffy 2500 12.95
Robson 1800 9.33
Total 19300
The Winner of the Election is Johnson
Your program should have and use at least the following functions:
(a) Write a function openFile that prompts a user to enter a file name and opens it.
(b) Write a function closeFile that closes an open file.
(c) Write a function getData that reads from the file the candidate names and their
number of votes received and returns them in an array of structs.
(d) Write a function computePercentages that takes as its parameter an array of
structs and computes the percents, and the total number of votes.
(e) Write a function sortVotes that takes as its parameter the array of structs and
sort it in descending order of the number of votes or percents. The sorting algorithm
should be the selection sort seen in class.
(f) Write a function display that displays the candidate names, their number of votes
received, their percentages in descending order, and the total number of votes, as
formatted above.
(g) Write a function displayWinner that displays the winner of the election.
Trending now
This is a popular solution!
Step by step
Solved in 5 steps with 2 images