Skip to content

Instantly share code, notes, and snippets.

@OverlordEx3
Created May 31, 2018 21:03
Show Gist options
  • Save OverlordEx3/8eb5d1ce1cd7a88246f5c9066822f956 to your computer and use it in GitHub Desktop.
Save OverlordEx3/8eb5d1ce1cd7a88246f5c9066822f956 to your computer and use it in GitHub Desktop.
TP Algortimos y Estructuras de Datos
#include <cstdlib>
#include <iostream>
using namespace std;
//Prototipos de funciones:
void datos_const();
int ganador(int,int,int,int);
void empate(int equip1,int &puntos_equip1,int &puntos_equip2,int &puntos_equip3,int &puntos_equip4);
void tercer_lugar(int,int,int,int);
//Constantes Globales:
static int const_goles,const_puntos;
static int puntos_equipo1 = 0;
static int puntos_equipo2 = 0;
static int puntos_equipo3 = 0;
static int puntos_equipo4 = 0;
static int puntos_prim = 0;
static int puntos_sec = 0;
void comparar_lugares(int equipo1, int equipo2, int *prim_lugar, int *seg_lugar)
{
//TODO
int _prim = 0;
int _sec = 0;
if(puntos_equipo1 > puntos_prim)
{
puntos_prim = puntos_equipo1;
}
if(puntos_equipo2 > puntos_prim)
{
puntos_prim = puntos_equipo2;
}
if(puntos_equipo3 > puntos_prim)
{
puntos_prim = puntos_equipo3;
}
if(puntos_equipo4 > puntos_prim)
{
puntos_prim = puntos_equipo4;
}
}
//Programa Principal:
int main(){
int goles1, equipo1 = 0;
int goles2, equipo2 = 0;
int prim_lugar = 0, seg_lugar = 0;
datos_const();
for (int i=1; i<=2; i++)
{
cout<< "Ingrese el numero del equipo: ";
cin>> equipo1;
/* TODO clear cin */
cout<<"Ingrese la cantidad de goles: ";
cin>>goles1;
cout<< "Ingrese el numero del equipo: ";
cin>> equipo2;
cout<<"Ingrese la cantidad de goles: ";
cin>>goles2;
if (equipo1!=equipo2)
{
if(goles1 == goles2)
{
/* Calcula el puntaje del empate */
empate(equipo1);
empate(equipo2);
comparar_lugares(equipo1, equipo2);
continue;
}
switch (ganador(equipo1,equipo2,goles1,goles2))
{
case 1: puntos_equipo1 += 3;
break;
case 2: puntos_equipo2 += 3;
break;
case 3: puntos_equipo3 += 3;
break;
case 4: puntos_equipo4 += 3;
break;
}
}
else
{
cout<< "Error, un equipo no puede jugar contra si mismo.";
return 0;
}
}
cout<<"equipo 1: "<<puntos_equipo1<<endl;
cout<< " equipo 2: "<<puntos_equipo2;
return 0;
}
//Funciones:
void datos_const()
{
cout<< "Ingrese la constante de puntos: ";
cin>>const_puntos;
cout<< "Ingrese la constante de puntos: ";
cin>>const_goles;
}
int ganador(int equip1, int equip2, int goles1, int goles2)
{
if (goles1 > goles2)
{
return equip1;
}
return equip2;
}
void empate(int equipo)
{
switch (equipo)
{
case 1: puntos_equipo1 ++;
break;
case 2: puntos_equipo2 ++;
break;
case 3: puntos_equipo3 ++;
break;
case 4: puntos_equipo4 ++;
break;
}
}
void tercer_lugar(int equip,int a,int b, int c, int d)
{
if (a>b && c>d)
cout <<"El equipo que se encuentra en tercer lugar es: "<<equip<<endl;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment