C/Visual C - Corrección de un código del juego del bingo

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Corrección de un código del juego del bingo

Publicado por Carlos (2 intervenciones) el 11/01/2019 11:59:27
Buenas, les dejo por aqui mi código, me estoy volviendo loco intentando ver lo que he hecho mal, no encuentro el error, me podéis ayudar??. El enunciado del problema sería el siguiente:
En este ejercicio implementaremos el juego del bingo simplificado. Habrá dos jugadores, con sus respectivos cartones compuestos por 20 números aleatorios del 1 al 100 (todos los números de un cartón han de ser forzosamente distintos). Por otro lado, se irá generando una secuencia de números aleatorios comprendidos también entre 1 y 100, que representan las bolas que van saliendo del bombo (esta secuencia tampoco podrá tener números repetidos). La mecánica del programa será la siguiente: en cada iteración, mostraremos los números que han ido saliendo del bombo hasta el momento, así como los dos cartones, donde habremos tachado (en vez del número saldrá una X) los números que ya hayan salido. Esperaremos entonces a que el usuario pulse una tecla y a continuación sacaremos una nueva bola del bombo, actualizaremos los cartones con la nueva bola y volverá a aparecer toda la información (lista con las bolas que han salido y cartones actualizados). El programa terminará cuando alguno de los dos cartones se complete, con lo que el jugador asociado a dicho cartón ganará.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
int controladorCarton1=0, final=0, bolas=0;
void ImprimoPrincipio(void){
    printf("----------------------------\n");
    printf("Juego del bingo simplificado\n");
    printf("----------------------------\n");
}
 
int GeneradorNumero(void){           //Genero un numero aleatorio
    int num;
 
    num = rand() % 100;
    return num;
}
int Bola(void){
    int numerosbolas[100], sacadas[100], y=0, z, v;
    printf("Bolas: ");
    for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
        numerosbolas[y]=x+1;
        y++;
    }
 
    do{
        z=GeneradorNumero();
    }while(numerosbolas[z]==0);
    v=numerosbolas[z];
    numerosbolas[z]=0;
    return v;
}
 
void Carton1(void){
    int numeroscarton1[100], y=0, z, vectorcarton1 [20], v, bola, contador1, sacadas[100];
    printf("Carton 1: \n");
    if(controladorCarton1==0){
        for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
            numeroscarton1[y]=x+1;
            y++;
        }
        for(int u=0;u<20;u++){
            z=GeneradorNumero();
 
            do{
                z=GeneradorNumero();
            }while(numeroscarton1[z]==0);
 
            vectorcarton1[u]=numeroscarton1[z];
            numeroscarton1[z]=0;
            printf("%d",vectorcarton1[u]);
            v=vectorcarton1[u]/10;
            if(v<1){
                printf("  ");
            }else{
                printf(" ");
            }
            if(u==4||u==9||u==14||u==19){
                printf("\n");
 
            }
        }
    }else{
        bola=Bola();
        sacadas[bolas]=bola;
        bolas++;
        for(int i=0;i<20;i++){
            if(vectorcarton1[i]==bola){
                vectorcarton1[i]='X';
                contador1++;
            }
            for(int j=0;j<20;j++){
                printf("%d",vectorcarton1[j]);
                v=vectorcarton1[j]/10;
                if(v<1){
                    printf("  ");
                }else{
                    printf(" ");
                }
                if(j==4||j==9||j==14||j==19){
                    printf("\n");
 
                }
            }
            if(contador1==20){
                printf("Gana el jugador 1\n");
                final=1;
                return;
 
            }
        }
 
    }
    controladorCarton1=1;
}
 
void Carton2 (void){
    int numeroscarton2[100], y=0, z, vectorcarton2 [20], v;
    printf("Carton 2: \n");
    for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
        numeroscarton2[y]=x+1;
        y++;
    }
    for(int u=0;u<20;u++){
        z=GeneradorNumero();
 
        do{
            z=GeneradorNumero();
        }while(numeroscarton2[z]==0);
 
        vectorcarton2[u]=numeroscarton2[z];
        numeroscarton2[z]=0;
        printf("%d",vectorcarton2[u]);
        v=vectorcarton2[u]/10;
        if(v<1){
            printf("  ");
        }else{
            printf(" ");
        }
        if(u==4||u==9||u==14||u==19){
            printf("\n");
 
        }
    }
}
 
 
 
int main(void){
    srand(time(NULL));
    ImprimoPrincipio();
    Carton1();
    printf("\n");
    Carton2();
    getchar();
    system("cls");
    do{
        ImprimoPrincipio();
        Carton1();
        getchar();
    }while(final==0);
    getchar();
    return 0;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder