elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
05 Septiembre 2008, 13:32  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  gets (strings) no lo entiendo muy bien, ayuda plz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Imprimir
Autor Tema: gets (strings) no lo entiendo muy bien, ayuda plz  (Leído 635 veces)
Pseudoroot

Desconectado Desconectado

Mensajes: 838



Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #15 en: 16 Septiembre 2005, 11:17 »

en el segundo code no hay gets
En línea

www.g e d z a c.com

www.espavirus.com/foro
Cab Calloway
Colaborador

Desconectado Desconectado

Mensajes: 4.262



Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #16 en: 16 Septiembre 2005, 11:49 »

A er, en el primero hazlo así:

Código:
#include <stdio.h>
#include <conio.h>

int main()
{
   char oracion[81];
   char *p;
   int i;
   printf("Escribe un numero entero: ");
   scanf("%i",&i);
   printf( "Escribe una oracion:\n");
   p=gets(oracion);
   printf( "\nHas escrito: \"%s\"\n", oracion );
   getch();

   return 0;
}

En el segundo te ha faltado el "&" en el scanf:

Código:
#include <stdio.h>
#include <conio.h>

main()
{
   char nombre[10];
   int n;
   printf ("Numero de Veces: " );
   scanf("%i",&n);
   
   for (int i = 0; i < n; i++)
   {
       printf("\nIntroduce tu nombre: ");
       scanf("%s",&nombre);
       printf("Bienvenido a C, %s",nombre);
  }
   getch();
}

Saludos!
« Última modificación: 16 Septiembre 2005, 23:12 por kasswed » En línea

Se busca gato.
Pseudoroot

Desconectado Desconectado

Mensajes: 838



Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #17 en: 16 Septiembre 2005, 11:56 »

para que haces esto

Citar
char *p;


Citar
p=gets(oracion);

si luego imprimes

Citar
printf( "\nHas escrito: \"%s\"\n", oracion );
   


no deberia imprimir talvez

printf( "\nHas escrito: \"%s\"\n", p );

La función gets retorna cadena si es realizada con éxito
   


En línea

www.g e d z a c.com

www.espavirus.com/foro
Fletch

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #18 en: 16 Septiembre 2005, 20:16 »

Disculpen el segundo programa era este:

#include <stdio.h>
#include <conio.h>

main()
{
   char nombre[10];
   int n;
   printf ("Numero de Veces: " );
   scanf("%i",&n);
   
   for (int i = 0; i < n; i++)
   {
       printf("\nIntroduce tu nombre: ");
       gets(nombre);
       printf("Bienvenido a C, %s",nombre);
  }
   getch();
}
 Me equivoque es que ya era muy tarde por aca, me estaba durmiendo...
En línea
Fletch

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #19 en: 16 Septiembre 2005, 20:21 »

A er, en el primero hazlo así:

Código:
#include <stdio.h>
#include <conio.h>

int main()
{
 char oracion[81];
 char *p;
 int i;
 printf("Escribe un numero entero: ");
 scanf("%i",&i);
 printf( "Escribe una oracion:\n");
 p=gets(oracion);
 printf( "\nHas escrito: \"%s\"\n", oracion );
 getch();

 return 0;
}

Saludos!

Probe este programa con el Dev-C++, y realiza la misma accion de saltarse el gets() poseterior al scanf().

Gracias por su ayuda
En línea
Cab Calloway
Colaborador

Desconectado Desconectado

Mensajes: 4.262



Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #20 en: 16 Septiembre 2005, 20:25 »

Si es cierto, ahora k lo pienso, :S:S k kilombo...

Respecto al segundo... por k pones   "main()" en vez de "int main()"??

Saludos!
« Última modificación: 16 Septiembre 2005, 23:12 por kasswed » En línea

Se busca gato.
Cab Calloway
Colaborador

Desconectado Desconectado

Mensajes: 4.262



Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #21 en: 16 Septiembre 2005, 20:34 »

A ver, y en el primer ejemplo, limpia el buffer de entrada con fflush(stdin)

Código:
#include <stdio.h>
#include <conio.h>

int main()
{
char oracion[81];
int i;
printf("Escribe un numero entero: ");
fflush(stdin);
scanf("%i",&i);
printf( "Escribe una oracion:\n");
fflush(stdin);
gets(oracion);
printf( "\nHas escrito: \"%s\"\n", oracion );
getch();

return 0;
}


Saludos!
« Última modificación: 16 Septiembre 2005, 23:13 por kasswed » En línea

Se busca gato.
Fletch

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #22 en: 16 Septiembre 2005, 22:22 »

lo del main() fue por error se me olvido que tipo de variable regresa, pero si se lo pondre, gracias por la sugerencia, y probare usando el fflush(stdin) a ver que pasa, gracias a todos por sus observaciones.

Saludos
En línea
Fletch

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #23 en: 16 Septiembre 2005, 22:33 »

Bueno he probado ambos codigos el que contiene el ciclo for y el que no lo tiene ambos usando el gets() para introducir una cadena de caracteres y funcionan bien anteponiendo el fflush(stdin).

Gracias por la ayuda.

Una pregunta mas solo queria saber por que se salta un gets() si no utilizamos el fflush()

Gracias
Saludos
En línea
Cab Calloway
Colaborador

Desconectado Desconectado

Mensajes: 4.262



Ver Perfil
Re: gets (strings) no lo entiendo muy bien, ayuda plz
« Respuesta #24 en: 16 Septiembre 2005, 23:08 »

Pues porque al no limpiar el buffer de entrada de datos con fflush, se lo salta xD.

Si alguien experto puede dar una respuesta más científica sería agradecido.

Saludos!
En línea

Se busca gato.
Páginas: 1 [2] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC