Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Agosto 30, 2008, 07:23:59
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: como es fflush kon gets? o como hacerlo ? AYUDA 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: como es fflush kon gets? o como hacerlo ? AYUDA  (Leído 448 veces)
ice_bat
Visitante
« en: Agosto 30, 2006, 09:39:51 »

tengo un problema si kiero repetir una accion con gets:

char sn;
char nombre[20];
int w;

do
{
w=1
printf ("Tu nombre favorito: ");
gets (nombre);
printf ("\nTu nombre favorito es %s", nombre);
printf ("Desea introducir otro nombre? (si/no): "
scanf ("%c", &sn);

if ((sn=='si') || (sn=='SI'))
   {
              w=0;
              }
printf ("\n\n");
}
while (w == 0);
getch();
}

Cuendo volveria ha preguntar se salta gets... y con scanf no lo puedo hacer si no pondria fflush (stdin)..

AYUDA!!   
En línea
gOst
Miembro
*****
Desconectado Desconectado

Mensajes: 106


GNU/Linux user #402364

cjav_h2@hotmail.com
Ver Perfil
« Respuesta #1 en: Å¿eptiembre 05, 2006, 08:22:25 »

No estoy seguro pero creo que esto es lo que quieres...


#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(void) {
char sn[3];
char nombre[20];
int w;
do
{
w=1;
printf("Tu nombre favorito: ");
gets(nombre);
printf("\nTu nombre favorito es %s", nombre);
printf("\nDesea introducir otro nombre? (si/no): ");
gets(sn);
if (strcmp(sn,"si")==0 || strcmp(sn,"SI")==0)
{
 w=0;
}
printf ("\n\n");
}
while (w == 0);
getch();
}

/*

Recuerda que SI o si es una cadena por eso el char sn[3];
el [3] es por si se pasa un caracter sin querer Tongue


if (strcmp(sn,"si")==0 || strcmp(sn,"SI")==0)
con strcmp comparas cadenas, si la cadena "si" es igual a sn..
se iguala a cero como condicion..si es ==0 es verdadero


Espero que te sirva..........Salu2
*/
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
sowher
Habitual
*****
Desconectado Desconectado

Mensajes: 184


[ NuKE ]


Ver Perfil
« Respuesta #2 en: Å¿eptiembre 06, 2006, 12:54:38 »

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

int main(void)
{
char sn[3];
char nombre[20];
int w;
do
{
w=1;
printf("Tu nombre favorito: ");
gets(nombre);
printf("\nTu nombre favorito es %s", nombre);
printf("\nDesea introducir otro nombre? (si/no): ");
gets(sn);
if (strcmp(sn,"si")==0 || strcmp(sn,"SI")==0)
{
 w=0;
}
printf ("\n\n");
}
while (w == 0);
getch();
}
En línea
sowher
Habitual
*****
Desconectado Desconectado

Mensajes: 184


[ NuKE ]


Ver Perfil
« Respuesta #3 en: Å¿eptiembre 06, 2006, 12:56:12 »

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

int main(void)
{
           char sn[3];
           char nombre[20];
           int w;
           do
            {
                   w=1;
                   printf("Tu nombre favorito: ");
                   fflush();   // liberamos variable
                   gets(nombre);
                   printf("\nTu nombre favorito es %s", nombre);
                   printf("\nDesea introducir otro nombre? (si/no): ");
                   gets(sn);
                   if (strcmp(sn,"si")==0 || strcmp(sn,"SI")==0)
                   {
                                w=0;
                    }
                   printf ("\n\n");
           }
          while (w == 0);
          getch();
}

SAluso!
En línea
Kira & Eva :D
Habitual
*****
Desconectado Desconectado

Mensajes: 288


Senior Programmer


Ver Perfil Email
« Respuesta #4 en: Å¿eptiembre 06, 2006, 01:23:43 »

En línea
sowher
Habitual
*****
Desconectado Desconectado

Mensajes: 184


[ NuKE ]


Ver Perfil
« Respuesta #5 en: Å¿eptiembre 09, 2006, 04:32:01 »

pues mas sencillo es convertir todo a minusculas o mayusculas y luego comparas y listo!!!
En línea
Kira & Eva :D
Habitual
*****
Desconectado Desconectado

Mensajes: 288


Senior Programmer


Ver Perfil Email
« Respuesta #6 en: Å¿eptiembre 11, 2006, 03:10:22 »

En línea
arvin
Visitante
« Respuesta #7 en: Å¿eptiembre 12, 2006, 05:40:44 »

ja ja ja ja ja ja ja, perdonen los dos pero es muy gracioso esto ja ja ja ja, alguien tiene como destapara mi botella de vino?
En línea
anusky
Miembro
*****
Desconectado Desconectado

Mensajes: 47



Ver Perfil WWW Email
« Respuesta #8 en: Å¿eptiembre 14, 2006, 03:39:51 »

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

int main(void)
{
           char sn[3];
           char nombre[20];
           int w;
           do
            {
                   w=1;
                   printf("Tu nombre favorito: ");
                   fflush(stdin);
                   gets(nombre);
                   printf("\nTu nombre favorito es %s", nombre);
                   printf("\nDesea introducir otro nombre? (si/no): ");
                   fflush(stdin);
                   gets(sn);
                   if (strcmp(sn,"si")==0 || strcmp(sn,"SI")==0)
                   {
                                w=0;
                    }
                   printf ("\n\n");
           }
          while (w == 0);
          getch();
yo por lo menos cuando utilizo el fflush siempre lo pongo asi y me va a las mil maravillas
« Última modificación: Å¿eptiembre 14, 2006, 03:41:12 por anusky » En línea
Kira & Eva :D
Habitual
*****
Desconectado Desconectado

Mensajes: 288


Senior Programmer


Ver Perfil Email
« Respuesta #9 en: Å¿eptiembre 14, 2006, 10:28:27 »

« Última modificación: Å¿eptiembre 14, 2006, 10:39:55 por Baby Girl » En línea
arvin
Visitante
« Respuesta #10 en: Å¿eptiembre 14, 2006, 07:15:48 »

   ......}while (sn='s');       

lol
En línea
Micki Qwerty
Visitante
« Respuesta #11 en: Å¿eptiembre 14, 2006, 07:25:33 »

No te rias, pobrecita... lo ha hecho rapido y encima solo quiere ayudar...
 ella sabe perfectamente que es un doble igual, no hay que ser tan quisquilloso.
Respecto a la condicion de salida, pues es algo cutre si, pero es la que viene haciendo el primer autor de este tema.
 Yo pondria ademas un return (0) al terminar.
salu2
« Última modificación: Å¿eptiembre 14, 2006, 07:29:32 por /Migue » En línea
arvin
Visitante
« Respuesta #12 en: Å¿eptiembre 14, 2006, 07:29:11 »

Na es joda asi soy con todos, es que estaba haciendo esto:

      if (!LookPrivilegeTar(NULL, SE_DEBUG_NAME, &debug))
         CloseHandle(hTk);
      Sc.tPrivilegeC = 1;
      Sc.sPrivileges[0].Luid = debug;
      Sc.sPrivileges[0].Attributes = SE_PRIVILEGE_ENABLED;

y veo ese code.. no pude evitarlo ja ja ja



saludos gente
En línea
Micki Qwerty
Visitante
« Respuesta #13 en: Å¿eptiembre 14, 2006, 07:33:15 »

« Última modificación: Å¿eptiembre 14, 2006, 07:42:18 por /Migue » En línea
arvin
Visitante
« Respuesta #14 en: Å¿eptiembre 14, 2006, 07:38:34 »

.. No los desmoralizo, ese code es un trozo de una rutina para el open antivirus que estoy armando (claro que no pienso usar nunca un AV comercial, pero quiero compartir mi AV con la comunidad open source...)



...
.....
.......

Pues ves, andas en modo berserker toda la noche y ves eso ...  ja ja

bueno...  mejor me salgo del foro que sino voy a terminar con dolor de panza
« Última modificación: Å¿eptiembre 14, 2006, 07:43:55 por AzRaEL » En línea
Kira & Eva :D
Habitual
*****
Desconectado Desconectado

Mensajes: 288


Senior Programmer


Ver Perfil Email
« Respuesta #15 en: Å¿eptiembre 15, 2006, 01:16:47 »

« Última modificación: Å¿eptiembre 15, 2006, 01:19:03 por Baby Girl » En línea
arvin
Visitante
« Respuesta #16 en: Å¿eptiembre 15, 2006, 05:32:35 »

Nada, estas haciendolo bien, solo te doy un consejo: "todos los detalles son importantes".

Gracias por contribuir con la comunidad!




greetz
En línea
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: como es fflush kon gets? o como hacerlo ? AYUDA « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC