Alasca 0 Denunciar post Postado Julho 19, 2016 Olá Estou tentando escrever um programa em C para obter o numero de pontos P de três times em um campeonato de futebol, de acordo com a expressao a seguir: P = 5GP - GN + 3VF + 2VC + E Nessa formula, GP é o numero de gols positivos, GN é o numero de gols tomados, VF é o numero de vitorias fora de casa, você é o numero de vitorias em casa e E é o numero de empates. Essa parte eu consegui fazer, segue o código: #include<stdio.h> int main() { int time, gp, gn, vf, você, e, p; for(time = 1; time <= 3; time++) { printf("Time: %d\n", time); printf("Digite o numero de gols positivos: "); scanf("%d", &gp); printf("Digite o numero de gols tomados: "); scanf("%d", &gn); printf("Digite o numero de vitorias fora de casa: "); scanf("%d", &vf); printf("Digite o numero de vitorias em casa: "); scanf("%d", &você); printf("Digite o numero de empates: "); scanf("%d", &e); p = (5*gp - gn + 3*vf + 2*você + e); printf("Numero de pontos do time %d = %d\n\n", time, p); } } Mas no final, o programa deve mostrar, de acordo com o numero de pontos obtidos por um time, o campeão e o vice-campeão do campeonato. Essa parte eu estou em dúvida de como posso fazer. Se alguém puder ajudar agradeço muito. Obs: Não devo utilizar vetor, apenas estruturas de condição e de repetição. Compartilhar este post Link para o post Compartilhar em outros sites
lord_shy 0 Denunciar post Postado Julho 24, 2016 Primeiramente, você deve criar três variáveis diferentes para a quantidade de pontos no total, pois no final da execução, se colocar um printf("%d", p); ele vai mostrar os ponto do time 3, os outros serão apagados. Após isso, um estrutura de if-else deve resolver. Em suma, o programa ficaria assim: #include<stdio.h> int main() { int time, gp, gn, vf, você, e, p1, p2, p3, primeiro, segundo; //criada três varíaveis diferentes para três times diferentes //e outras duas varíaveis para definir as posições dos times for(time = 1; time <= 3; time++) { printf("Time: %d\n", time); printf("Digite o numero de gols positivos: "); scanf("%d", &gp); printf("Digite o numero de gols tomados: "); scanf("%d", &gn); printf("Digite o numero de vitorias fora de casa: "); scanf("%d", &vf); printf("Digite o numero de vitorias em casa: "); scanf("%d", &você); printf("Digite o numero de empates: "); scanf("%d", &e); switch(time) //esse switch avalia a varíavel time, se você também não puder { //usa-lo, use uma cadeia de if's e else's case 1:p1 = (5*gp - gn + 3*vf + 2*você + e); printf("Numero de pontos do time %d = %d\n\n", time, p1); break; case 2:p2 = (5*gp - gn + 3*vf + 2*você + e); printf("Numero de pontos do time %d = %d\n\n", time, p2); break; case 3:p3 = (5*gp - gn + 3*vf + 2*você + e); printf("Numero de pontos do time %d = %d\n\n", time, p3); break; default:break; } } if(p1>p2) primeiro=1; else primeiro=2; if(p3>primeiro) primeiro=3; if(primeiro==p1) if(p2>p3) segundo=2; else segundo=3; if(primeiro==p2) if(p1>p3) segundo=1; else segundo=3; if(primeiro==p3) if(p2>p1) segundo=2; else segundo=1; printf("\n\n\tO campeao foi o time %d e o vice-campeao foi o time %d!\n", primeiro, segundo); return 0; } Esse foi o que eu pude fazer só usando estruturas de condição es repetição. Boa sorte. Compartilhar este post Link para o post Compartilhar em outros sites