Ir para conteúdo
Fórum Script Brasil
  • 0

Contagem de medalhas e campeão erro na saída.


deathcon4

Pergunta

#include <iostream>
#include <cstdlib>
//#include "../cygwin/usr/i686-pc-mingw32/sys-root/mingw/include/tchar.h"
//#include "../cygwin/usr/i686-pc-mingw32/sys-root/mingw/include/locale"
#include "locale.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char *argv[])
{
//_tsetlocale(LC_ALL, _T("portuguese_brazil"));
setlocale(LC_ALL, "");
char ch;
float mo1,mp1,mb1,mo2,mp2,mb2,mo3,mp3,mb3;
ch = 0;
string pais1, pais2, pais3;
cout << "Entre com o primeiro país.\n";
cin >> pais1;
cout << "Entre com o número de medalhas.\n";
cout << "Medalhas de ouro, prata e bronze respectivamente.\n";
cin >> mo1 >> mp1 >> mb1;
mo1 = (3*mo1) + 1;
mp1 = (2*mp1) + 1;
mb1 = mb1 + 1;
cout << "Entre com o nome do segundo país.\n";
cin >> pais2;
cout << "Entre com o nº de medalhas para o segundo país.\n";
cout << "Entre medalhas de ouro, prata e bronze respectivamente.\n";
cin >> mo2 >> mp2 >> mb2;
mo2 = (3*mo2) + 1;
mp2 = (2*mp2) + 1;
mb2 = mb2 + 1;
cout << "Entre com o nome do terceiro país,\n";
cin >> pais3;
cout << "Entre com o nº de medalhas para o terceiro país.\n";
cout << "Entre medalhas de ouro, prata e bronze respectivamente.\n";
cin >> mo3 >> mp3 >> mb3;
mo3 = (3*mo3) + 1;
mp3 = (2*mp3) + 1;
mb3 = mb3 + 1;
while (ch != -1)
{
cout << "Para sair digite -1\n.";
cin >> ch;
if (ch == -1)
cout << "Deseja sair, digite -1.\n" << endl;
break;
if (mo1 > (mo2 + mo3))
cout << "O campeão é o país 1.\n";
else if (mo2 > (mo1 + mo3))
cout << "O campeão é o país 2\n";
else if (mo3 > (mo1 + mo2))
cout << "O campeão é o país 3.\n";
if (mp1 > (mp2 + mp3))
cout << "O pais 1 é o vice-campeão\n";
if (mp2 > (mp1 +mp3))
cout << "O país 2 é o vice-campeão\n.";
if (mp3 > (mp1 + mp2))
cout << "O pais 3 é o vicê campeão\n";
if (mb1 > (mb2 + mb3))
cout << "O país 1 é o terceiro colocado\n.";
if (mb2 > (mb1 + mb3))
cout << "O país 2 é o terceiro colocado\n.";
if (mb3 > (mb2 + mb1))
cout << "O paíes 3 é o terceiro colocado\n.";
}
system ("Pause > null");
return 0;
}
No final está aparecendo -1 e logo abaixo um ponto. O resto está ok. No final quando dou -1 para sair ele aparece com uma mensagem:
sh: Pause: command not found.
Será que está faltando alguma bibliteca?
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Engraçado, o c++ não fuiona o pause, tirei o comando e funcionou perfeitamente. Outro problema e que não consigo descobrir e porque quando coloco 1 de ouro, 1 de prata e 1 de bronze no terceiro pais, sai como resultado 1, deveria sair 3 e mencionando que é o terceiro colocado. Ainda não descobri a lógica para resolver. Se alguém puder ajudar, agradeço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...