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)
| | |-+  Que falla en esta funcion??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Que falla en esta funcion??  (Leído 1,712 veces)
Mozzard

Desconectado Desconectado

Mensajes: 31


cout << "Text here" << endl;


Ver Perfil
Que falla en esta funcion??
« en: 9 Octubre 2018, 22:04 pm »

no me devuelve correctamente el valor y pues pase lo que pase el programa de acaba al instante

Código:
bool adios(bool s){
printf("Desea salir? [y/n]\n");
char k;
scanf("%s",&k);
if(k=='y'){
printf("Hasta otra!\n");
return false;
}else{
return true;
}
}



En línea

Código:
Programalo... sin miedo...
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Que falla en esta funcion??
« Respuesta #1 en: 9 Octubre 2018, 23:23 pm »

Dos fallos:
El argumento s no sirve para nada, nunca lo usas. Bórralo.
Para conseguir un caracter es %c. %s es para conseguir una cadena.


En línea

Mozzard

Desconectado Desconectado

Mensajes: 31


cout << "Text here" << endl;


Ver Perfil
Re: Que falla en esta funcion??
« Respuesta #2 en: 10 Octubre 2018, 17:42 pm »

Okey, se ha quedado asi:
Código:
bool adios(){
printf("Desea salir? [y/n]\n");
char k;
scanf("%c",&k);
if(k=='y'){
printf("Hasta otra!\n");
return false;
}else{
return true;
}
}


Aun asi sigue fallando, ahora no me pide y o n y sigue con el programa.
En línea

Código:
Programalo... sin miedo...
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Que falla en esta funcion??
« Respuesta #3 en: 10 Octubre 2018, 18:38 pm »

Pues el error fatal es que la funcion es solo para devolver un valor... aunque tambien se puede modificar valores pasados por referencia o mostrar mensajes como en tu caso,  pero ya no respetaria lo que es una función :silbar:

Código
  1. bool adios(){
  2. char respuesta;
  3. cout<<"Desea continuar? S/N: ";cin>>respuesta;
  4. if(respuesta=='S' || respuesta=='s')
  5. return true;
  6. else
  7. return false;
  8. }
  9.  
« Última modificación: 11 Octubre 2018, 00:09 am por Beginner Web » En línea

7w7
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Que falla en esta funcion??
« Respuesta #4 en: 10 Octubre 2018, 19:22 pm »

Seguro que has hecho una entrada por teclado antes. En ese caso se ha quedo '\n' dentro del buffer stdin y debes eliminarlo.
Cada vez que leas del teclado, por normal general, debes incluir un
Código:
while(getchar()!='\n');
eso vaciará el buffer hasta después de un carácter de nueva línea.
Digo por norma general porque fgets, gets, etc. sí adquieren el '\n' y la anterior sentencia creará una pausa.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Que falla en la funcion?
PHP
Alex_bro 0 1,583 Último mensaje 11 Abril 2009, 16:03 pm
por Alex_bro
Funcion que falla y borra una tabla entera
PHP
zellion 8 4,409 Último mensaje 2 Junio 2011, 11:47 am
por zellion
Es explotable esta falla?
Nivel Web
nebiros_root 1 2,821 Último mensaje 5 Octubre 2011, 15:15 pm
por madpitbull_99
Porque falla esta inyección?
Programación C/C++
Vaagish 7 3,495 Último mensaje 3 Octubre 2013, 22:30 pm
por x64core
Mi funcion de borrar falla
Programación C/C++
Evox4 0 1,816 Último mensaje 10 Octubre 2016, 02:13 am
por Evox4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines