Here is a C++ program that reads the ballots and counts the votes cast for each candidate and the number of spoilt ballots:
#include <iostream>
using namespace std;
using namespace std;
int main() {
int count[5] = {0}; // initialize count array with 0s
int spoilt_ballots = 0;
int candidate;
// read ballots until -1 is entered
cout << "Enter the candidate number (1-5) on the ballot paper (-1 to stop):\n";
cin >> candidate;
while (candidate != -1) {
if (candidate >= 1 && candidate <= 5) {
count[candidate-1]++;
} else {
spoilt_ballots++;
}
cin >> candidate;
}
// display the results
for (int i = 0; i < 5; i++) {
cout << "Candidate " << i+1 << " received " << count[i] << " votes.\n";
}
cout << "There were " << spoilt_ballots << " spoilt ballots.\n";
return 0;
}
Explanation:
- We start by defining an integer array count of size 5 to keep track of the votes cast for each candidate. We also initialize all elements to 0 using the curly brace notation {0}.
- We define an integer variable spoilt_ballots to keep track of the number of spoilt ballots. We initialize it to 0.
- We define an integer variable candidate to read the candidate number from the user.
- We use a while loop to read the ballots until the user enters -1 to stop.
- Inside the loop, we check if the candidate number is between 1 and 5 (inclusive). If it is, we increment the count for that candidate by accessing the corresponding element in the count array. If it is not, we increment the spoilt_ballots counter.
- After the loop ends, we use a for loop to display the results. For each candidate, we display their number and the number of votes they received by accessing the corresponding element in the count array. We also display the total number of spoilt ballots.
- Finally, we return 0 to indicate successful program termination.
No comments:
Post a Comment
If you have any doubts, please let me know