elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Proyecto de 1° año
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Proyecto de 1° año  (Leído 1,025 veces)
Nixo

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Proyecto de 1° año
« en: 8 Octubre 2018, 17:13 pm »

Tengo que hacer un programa que organiza los partidos del mundial, debe estar hecho en c++ en el programa llamado ZinjaI, mi problema viene al momento de verificar que los datos son correctos. Y tengo problema con una verificación que me dá un error lógico, me estoy volviendo loco y tengo que entregar el programa terminado completamente para mañana a la noche.
Donde se produce el error lo  marqué con amarillo.







#include <iostream>
using namespace std;
int Rex(char arreglo[16],char nombre, int pos){//la función de la validación de datos de los equipos
   int i,posicion;
   i=1;
   while(i<=pos && arreglo!=nombre){//esto es para realizar una búsqueda linial, fijarce en el apunte del tema 5(arreglos)
      i=i+1;
   }
   if(i<=pos && arreglo==nombre)
        posicion=i;
   else{
      posicion=0;//si se repite un nombre sale 0
   }
   return(posicion);
}

int  Numgrup(char Grup[], char nom, int pos){//funcion de los grupos
   int a; int i ; int fun,fan;//choriso de variables auxiliares
   a=1; i=1; fan=1;fun=0;
   for(i=1;i<=pos;++i){//esta estructura la saqué de internet: https://foro.elhacker.net/programacion_cc/contar_elementos_de_un_vector-t446962.0.html
      if(Grup==nom){//me pareció interesante para tratar de resolver este problema, estoy tabajando en ello
         a++;
         if(a<5)
            fan=a;
         else{
            fan=0;
         }
      }
   }
   fun=fan;
   return(fun);
}
void CargadeDatos(char grupo[16], char todos_equipos[16]){//subprograma de subida de datos
   int Ind, bandera, banderaA, banderaB, banderaC, banderaD, verdad, grup;//Ind:el índice del arreglo
   verdad=0;
   for (Ind=1;Ind<=16;++Ind){
      do{//repetir para los equipos
         cout<<"Ingrese nombre del equipo n° "<<Ind<<" :";
         cin>>todos_equipos[Ind];
         bandera=Rex(todos_equipos,todos_equipos[Ind],Ind-1);//subprograma para verificar que ningun equipo tenga el mismo nombre
         if(bandera!=0){//bandera es el resultado de la funcion
            cout<<"Nombre de equipo no disponible"<<endl;
         }
      } while(todos_equipos[Ind]!=' '&& bandera!=0);
      do{//repetir para los grupos
         cout<<"Ingrese grupo al que pertenece el equipo (A,B,C ó D): ";
         cin>>grupo[Ind];
         if(grupo[Ind]=='A'|| grupo[Ind]=='B' || grupo[Ind]=='C' || grupo[Ind]=='D'){
            verdad=1;}                                                             
         else{                                                                     
            cout<<"Ingrese nombre de grupo válido."<<endl;
         }
         if(grupo[Ind]=='A'){//invoco para cada uno de los grupos
            banderaA=Numgrup(grupo,grupo[Ind],Ind-1);//Numgrup función para verificar que no haya mas de 4 equipos por grupos, funcionando :D !!!
            cout<<banderaA<<endl;
            if(banderaA==0){
               cout<<"El grupo A se encuentra lleno"<<endl;
            }   
         }
         if(grupo[Ind]=='B'){
            banderaB=Numgrup(grupo,grupo[Ind],Ind-1);
            cout<<banderaB<<endl;
            if(banderaB==0){
               cout<<"El grupo B encuentra lleno"<<endl;
            }   
         }
         if(grupo[Ind]=='C'){
            banderaC=Numgrup(grupo,grupo[Ind],Ind-1);
            cout<<banderaA<<endl;
            if(banderaC==0){
               cout<<"El grupo C se encuentra lleno"<<endl;
            }   
         }
         if(grupo[Ind]=='D'){
            banderaD=Numgrup(grupo,grupo[Ind],Ind-1);
            cout<<banderaA<<endl;
            if(banderaD==0){
               cout<<"El grupo D se encuentra lleno"<<endl;
            }   
         }
         if(banderaA!=0 && banderaB!=0 && banderaC!=0 && banderaD!=0){//EROR LÓGICO, si una bandera vale 0, todo el si es falso y salta el sino con grup=0, y salta el repetir.
            grup=1;              
         }
         else{
            grup=0;
         }
         cout<<grup<<endl;
      } while(verdad!=1 && grup!=1);
   }
}

int main(){//programa
   //acá nombré todas las operaciones que hay que realizar
   char grupo[16], todos_equipos[16];//subida de los grupos y el nombre de los equipos respectivamente
   int grupoA[6][6],grupoB[6][6],grupoC[6][6],grupoD[6][6];//esto es el resultado de los partidos (cosa no realizada,
   int octavos[4][4],semifinal[2][2],Final[1][1],Tercerlugar[1][1];//resultados de partidos
   CargadeDatos(grupo,todos_equipos);//subprograma: procedimiento de subida de datos
   
   return 0;
}


En línea

Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Proyecto de 1° año
« Respuesta #1 en: 8 Octubre 2018, 17:39 pm »

Yo validaria con un solo case, seria mas cortito el programa, preguntaria si cada pais ya existe o no, caso contrario agregarlo a uno de los arregloGrupo de forma aleatoria  ;-)


« Última modificación: 8 Octubre 2018, 17:46 pm por Beginner Web » En línea

7w7
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PROYECTO
Diseño Gráfico
kåhjî£ 1 2,614 Último mensaje 30 Julio 2004, 08:00 am
por Morris
Proyecto php « 1 2 ... 11 12 »
Sugerencias y dudas sobre el Foro
programatrix 111 27,151 Último mensaje 18 Septiembre 2005, 12:27 pm
por programatrix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines