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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


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

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Contador
« en: 7 Noviembre 2023, 18:02 pm »

Hola

Alguien sabe el porque el contador no se incrementa?

Código
  1. printf("es tu turno jugador, se ha generado tu array y ahora vas a llenarlo \n");
  2.    printf("recuerda que has de usar numeros del 1 al 4\n");
  3.  
  4.    do {
  5.  
  6.  
  7.        printf("Introduce el entero del 1 al 4 numero %d: ",contador);
  8.        scanf("%d",&numero);
  9.  
  10.  
  11.        if((numero>=1)&&(numero<=4)) {
  12.  
  13.            printf("Introduce el entero del 1 al 4 numero %d: ",contador);
  14.            printf("\n");
  15.  
  16.            jugador[numeros];
  17.  
  18.            scanf("%d",&jugador[0]);
  19.            scanf("%d",&jugador[1]);
  20.            scanf("%d",&jugador[2]);
  21.            scanf("%d",&jugador[3]);
  22.            scanf("%d",&jugador[4]);
  23.            scanf("%d",&jugador[5]);
  24.            scanf("%d",&jugador[6]);
  25.            scanf("%d",&jugador[7]);
  26.            scanf("%d",&jugador[8]);
  27.            scanf("%d",&jugador[9]);          
  28.  
  29.        } else {
  30.  
  31.            printf("\n");
  32.            printf("B");
  33.            printf("\n");
  34.  
  35.        }
  36.  
  37.  
  38. contador +=1;
  39. |


« Última modificación: 7 Noviembre 2023, 18:53 pm por el-brujo » En línea

whitevision

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Contador
« Respuesta #1 en: 8 Noviembre 2023, 02:17 am »

Hola, que estas tratando de hacer, no entiendo tu codigo.
Donde termina el while del do.
Salu2.


En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.460


Hackentifiko!


Ver Perfil
Re: Contador
« Respuesta #2 en: 8 Noviembre 2023, 06:26 am »

No parece que hayas puesto hasta cuando se repite el do. Al final has puesto
| en vez de }. Además se supone que debes poner una condición, pero quizá en tu lenguaje no, no sé mucho de él. ¿No te dió un mensaje de error el compilador/intérprete?

Algunas dudas:

¿Qué hace esto?
printf("Introduce el entero del 1 al 4 numero %d: ",contador);
¿Imprime ese texto y le agrega la variable contador? Por ejemplo si contador es 8 imprime:
Introduce el entero del 1 al 4 numero %d: 8
¿Eso? Si yo fuera el jugador, no sé bien qué es eso. Además en el código no has definido contador, no sé si no lo has copiado porque es obvio o lo estás definiendo ahí o te olvidaste de copiarlo o de definirlo, o qué.

¿Y esto?
jugador[numeros];

Tu código parece incompleto, en fin...
En línea

Dumy

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Contador
« Respuesta #3 en: 14 Noviembre 2023, 20:55 pm »

Hola gracuas por responder, esa parte la solucione, ahora lo que tengo es problemas de entender oarametro de entrada y salida es una funcion
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Contador
« Respuesta #4 en: 14 Noviembre 2023, 22:56 pm »

Sencillo: los elementos que van entre paréntesis en una función son los parámetros de entrada. El valor que retorna la función es el valor de salida.

Supongamos una función muy sencilla que lleve un parámetro de entrada y devuelva algo.

Código:
int mi_funcion(int entrada) {
    int retval;
    retval = entrada;
    return retval;
}

Esta función recoge un entero por 'entrada', una vez que lo tiene simplemente lo asigna la variable 'retval' y devuelve el dato que hay guardado en la variable 'retval'.

¿Cómo usarla?

Así:
Código:
int numero = mi_funcion(5);
printf("El valor de 'numero' es %d\n", numero);

Se llama a la función pasándole un entero, aquí 5; el funcionamiento del la función te lo he comentado antes. Finalmente la variable 'numero' recoge el entero que ha devuelto mi_funcion y lo imprime.
En línea

Atika

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Contador
« Respuesta #5 en: 11 Diciembre 2023, 22:53 pm »

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
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.    int contador = 1;
  5.    int jugador[10];
  6.  
  7.    printf("Es tu turno, jugador. Se ha generado tu array y ahora vas a llenarlo.\n");
  8.    printf("Recuerda que has de usar números del 1 al 4.\n");
  9.  
  10.    while (contador <= 10) {
  11.        printf("Introduce el entero del 1 al 4 número %d: ", contador);
  12.        int numero;
  13.        scanf("%d", &numero);
  14.  
  15.        if (numero >= 1 && numero <= 4) {
  16.            jugador[contador - 1] = numero;
  17.            contador++;
  18.        } else {
  19.            printf("\nHas introducido un número fuera del rango. Introduce un número del 1 al 4.\n");
  20.        }
  21.    }
  22.  
  23.    printf("\nValores introducidos por el jugador:\n");
  24.    for (int i = 0; i < 10; ++i) {
  25.        printf("%d ", jugador[i]);
  26.    }
  27.    printf("\n");
  28.  
  29.    return 0;
  30. }

MOD: Etiqueta GeSHi
« Última modificación: 12 Diciembre 2023, 01:08 am por MCKSys Argentina » En línea

D3s0rd3n

Desconectado Desconectado

Mensajes: 97


Tu Mente es mi arma. Entregame tu mente


Ver Perfil
Re: Contador
« Respuesta #6 en: 14 Diciembre 2023, 00:46 am »

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++.
En línea

Gobiernos del Mundo Industrial, ustedes, cansados gigantes de carne y acero
vengo del Ciberespacio, el nuevo hogar de la Mente. En nombre del futuro, les
pido en el pasado  que nos dejen en paz.  No son  bienvenidos entre nosotros.
No tienen ninguna soberania sobre el lugar donde nos reunimos.
Sadistski

Desconectado Desconectado

Mensajes: 18



Ver Perfil WWW
Re: Contador
« Respuesta #7 en: 27 Diciembre 2023, 04:13 am »

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
  1. printf("dos lineas"\
  2. "o más"\
  3. "seguidas");
  4.  
En línea

La gente inteligente aprende de sus errores, la gente sabia aprende de los errores de los demás.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
contador
Programación Visual Basic
::: Devil ::: 4 2,203 Último mensaje 27 Mayo 2008, 04:37 am
por SKL (orignal)
contador de 0 a 99
Electrónica
gzdncs 9 18,096 Último mensaje 19 Junio 2010, 05:20 am
por gzdncs
duda contador
Desarrollo Web
K-roleck 1 2,116 Último mensaje 16 Noviembre 2011, 21:19 pm
por #!drvy
contador
Programación C/C++
vivianfes 2 2,270 Último mensaje 25 Marzo 2015, 21:45 pm
por vivianfes
Contador de tiempo
Java
Baal_30 4 3,358 Último mensaje 29 Febrero 2016, 06:25 am
por El Benjo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines