Contador
Atika:
Parece que hay un problema con la lógica del bucle. El contador se está incrementando correctamente, pero hay un bucle do-while que se ejecuta sin tener en cuenta las entradas del usuario.
Parece que estás tratando de solicitar al usuario que ingrese un número del 1 al 4 repetidamente, pero luego estás leyendo un conjunto fijo de números en lugar de utilizar la entrada del usuario.
Aquí tienes el código corregido haber si te sirve:
Código
#include <stdio.h>
int main() {
int contador = 1;
int jugador[10];
printf("Es tu turno, jugador. Se ha generado tu array y ahora vas a llenarlo.\n");
printf("Recuerda que has de usar números del 1 al 4.\n");
while (contador <= 10) {
printf("Introduce el entero del 1 al 4 número %d: ", contador);
int numero;
scanf("%d", &numero);
if (numero >= 1 && numero <= 4) {
jugador[contador - 1] = numero;
contador++;
} else {
printf("\nHas introducido un número fuera del rango. Introduce un número del 1 al 4.\n");
}
}
printf("\nValores introducidos por el jugador:\n");
for (int i = 0; i < 10; ++i) {
printf("%d ", jugador[i]);
}
printf("\n");
return 0;
}
MOD: Etiqueta GeSHi
D3s0rd3n:
Supongo que hay mas codigo. Para empezar creo que te falto incluir "while al inicio del ciclo y se me hace un milagro que el compilador no te eeste regañando. Estas usando C17?
Y aparte contador += 1; esta a fuera del ciclo entonces solo se sumara una vez terminada la ejecucion, no en cada vuelta que es lo que creo que quieres. Solo subelo y asegurate que este andentro de los corchetes de tu ciclo.
Tambien es mejor cuando incrementas de uno usar operador de incrementacion. Osea contador++.
Sadistski:
un pequeño dato con printf: Si ocupa más de 2 líneas podemos saltar el escribir printf dos veces, similar a como se usa con las macros #
Código
printf("dos lineas"\
"o más"\
"seguidas");
Navegación
[*] Página Anterior