Luis360 0 Denunciar post Postado Setembro 6, 2015 Pessoal me ajude em uma duvida neste codigo,ele funciona certo mas na hora de retornar a quatidade de votos para o candidato ele retorna sempre um para os tres, oque devo fazer para retornar certo. #include<iostream> using namespace std; int eleicao(int v[],int elem) { int c,cd1=0,cd2=0,cd3=0; for(c = 0 ; c < elem ; c++ ) { switch( v[c] ) { case 1: cd1++; return (cd1); break; case 2: cd2++; return (cd2); break; case 3: cd3++; return (cd3); break; default: cout<<"Opção Inválida"<<endl; } } } main() { int voto[5],cont,r; setlocale(LC_ALL,"portuguese"); for(cont = 0 ; cont < 5 ; cont++ ) { cout<<"Escolha um candidato abaixo:\n1 - Candidato\n2 - Candidato\n3 - Candidato"<<endl; cin>>voto[cont]; system("cls"); } r = eleicao(voto,5); cout<<"Quantidade de votos para 1º Candidato = "<<r<<endl; cout<<"Quantidade de votos para 2º Candidato = "<<r<<endl; cout<<"Quantidade de votos para 3º Candidato = "<<r<<endl; } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Setembro 7, 2015 O que a função tem que fazer? O que é "voto[]"? Se é o local onde são contados os votos, não tem que retornar um contador separado, e sim o valor que está na posição desejada. Compartilhar este post Link para o post Compartilhar em outros sites
Luis360 0 Denunciar post Postado Setembro 7, 2015 A função deveria retornar a quantidade de votos que as 5 pessoas votaram nos seus candidatos,porem quando a função é chamada e executada ela me retorna 1 voto para cada candidato mesmo eu escolhendo votar 5vezes em 1 só,não entendo o pq ela não me retorna correto, pois eu fiz isso sem função e deu certo, e não entendi oque quis dizer "não tem que retornar um contador separado, e sim o valor que está na posição desejada." Compartilhar este post Link para o post Compartilhar em outros sites
GBecker 51 Denunciar post Postado Setembro 11, 2015 A lógica da função está errada, não chega a varrer todo vetor. Só lê a primeira posição, incrementa o contador e retorna. Por isso sempre retorna um voto. Para retornar vários valores, você pode utilizar parâmetro por ponteiro. Compartilhar este post Link para o post Compartilhar em outros sites