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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Pregunta sobre condicionales y booleanos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta sobre condicionales y booleanos.  (Leído 1,010 veces)
DeIMachine

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Pregunta sobre condicionales y booleanos.
« en: 8 Noviembre 2015, 19:15 pm »

Hola de nuevo, tengo este problema que vuelve a ser bastante fácil:
https://gyazo.com/01dd2521958d2b9b17f32817fbbbae28

Mi problema es que en la función de la variable booleana si pongo un numero negativo no soy capaz de hacer ningun cout. Por ejemplo si pongo que las horas=-1
se me acaba el programa y no me dice nada aunque yo dentro del codigo haya puesto que me imprima en pantalla algo:
Código
  1. bool verificado(int h, int m, int seg, int milesima){
  2.    if(h<0){
  3.        cout<<"Error semantico: las horas no pueden ser negativas"<<endl;
  4.        return false;
  5.    }
  6. }
  7.  
  8.  


En línea

La tradición es la mortaja de la sabiduría.
ivancea96


Desconectado Desconectado

Mensajes: 3.411


ASMático


Ver Perfil WWW
Re: Pregunta sobre condicionales y booleanos.
« Respuesta #1 en: 8 Noviembre 2015, 19:31 pm »

En la misma función, haz un cout antes del if, para comprobar si h es el número correcto.


En línea

DeIMachine

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: Pregunta sobre condicionales y booleanos.
« Respuesta #2 en: 8 Noviembre 2015, 19:37 pm »

Hago un cout<<h; para que me diga que numero habia escrito como h y siempre me devuelve 1 x), no le encuentro el sentido.
En línea

La tradición es la mortaja de la sabiduría.
ivancea96


Desconectado Desconectado

Mensajes: 3.411


ASMático


Ver Perfil WWW
Re: Pregunta sobre condicionales y booleanos.
« Respuesta #3 en: 8 Noviembre 2015, 19:43 pm »

Bien, entonces sabes una cosa, y es que llemas a la función enviándole un 1 como primer parámetro. Eso significa que el problema viene de antes. Revisa dónde la llamas, y revisa si a la variable que le pasas como parámetro le asignas el valor correctamente.
En línea

DeIMachine

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: Pregunta sobre condicionales y booleanos.
« Respuesta #4 en: 8 Noviembre 2015, 20:01 pm »

He ido recortando el codigo y todavia no he encontrado la respuesta, ahora en vez de cambiarme ha  1 me lo cambia a 0 exactamente con esto.
Lo estoy repasando y repasando pero es que no hay nada, ya me estoy desquiciando jajaj, el programa empieza con la funcion void leer recibe la variable h, despues de obtenerla la imprimo en el main y me pone que es 0, es que no se que se me pasa por alto si realmente es muy pequeño el codigo y no toco na.
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void leer(int h){
  6.    cin >> h;
  7.  
  8. }
  9.  
  10.  
  11.  
  12.  
  13.  
  14. int main(){
  15.    int h;
  16.    leer(h);
  17.    cout<<h;
  18.  
  19.    return 0;
  20. }    
  21.  
En línea

La tradición es la mortaja de la sabiduría.
DeIMachine

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: Pregunta sobre condicionales y booleanos.
« Respuesta #5 en: 8 Noviembre 2015, 20:19 pm »

De hecho si pregunto el valor de h en void leer me lo da bien pero al pasar a la main cambia automaticamente a 1.
En línea

La tradición es la mortaja de la sabiduría.
ivancea96


Desconectado Desconectado

Mensajes: 3.411


ASMático


Ver Perfil WWW
Re: Pregunta sobre condicionales y booleanos.
« Respuesta #6 en: 8 Noviembre 2015, 20:54 pm »

He ido recortando el codigo y todavia no he encontrado la respuesta, ahora en vez de cambiarme ha  1 me lo cambia a 0 exactamente con esto.
Lo estoy repasando y repasando pero es que no hay nada, ya me estoy desquiciando jajaj, el programa empieza con la funcion void leer recibe la variable h, despues de obtenerla la imprimo en el main y me pone que es 0, es que no se que se me pasa por alto si realmente es muy pequeño el codigo y no toco na.
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void leer(int h){
  6.    cin >> h;
  7.  
  8. }
  9.  
  10.  
  11.  
  12.  
  13.  
  14. int main(){
  15.    int h;
  16.    leer(h);
  17.    cout<<h;
  18.  
  19.    return 0;
  20. }    
  21.  

Bien,ahí el problema es que le pasas el valor de la variable h a la función. Pero si la función modifica su propia variable h, esa modificación no va a afectar a fuera de la función. Coloca:

Código
  1. void leer(int* h){
  2.    cin >> h;
  3. }
  4. ...
  5. leer(&h);
  6.  
o
Código
  1. void leer(int& h){
  2.    cin >> h;
  3. }
  4. ...
  5. leer(h);
  6.  

De estas maneras, le pasas una referencia a tu variable "h" de main, así la función puede modificar <tu> variable, y no su variable. El tema de punteros y memoria ya lo verás si no lo viste aun.
En línea

DeIMachine

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: Pregunta sobre condicionales y booleanos.
« Respuesta #7 en: 8 Noviembre 2015, 23:40 pm »

Una vez más gracias, soy un poco tonto y en la main que nos daban venían declarados ya los punteros pero yo lo hice aparte y la lié porque aun no los había dado.
En línea

La tradición es la mortaja de la sabiduría.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con los condicionales.
Programación Visual Basic
luiggy2 9 1,685 Último mensaje 7 Diciembre 2007, 06:14 am
por SKL (orignal)
Un vector de booleanos se puede convertir en un integer y viceversa?
Programación C/C++
Bròquil 6 2,955 Último mensaje 7 Diciembre 2013, 01:46 am
por rir3760
[PREGUNTA] Pregunta sobre la licencia libre GPL
Programación General
Noxware 3 1,294 Último mensaje 23 Abril 2014, 20:18 pm
por Noxware
Duda con algoritmo secuencial usando booleanos
Programación C/C++
DeIMachine 9 996 Último mensaje 21 Noviembre 2015, 12:58 pm
por DeIMachine
Duda sobre expresiones condicionales. « 1 2 3 »
Programación General
Tachikomaia 21 3,154 Último mensaje 16 Julio 2018, 20:46 pm
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines