Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thaís Ayumi

Fazer programa em c++

Recommended Posts

Boa noite! Estou fazendo um programa para faculdade e preciso de ajuda, alguém poderia me dar alguma dica sobre o que está errado em meu programa?
Ao rodar, a função while não me deixa inserir mais de uma vez se o time ganhou, perdeu ou empatou...
Os passos dados pelos professor são esses:
Realizou-se uma pesquisa para medir o desempenho de um time de futebol. Escreva um algoritmo
que leia o número total de jogos deste time no campeonato. Depois, para um número indeterminado de
partidas a serem analisadas menor ou igual ao número total de partidas dado, leia o resultado da partida ('V' para vitória, 'E' para empate e 'D' para derrota), o número de gols feitos e o número de gols tomados.
A letra 'X' no lugar do resultado da partida indicará o fim da lista de partidas analisadas. Determine e
imprima:
– A porcentagem de partidas analisadas, com dois dígitos de precisão após o ponto.
– A porcentagem de vitórias nas partidas analisadas, com dois dígitos de precisão após o ponto.
– A porcentagem de empates nas partidas analisadas, com dois dígitos de precisão após o ponto.
– O saldo de gols nas partidas analisadas. O saldo de gols é dado pela soma dos gols feitos
subtraída da soma dos gols tomados.
– O maior número de gols tomados em uma derrota nas partidas analisadas. Se não houver
derrotas, imprima a frase “Nao houve derrotas.”
– O maior número de gols feitos em uma vitória nas partidas analisadas. Se não houver vitórias,
imprima a frase “Nao houve vitorias.” Observação: Imprima somente um 'enter' após
cada estatística, inclusive a última, para que o programa seja finalizado em uma linha em
branco.
O meu programa até agora está assim:
#include <iostream>
using namespace std;
int main(){
int total; //Total de jogos analisados
int gf; //Gols feitos
int totalgf = 0; //Variavel que armazena o total de gols feitos
int maiorgf = 0; //Maior numero de gols feitos em uma vitória
int gt; //Gols tomados
int maiorgt = 0; //Maior numero de gols tomados em uma derrota
int totalgt = 0; //Variavel que armazena o total de gols tomados
char y = 0; //y representa se o time ganhou, perdeu ou empatou
char V = 0; //Vitórias do time
char D = 0; //Derrotas do time
char E = 0; //Empates do time
char X; //Indica o fim de partidas analisadas
cin >> total;
while (( y != X ) && ( y <= total));{
cin >> y >> gf >> gt;
}
if ( y == V ){
V = V + 1;
y += 1;
totalgf = gf;
totalgt = gt;
}
if ( y == D ){
D = D + 1;
y += 1;
totalgf = gf;
totalgt = gt;
}
if ( y == E ){
E = E + 1;
y += 1;
totalgf = gf;
totalgt = gt;
}
cout.precision(2);
cout.setf(ios::fixed);
cout << ( 100 * y )/total; //Porcentagem de partidas analisadas
cout << ( 100 * V )/total; //Porcentagem de vitórias nas partidas analisadas
cout << ( 100 * E )/total; //Porcentagem de empates nas partidas analisadas
cout << totalgf - totalgt; //Saldo de gols nas partidas analisadas
if ( y == D ){
if (gt > maiorgt){
maiorgt = gt;
cout << maiorgt; //Imprimindo o maior número de gols tomados em uma derrota
}
else {
cout << "Nao houve derrotas";//Imprimindo caso não haja derrotas
}
}
if ( y == V ){
if (gf > maiorgf){
maiorgf = gf;
cout << maiorgf; //Imprimindo o maior número de gols feitos em uma vitória
}
else {
cout << "Nao houve vitorias"; //Imprimindo caso não haja vitórias
}
}
return (0);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa pela minha falta de conhecimento, mas aonde vc pediu pro usuário entrar com os dados?

Também Não entendi o porquê de vc ter usando um char X, não era pro usuário digitar X e assim parar de receber dados?

 

while (( y != 'X' ) && ( y <= total));{

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ooi, então, o programa que o professor usa para nós submetermos os trabalhos é o 'sharif judge', ele faz correção automática, logo não aceita que você faça couts pedindo para o usuário entrar com os dados...

 

Quando o usuário digitar X, o programa para e imprime os resultados, aqui ta um exemplo do que deve aparecer:

 

Exemplo 1:
Entrada:
20
V 2 1
D 1 3
E 2 2
X
Saída:
15.00%
33.33%
33.33%
-1
3
2

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.