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


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  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 178 veces)
Mozzard

Desconectado Desconectado

Mensajes: 17


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

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

MAFUS


Desconectado Desconectado

Mensajes: 1.325



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

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

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Mozzard

Desconectado Desconectado

Mensajes: 17


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

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

Beginner Web

Desconectado Desconectado

Mensajes: 186


youtu.be/0YhflLRE-DA


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

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 por Beginner Web » En línea

Código
  1. # Programador: Ana Kéldysh
  2. # Nacionalidad: Rusia
  3. # Edad: 14 años
  4. #!/bin/bash
  5. echo Hola
Código
  1. void como_la_realidad(short vida)
  2. {
  3. if(vida<=1)
  4. cout << "Entrando en el sueño";
  5. else{
  6. como_la_realidad(vida-1);
  7. cout << " del sueño";
  8. }
  9. }
Código
  1. System.out.println("La vida solo puede comprenderse al réves, pero debe vivirse hacia adelante");
MAFUS


Desconectado Desconectado

Mensajes: 1.325



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

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

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Donde esta la Falla.
Programación C/C++
^Tifa^ 4 1,146 Último mensaje 30 Mayo 2008, 22:06
por Spider-Net
Que falla en la funcion?
PHP
Alex_bro 0 946 Último mensaje 11 Abril 2009, 16:03
por Alex_bro
Funcion que falla y borra una tabla entera
PHP
zellion 8 2,762 Último mensaje 2 Junio 2011, 11:47
por zellion
Es explotable esta falla?
Nivel Web
nebiros_root 1 1,773 Último mensaje 5 Octubre 2011, 15:15
por madpitbull_99
Mi funcion de borrar falla
Programación C/C++
Evox4 0 622 Último mensaje 10 Octubre 2016, 02:13
por Evox4
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines