vale, gracias.
Este es mi main:
int main() {
int opcion = menu();
EjecutarMenu(opcion);
return 0;
}
int EjecutarMenu(int opcion) {
tCodigo codigo = {};
tCodigo hipotesis = {};
bool admiteRepetidos = false;
int colocados = 0, descolocados = 0;
while (opcion != 0) {
switch (opcion) {
case (1): {//funcion no repetidos
opcion1(codigo, hipotesis, admiteRepetidos, colocados, descolocados);
}
break;
case (2): {//funcion con repetidos
opcion2(codigo, hipotesis, admiteRepetidos, colocados, descolocados);
}
break;
}
}
return opcion;
}
las funciones opcion1 y opcion2 son dos void bastante parecidos y en cuanto llega al void cambia el tamaño del array.
void opcion1(tCodigo codigo, tCodigo hipotesis, bool admiteRepetidos, int colocados, int descolocados) {
admiteRepetidos = false;
codigoAleatorio(codigo, admiteRepetidos);
cout << "Introduce el codigo (palabra de 4 letras con alguna de las siguientes, R, Z, V, A, M, B): ";
for (int s = 0; s < TAM_CODIGO - 1; s++)
cin >> hipotesis[s];
compararCodigos(codigo, hipotesis, colocados, descolocados);
ImprimirPantalla(codigo, hipotesis, colocados, descolocados);
while (colocados != TAM_CODIGO)
cout << "Introduce el codigo (palabra de 4 letras con alguna de las siguientes, R, Z, V, A, M, B): ";
for (int s = 0; s < TAM_CODIGO - 1; s++)
cin >> hipotesis[s];
compararCodigos(codigo, hipotesis, colocados, descolocados);
ImprimirPantalla(codigo, hipotesis, colocados, descolocados);
}