¿Cual es el error en este código?

Iniciado por Draklit, 26 Mayo 2010, 17:56 PM

0 Miembros y 1 Visitante están viendo este tema.

Draklit

#include <iostream.h>

int main (void)
{
double s, h, m;
cout<<"Ingrese un valor de tiempo en segundos:"<<endl;
cin>>s;
while(s>=60)
{
s=s-60;
m=m+1;
}
while(m>=60)
{
m=m-60;
h=h+1;
}
cout<<"Son: "<<h<<" horas, "<<m<<" minutos y "<<s<<"segundos."<<endl;
return 0;
}


Compila todo bien, pero, cuando lo ejecuto, pongo el valor de s y entra en algún bucle infinito o algo, porque no pasa nada más =( y se traba.

MessageBoxA

sencillo cuando la calidad va por encima del resto de todos uds ALTO ESO ES DON OMAR   :xD

sencillo hijo el elprimer while no le colocas valor a M por ende BASURA=BASURA+1 te dara como resultado q nunca saldra del while al igual que el el otro con la variable H
SI LA MATRIX FUERA PERFECTA.... ESTARÍA ESCRITA EN C++

Draklit

Cita de: MessageBoxA en 26 Mayo 2010, 18:06 PM
sencillo cuando la calidad va por encima del resto de todos uds ALTO ESO ES DON OMAR   :xD

sencillo hijo el elprimer while no le colocas valor a M por ende BASURA=BASURA+1 te dara como resultado q nunca saldra del while al igual que el el otro con la variable H

Ah que estúpido que soy, bueno, en realidad, no sabía =/ gracias  ;-)

leogtz

La cabecera estandard de C++ es iostream no iostream.h, además de que a "h" tampoco le das un valor inicial.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

dato000

Cita de: MessageBoxA en 26 Mayo 2010, 18:06 PM
sencillo cuando la calidad va por encima del resto de todos uds ALTO ESO ES DON OMAR   :xD

sencillo hijo el elprimer while no le colocas valor a M por ende BASURA=BASURA+1 te dara como resultado q nunca saldra del while al igual que el el otro con la variable H

jajaja es verdad, mira, aqui te dejo, MessageBoxA tiene razón, a mi me resulto de la siguiente manera.

#include <iostream>

int main (void)
{
double s, h=0, m=0;
cout<<"Ingrese un valor de tiempo en segundos: " << endl;
cin>>s;
while(s>=60)
{
s=s-60;
m=m+1;
}
while(m>=60)
{
m=m-60;
h=h+1;
}
cout<<"Son: "<<h<<" horas, "<<m<<" minutos y "<<s<<"segundos."<<endl;

system("PAUSE");
return 0;
}





Draklit

Cita de: dato000 en 27 Mayo 2010, 04:39 AM
Cita de: MessageBoxA en 26 Mayo 2010, 18:06 PM
sencillo cuando la calidad va por encima del resto de todos uds ALTO ESO ES DON OMAR   :xD

sencillo hijo el elprimer while no le colocas valor a M por ende BASURA=BASURA+1 te dara como resultado q nunca saldra del while al igual que el el otro con la variable H

jajaja es verdad, mira, aqui te dejo, MessageBoxA tiene razón, a mi me resulto de la siguiente manera.

#include <iostream>

int main (void)
{
double s, h=0, m=0;
cout<<"Ingrese un valor de tiempo en segundos: " << endl;
cin>>s;
while(s>=60)
{
s=s-60;
m=m+1;
}
while(m>=60)
{
m=m-60;
h=h+1;
}
cout<<"Son: "<<h<<" horas, "<<m<<" minutos y "<<s<<"segundos."<<endl;

system("PAUSE");
return 0;
}




Sii ya sé, a mi también me resultó declarando un valor para h y m, simplemente no me había dado cuenta. Y con respecto a iostream, ok, no sabía, es que el libro del que leí el código de ejemplo (Un cout que decía algo así como "Mi primer programa" o algo) estaba "<iostream.h>" O_o