I am working on an assignment and I am suppose to use vectors to find the sum and winner but I do not understand c++ so this is confusing. The program runs but it is giving me the wrong winner, it displays the winner as who ever is entered first.
//Data:
/*
Johnson 5000
Miller 4000
Duffy 6000
Robinson 2500
Sam 1800
*/
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
using namespace std;
int sumVotes(vector<int> list, int size);
int winnerIndex(vector<int> list, int size);
int main()
{
vector<string> candidates(5);
vector<int> votes(5);
int totalVotes;
cout << fixed << showpoint;
cout << setprecision(2);
cout << "Enter candidate's name and the votes received by the candidate."
<< endl;
for (int i = 0; i < 5; i++)
cin>>candidates[i]>>votes[i];
totalVotes = sumVotes(votes,5);
cout << "Candidate Votes Received % of Total Votes" << endl;
for (int i = 0; i < 5; i++)
cout << left << setw(8) << candidates[i]
<< right << " " << setw(10) << votes[i] << " "
<< setw(15)
<< (static_cast<double>(votes[i]) / static_cast<double>(totalVotes)) * 100
<< endl;
cout << "Total " << totalVotes << endl;
cout << "The Winner of the Election is "
<< candidates[winnerIndex(votes, 5)] << endl;
system("pause");
return 0;
}
int sumVotes(vector<int> list, int size)
{
int sum = 0;
for (int i = 0; i < 5; i++)
sum += list[i];
return sum;
}
int winnerIndex(vector<int> list, int size)
{
int winInd = 0;
for (int i = 0; i < 5; i++)
{
if (list[i] < winInd)
{
winInd = list[i];
}
}
return winInd;
}