Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Consulta sobre errores en C++ de una codificacion usando funciones

Estas en el tema de Consulta sobre errores en C++ de una codificacion usando funciones en el foro de C/C++ en Foros del Web. Buenas! soy nuevo aqui! y tambien soy nuevo en el mundo de la programacion! la verdad ya intente todo lo que pude, pero mi programa ...
  #1 (permalink)  
Antiguo 18/07/2014, 04:35
 
Fecha de Ingreso: julio-2014
Mensajes: 1
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Consulta sobre errores en C++ de una codificacion usando funciones

Buenas! soy nuevo aqui! y tambien soy nuevo en el mundo de la programacion! la verdad ya intente todo lo que pude, pero mi programa tiene demasiados errores a la hora de correrlo. queria saber si me pueden ayudar.

Lo que pide:Hacer un programa que simule el seguimiento del Campeonato Mundial de Futbol XXXX, de acuerdo a las siguientes consideraciones:
Almacenar en un estructura los 32 países clasificados al mundial.

El sorteo de grupos para la Copa Mundial de Fútbol de XXX, se dividirá en dos fases: una preliminar, con la elección de los 4 "bombos" , el primer “bombo”, estará conformado los países Cabezas de Series(8 países), y los otros 3 bombos, se llenarán aleatoriamente de los países restantes. - Hasta aqui lo tengo a medias, llena el arreglo que puse... pero en el bombo 2-3-4 se suelen repetir ciertos paises

Del Bombo 1, se seleccionará aleatoriamente 1 equipo para cada uno de los 8 grupos, quedando de esta manera un país Cabeza de Serie en cada grupo, los otros tres equipos de cada grupo, se seleccionará aleatoriamente 1 equipo de cada Bombo restante (Bombo 1, Bombo 2, Bombo 3). - lo intente a pesar que esta mal lo otro, se traba el programa

Aca el programa:
Código c++:
Ver original
  1. #include <iostream.h> // Bibliotecas a usarse...
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. int equipos[32],num,i,gruposa[4],gruposb[4],gruposc[4],gruposd[4],grupose[4],gruposf[4],gruposg[4],gruposh[4]; // variables.
  7.  
  8. void listadodeequipos(int n){ /* funcion que guarda los nombres de los equipos y los colores de los mismos, se usa switch con 32 casos, cada uno
  9. representanto a un numero generado*/
  10.      switch (n){
  11.      case 1:
  12.           system("color 0A");
  13.            cout<<"Brasil"<<endl;
  14.            getch();
  15.           break;
  16.      case 2:
  17.           system("color 04");
  18.           cout<<"Alemania"<<endl;
  19.           getch();
  20.           break;
  21.      case 3:
  22.           system("color FB");
  23.           cout<<"Argentina"<<endl;
  24.           getch();
  25.           break;
  26.      case 4:
  27.           system("color 0E");
  28.           cout<<"Belgica"<<endl;
  29.           getch();
  30.           break;
  31.      case 5:
  32.           system("color E1");
  33.           cout<<"Colombia"<<endl;
  34.           getch();
  35.           break;
  36.      case 6:
  37.           system("color 4E");
  38.           cout<<"Espania"<<endl;
  39.           getch();
  40.           break;
  41.      case 7:
  42.           system("color 4F");
  43.           cout<<"Suiza"<<endl;
  44.           getch();
  45.           break;
  46.      case 8:
  47.           system("color FB");
  48.           cout<<"Uruguay"<<endl;
  49.           getch();
  50.           break;
  51.      case 9:
  52.           system("color 2F");
  53.           cout<<"Argelia"<<endl;
  54.           getch();
  55.           break;
  56.      case 10:
  57.           system("color E2");
  58.           cout<<"Camerun"<<endl;
  59.           getch();
  60.           break;
  61.      case 11:
  62.           system("color F4");
  63.           cout<<"Chile"<<endl;
  64.           getch();
  65.           break;
  66.      case 12:
  67.           system("color 62");
  68.           cout<<"Costa de Marfil"<<endl;
  69.           getch();
  70.           break;
  71.      case 13:
  72.           system("color 4E");
  73.           cout<<"Ecuador"<<endl;
  74.           getch();
  75.           break;
  76.      case 14:
  77.           system("color 24");
  78.           cout<<"Ghana"<<endl;
  79.           getch();
  80.           break;
  81.      case 15:
  82.           system("color F2");
  83.           cout<<"Nigeria"<<endl;
  84.           getch();
  85.           break;
  86.      case 16:
  87.           system("color 2F");
  88.           cout<<"Italia"<<endl;
  89.           getch();
  90.           break;
  91.      case 17:
  92.           system("color 2F");
  93.           cout<<"Australia"<<endl;
  94.           getch();
  95.           break;
  96.      case 18:
  97.           system("color 81");
  98.           cout<<"Corea del Sur"<<endl;
  99.           getch();
  100.           break;
  101.      case 19:
  102.           system("color 14");
  103.           cout<<"Costa Rica"<<endl;
  104.           getch();
  105.           break;
  106.      case 20:
  107.           system("color F4");
  108.           cout<<"Estados Unidos"<<endl;
  109.           getch();
  110.           break;
  111.      case 21:
  112.           system("color 1F");
  113.           cout<<"Honduras"<<endl;
  114.           getch();
  115.           break;
  116.      case 22:
  117.           system("color 42");
  118.           cout<<"Iran"<<endl;
  119.           getch();
  120.           break;
  121.      case 23:
  122.           system("color F4");
  123.           cout<<"Japon"<<endl;
  124.           getch();
  125.           break;
  126.      case 24:
  127.           system("color 24");
  128.           cout<<"Mexico"<<endl;
  129.           getch();
  130.           break;
  131.      case 25:
  132.           system("color 1E");
  133.           cout<<"Bosnia"<<endl;
  134.           getch();
  135.           break;
  136.      case 26:
  137.           system("color 1F");
  138.           cout<<"Croacia"<<endl;
  139.           getch();
  140.           break;
  141.      case 27:
  142.           system("color F4");
  143.           cout<<"inglaterra"<<endl;
  144.           getch();
  145.           break;
  146.      case 28:
  147.           system("color 14");
  148.           cout<<"Francia"<<endl;
  149.           getch();
  150.           break;
  151.      case 29:
  152.           system("color 1F");
  153.           cout<<"Grecia"<<endl;
  154.           getch();
  155.           break;
  156.      case 30:
  157.           system("color 41");
  158.           cout<<"Paises Bajos"<<endl;
  159.           getch();
  160.           break;
  161.      case 31:
  162.           system("color 24");
  163.           cout<<"Portugal"<<endl;
  164.           getch();
  165.           break;
  166.      case 32:
  167.           system("color 14");
  168.           cout<<"Rusia"<<endl;
  169.           getch();
  170.           break;
  171.    
  172.             }
  173.      }
  174.  
  175. void llenarbombo2(int equipos[32]){ //funcion usada para llenar el segundo bombo con numeros (equipos) aleatorios.
  176.     int x,num2;
  177.     system("cls");
  178.     cout<<"BOMBO NUMERO 2"<<endl;
  179. srand(time(NULL));
  180. do{
  181.                  
  182.        num2=rand()%32;
  183.         if(num2>8){
  184.         if(num2 != equipos[i]){
  185.         x=i+1;
  186.         i++;
  187.         cout<<"equipo posicion: "<<x<<" - ";
  188.         equipos[i] = num2;
  189.         listadodeequipos(num2);
  190.         }
  191.         }
  192.         }while (i>=7 && i<=15);
  193.             }
  194.      
  195.  
  196. void llenarbombo3(int equipos[32]){ //funcion usada para llenar el Tercer bombo con numeros (equipos) aleatorios.
  197.     int x1,num3;
  198.     system("cls");
  199.     cout<<"BOMBO NUMERO 3"<<endl;
  200. srand(time(NULL));
  201. do{
  202.                  
  203.        num3=rand()%32;
  204.         if(num3>8){
  205.         if(num3 != equipos[i]){
  206.         x1=i+1;
  207.         i++;
  208.         cout<<"equipo posicion: "<<x1<<" - ";
  209.         equipos[i] = num3;
  210.         listadodeequipos(num3);
  211.         }
  212.         }
  213.         }while (i>=15 && i<=23);
  214.      }
  215.  
  216. void llenarbombo4(int equipos[32]){ //funcion usada para llenar el Cuarto bombo con numeros(equipos) aleatorios.
  217.          int x2,num4;
  218.     system("cls");
  219.     cout<<"BOMBO NUMERO 4"<<endl;
  220. srand(time(NULL));
  221. do{
  222.                  
  223.        num4=rand()%32;
  224.         if(num4>8){
  225.         if(num4 != equipos[i]){
  226.         x2=i+1;
  227.         i++;
  228.         cout<<"equipo posicion: "<<x2<<" - ";
  229.         equipos[i] = num4;
  230.         listadodeequipos(num4);
  231.         }
  232.         }
  233.         }while (i>=23 && i<=31);
  234.      }
  235.  
  236.  
  237. void llenarbombo1(int equipos[32]){ //funcion usada para llenar el Primer bombo con los 7 equipos cabeceras.
  238.     int x;
  239.     cout<<"BOMBO NUMERO 1"<<endl;
  240.     for(i=0; i<=7; i++){
  241.         x=i+1;        
  242.         cout<<"equipo posicion: "<<x<<" - ";
  243.         num++;        
  244.         equipos[i] = num;  
  245.         listadodeequipos(num);
  246. }
  247.      }
  248.  
  249. /* SI SE EJUCUTA ESTA FUNCION EL PROGRAMA SE TRABA void llenargrupos(int equipos[32]){ //Ubica los equipos aleatoriamente en un grupo.
  250.      int y,A,B,C,D,E,F,G,H,w;
  251.      srand(time(NULL));
  252.      for (y=0; y<=8; y++){
  253.           w= rand()%8;
  254.           switch (y){
  255.      case 8:
  256.      gruposa[A]= w;
  257.      A++;
  258.           break;
  259.      case 1:
  260.      gruposb[B]= w;
  261.      B++;
  262.           break;
  263.      case 2:
  264.         gruposc[C]= w;
  265.      C++;
  266.           break;
  267.      case 3:
  268.        gruposd[D]= w;
  269.      D++;
  270.           break;
  271.      case 4:
  272.          grupose[E]= w;
  273.      E++;
  274.           break;
  275.      case 5:
  276.          gruposf[F]= w;
  277.      F++;
  278.           break;
  279.      case 6:
  280.         gruposg[G]= w;
  281.      G++;
  282.           break;
  283.      case 7:
  284.          gruposh[H]= w;
  285.      H++;
  286.           break;
  287.      default:
  288.              y--;
  289.           break;
  290.          }
  291.          }
  292.        
  293.          
  294.      }
  295.      */
  296.  
  297. main(){ // Declaracion de las funciones y presentación del programa;
  298. cout<<"TUTORIA DE PROGRAMACION"<<endl;
  299. cout<<"Programador(es)..."<<endl;
  300. cout<<"Gabriela Cordero."<<endl;
  301. cout<<"Jorge Luis Neira."<<endl;
  302. cout<<"Javier Llerena."<<endl;
  303. cout<<"Paul Murillo."<<endl;
  304. system("cls");
  305. system("color 2E");
  306. cout<<"\t\t\t\t MUNDIAL 2014"<<endl;
  307. system("cls");
  308. llenarbombo1(equipos);
  309. llenarbombo2(equipos);
  310. llenarbombo3(equipos);
  311. llenarbombo4(equipos);  
  312.  
  313.         }
  #2 (permalink)  
Antiguo 18/07/2014, 04:51
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Consulta sobre errores en C++ de una codificacion usando funciones

Si estas programando en C++ porque no usais POO? Así aprovechais las ventajas de C++ y os quedará un código más limpio.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 18/07/2014, 06:02
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Consulta sobre errores en C++ de una codificacion usando funciones

Linea 250 defines variables A, B, ... etc
Lineas 256, 260, etc. usas sus valores, los que no han sido especificados, por lo que tienen basura, por lo que tu programa accede a posiciones del arreglo que no necesariamente tienes permiso para escribir.
__________________
Visita mi perfil en LinkedIn

Etiquetas: c++, mundial
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:48.