Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-08-2012
m1kevil m1kevil is offline
Registrado
NULL
 
Registrado: ago 2012
Posts: 7
Poder: 0
m1kevil Va por buen camino
Muchisimas gracias escafandra! Funciona bien! Hace lo que necesito.. pero me muestra los mensajes del printf por duplicado, ya sea si pongo un numero valido o no valido me muestra 2 veces por pantalla cada mensaje.. sabes a que puede deberse?


Por otro lado, cual es la diferencia entre getche y getchar? Muchas gracias por tu ayuda!!


PERDON! EDIT >>>> Ya me di cuenta solo... le daba enter despues de ingresar el digito por teclado, y getche se hace el echo por pantalla sin necesidad de apretar enter. Muy bueno! GRACIAS!

Podrias ayudarme con lo ultimo? si necesitara verificar numeros de mas de 2 digitos, ya sea entre 50 y 200 por ejemplo, podria usar lo mismo? o tendria problemas al ingresar una letra 'a' por ej: me daria el numero entero 97 ???
Por ejemplo ingrese una 'l' y me dio el numero 60


Muchas gracias!

Última edición por m1kevil fecha: 31-08-2012 a las 09:02:52. Razón: Me di cuenta viendo por internet...
Responder Con Cita
  #2  
Antiguo 31-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por m1kevil Ver Mensaje
...
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 31-08-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por m1kevil Ver Mensaje
...si necesitara verificar numeros de mas de 2 digitos, ya sea entre 50 y 200 por ejemplo, podria usar lo mismo?
Mejor estudia la función atoi.

Saludos.
Responder Con Cita
  #4  
Antiguo 31-08-2012
m1kevil m1kevil is offline
Registrado
NULL
 
Registrado: ago 2012
Posts: 7
Poder: 0
m1kevil Va por buen camino
Le voy a echar un vistazo, muchas gracias por su ayuda! Perdon por lo de los tags, no lo había visto.


Saludos!
Responder Con Cita
  #5  
Antiguo 31-08-2012
m1kevil m1kevil is offline
Registrado
NULL
 
Registrado: ago 2012
Posts: 7
Poder: 0
m1kevil Va por buen camino
Código:
// Funcion para elegir la maxima puntuacion al ppio del juego //
int ElegirPuntuacion ()
{
    char buffer [256];
    do
    {
    printf("Ingrese la cantidad de presos que se permiten dejar escapar (50 a 200): ");
    fgets (buffer, 256, stdin);
    PuntuacionMax = atoi (buffer);
    }
    while (PuntuacionMax < 50 || PuntuacionMax > 200);
    printf("No podran escaparse mas de %d presos. Si esto ocurre, el jugador pierde. A Jugar! \n", PuntuacionMax);
    return PuntuacionMax;   
}
Aquí les pego el código que logré con la funcion atoi. Muchas gracias a todos funciona de maravilla.. y de paso voy aprendiendome las reglas del foro!


Saludos!! Pueden cerrar el thread si quieren!
Responder Con Cita
  #6  
Antiguo 31-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola m1kevil.

Gracias por acercarnos el resultado .

Aprovecho para comentarte que en este caso es suficiente
Código:
...
  char buffer[4];
  do {
    fgets(buffer, 4, stdin);
  ...
ya que el valor máximo permitido nunca superará las tres cifras.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 31-08-2012
m1kevil m1kevil is offline
Registrado
NULL
 
Registrado: ago 2012
Posts: 7
Poder: 0
m1kevil Va por buen camino
Es cierto. Gracias por tu aporte! Pero de todos modos prefiero dejar los 256, ya que si introducen una cadena de caracteres demasiado larga, no se produce ningun error. Es decir, la toma por stdin correctamente, y como no es un numero valido da 1 solo mensaje de error.
Me ha pasado de que cambiando el valor a 4 e introduciendo una cadena de caracteres demasiado larga, se repiten varias veces los mensajes.
Es complicado de explicar.. corriendo el programa entenderas lo que digo. Muchas gracias de todas formas!
Responder Con Cita
  #8  
Antiguo 31-08-2012
m1kevil m1kevil is offline
Registrado
NULL
 
Registrado: ago 2012
Posts: 7
Poder: 0
m1kevil Va por buen camino
Código:
// Funcion para definir nombres de los jugadores y quien empieza primero //
int TurnoInicial (int Jugadores)
{
    char vec[Jugadores];
    int i;    
    for (i=0; i<Jugadores; i++)
    {
            printf("Ingrese el nombre del jugador %d: ", i+1);
            scanf ("%s", &vec[i]);
    }
    for (i=0; i<Jugadores; i++)
    {
            printf("El jugador %d se llama: %s\n", i+1, vec[i]);   
    }
    
}

Bueno, siguiendo con este juego y los problemas... ahora necesito que luego de determinar la cantidad de jugadores que participaran del juego, una funcion sea capaz de almacenar los nombres de los jugadores (ingresados por teclado), y guardalos en un vector de la cantidad de posiciones de la variable 'Jugadores'.
Este vector será utilizado luego para desplegar el nombre del jugador en el momento que le toque su turno de tirar los dados por ejemplo.

Con el código expuesto arriba, funciona bien hasta que ingreso el ultimo nombre por teclado. Luego el programa se cuelga. Pienso que el problema radica en la funcion scanf y en el %s . Quizas otro método de entrada para los strings funcione mejor en este caso, pero es la primera vez que manejo cadenas de caracteres en C.

Por favor agradecería que me dieran una mano!
Desde ya muchas gracias!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Un pedacito de México AzidRain La Taberna 3 22-01-2012 13:34:32
AYUDA por favor!!! Melcv Varios 2 28-06-2006 21:19:35
Codigo de barras + QuickReport ... Help por favor!!!! jdelphi Impresión 3 29-01-2005 07:58:00
Traducir un codigo de VB a Delphi ¡¡¡¡ Por favor !!!! Betsa23 Internet 2 30-11-2004 16:29:35
Ayuda por favor jtellof Conexión con bases de datos 4 08-09-2003 21:56:24


La franja horaria es GMT +2. Ahora son las 16:51:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi