Galera bom dia preciso de uma ajuda com 2 problemas em um exercício.
Segue o enunciado
"Uma grande emissora de televisão quer fazer uma enquete entre os seus
telespectadores para saber qual o melhor jogador após cada jogo. Para isto, faz-se
necessário o desenvolvimento de um programa, que será utilizado pelas telefonistas,
para a computação dos votos. Sua equipe foi contratada para desenvolver este
programa, utilizando a linguagem de programação C++. Para computar cada voto,
a telefonista digitará um número, entre 1 e 23, correspondente ao número da camisa
do jogador. Um número de jogador igual zero, indica que a votação foi encerrada. Se
um número inválido for digitado, o programa deve ignorá-lo, mostrando uma breve
mensagem de aviso, e voltando a pedir outro número. Após o final da votação, o
programa deverá exibir:
a. O total de votos computados;
b. Os números e respectivos votos de todos os jogadores que
receberam votos;
c. O percentual de votos de cada um destes jogadores;
d. O número do jogador escolhido como o melhor jogador da
partida, juntamente com o número de votos e o percentual de votos dados
a ele.
Observe que os votos inválidos e o zero final não
devem ser computados como votos. O resultado aparece ordenado
pelo número do jogador. O programa deve fazer uso de arrays. O
programa deverá executar o cálculo do percentual de cada jogador
através de uma função. Esta função receberá dois parâmetros:
o número de votos de um jogador e o total de votos. A função
calculará o percentual e retornará o valor calculado. Ao final, o programa
deve ainda gravar os dados referentes ao resultado da votação
em um arquivo texto no disco, obedecendo a mesma disposição
apresentada na tela.
Segue meu código
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
float perc(int a,int b)
{ float percent;
percent=(a*100)/b;
return percent;}
int main()
{ int voto, zerar,jogador[24], cvoto, vvotos, vencedor;
float pjogador[24];
zerar=0;
cvoto=0;
vvotos=0;
while(zerar<24){
jogador[zerar]=0; pjogador[zerar]=0; zerar++;}
printf("Exercicio 2\n Enquete de melhor jogador\n\n Qual e o melhor jogador? (digite 0 para finalizar) ");
scanf("%d",&voto);
if ((voto>23)||(voto<1)&(voto!=0)){
printf("\nsomente numeros de 1 a 23 são validos\n\n");}
while (voto!=0){
jogador[voto]++;
if ((voto>0)&(voto<24))cvoto++;
system("pause");
system("cls");
printf("Qual e o melhor jogador? \n\n");
scanf("%d",&voto);
if ((voto>23)||(voto<1)&(voto!=0)){
printf("\nsomente numeros de 1 a 23 são validos\n\n");
}}
if(cvoto==0){printf("Programa encerrado sem votos");}
else {system("cls");
int cperc=1;
while (cperc<24){
pjogador[cperc]=perc(jogador[cperc],cvoto);
cperc++;}
int ctext=1;
while (ctext<24){
printf ("\nForam computados %d votos para o jogador %d correspondendo a %.2f%c dos votos\n",jogador[ctext],ctext,pjogador[ctext],37);
ctext++;}
int cvencedor=1;
while (cvencedor<24){
if (vvotos<jogador[cvencedor]){
vvotos=jogador[cvencedor];
vencedor=cvencedor;}
cvencedor++;}
printf ("\n\n\nO melhor jogador foi o numero %d com %d votos, correspondendo a %.2f do total de votos.",vencedor, vvotos, pjogador[vencedor]);}
return 0;
}
estou com os seguintes problemas quando ponho na entrada um numero de mais de 3 dígitos o programa da erro, e não sei como posso fazer pra salvar os 2 "printf" finais em um txt , alguém poderia me ajudar?
Question
dankobaia
Galera bom dia preciso de uma ajuda com 2 problemas em um exercício.
Segue o enunciado
"Uma grande emissora de televisão quer fazer uma enquete entre os seus
telespectadores para saber qual o melhor jogador após cada jogo. Para isto, faz-se
necessário o desenvolvimento de um programa, que será utilizado pelas telefonistas,
para a computação dos votos. Sua equipe foi contratada para desenvolver este
programa, utilizando a linguagem de programação C++. Para computar cada voto,
a telefonista digitará um número, entre 1 e 23, correspondente ao número da camisa
do jogador. Um número de jogador igual zero, indica que a votação foi encerrada. Se
um número inválido for digitado, o programa deve ignorá-lo, mostrando uma breve
mensagem de aviso, e voltando a pedir outro número. Após o final da votação, o
programa deverá exibir:
a. O total de votos computados;
b. Os números e respectivos votos de todos os jogadores que
receberam votos;
c. O percentual de votos de cada um destes jogadores;
d. O número do jogador escolhido como o melhor jogador da
partida, juntamente com o número de votos e o percentual de votos dados
a ele.
Observe que os votos inválidos e o zero final não
devem ser computados como votos. O resultado aparece ordenado
pelo número do jogador. O programa deve fazer uso de arrays. O
programa deverá executar o cálculo do percentual de cada jogador
através de uma função. Esta função receberá dois parâmetros:
o número de votos de um jogador e o total de votos. A função
calculará o percentual e retornará o valor calculado. Ao final, o programa
deve ainda gravar os dados referentes ao resultado da votação
em um arquivo texto no disco, obedecendo a mesma disposição
apresentada na tela.
Segue meu código
estou com os seguintes problemas quando ponho na entrada um numero de mais de 3 dígitos o programa da erro, e não sei como posso fazer pra salvar os 2 "printf" finais em um txt , alguém poderia me ajudar?
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.