Autor
|
Tema: Problema con programa... (Leído 5,651 veces)
|
Wazzp
Desconectado
Mensajes: 34
We have seen the fall of the elite...
|
Bueno tengo un problemilla.. Estoy escribiendo un programa que tome una cantidad de segundos introducida por el usuario, y cuente la cantidad de horas, minutos y segundos que hay en esa cantidad.. Ahora bien,Solo hice la parte en la que el usuario introduce los datos, se lo mande a un amigo para que pruebe el programa y cada vez que presiona enter,el mismo se cierra.. les dejo el codigo.. que deberia agregar para que el programa no se cierra con enter? PD:La parte de "Presione enter para continuar" La voy a quitar una vez solucione este problema y pueda avanzar con el prog.. Tambien,Deberia usar la funcion if para hacer la parte del calculo de horas min y segs? Gracias por la ayuda! #include <iostream> main() { using namespace std; int segundos; cout << "Ingrese una cantidad de segundos" << endl; cin >> segundos; cout << "Ingresaste :"; cout << segundos << endl; cout << "Presione enter para continuar." << endl; return 0; }
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
#include <iostream> int main()// Valor de retorno debe ser un entero. { using namespace std; int segundos; cout << "Ingrese una cantidad de segundos" << endl; cin >> segundos; cout << "Ingresaste :"; cout << segundos << endl; cout << "Presione enter para continuar." << endl; cin.ignore();//Descartas datos innecesarios que puedan existir en el buffer cin.get();//Esperas que se presione una tecla. return 0; }
Utiliza el buscador del foro, podrás encontrar varios hilos que explican distintas formas de hacer pausas, que debería usarse, que no, etc. Saludos
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
En lo que te refieres a si es necesario utilizar if para las horas la respuesta es no, simplemente tienes que pensar en una manera optima de pasar de segundo a minutos, y de minutos a horas. ten en cuenta que: 1hr = 60min = 3600seg y 1min = 60seg. Esto te lleva a la siguiente deduccion, si divides la cantidad de segundos entre 3600 te dara la cantidad de horas... puedes restar la cantidad de segundos que utilizaste. entonces los segundos restantes puedes dividirlos entre 60 y te daran la cantidad de minutos, nuevamente vuelves y restas la cantidad de segundos utilizados y solo te quedarian los segundos. Esta forma es mas rapida, debido a que evitas tener que ejecutar varias veces una porcion de codigo. h=s/3600; s-=(h*3600); m=s/60; s-=(m*60);
|
|
« Última modificación: 1 Septiembre 2010, 06:58 am por Lord R.N.A. »
|
En línea
|
|
|
|
Gerik
Desconectado
Mensajes: 24
|
# include <conio.h> # include <stdio.h> # include <iostream.h> class Tiempo {public: int s,h,m,seg; Tiempo(){s,h,m,seg=0; }; ~Tiempo(){}; void time() {cout<<"...:::Conversion De Segundos A Horas Minutos y Segundo:::..."; cout<<"\n\nDigite Los Segundos a Convertir: "; cin>>s; if(s>=3600) {h=s/3600; m=(s%3600)/60; seg=(s%3600)/60; } clrscr(); cout<<"La Conversion de Segundos a Horas Minutos y Segundos es: "; cout<<"\n\n"<<h<<" Horas"; cout<<"\n"<<m<<" Minutos"; cout<<"\n"<<seg<<" Segundos"; getch(); } }; main(){ Tiempo obj; obj.time(); }
Espero Te sirva
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Que conste que ya Gerik le completo la tarea... #include <iostream> using std::cout; using std::cin; using std::endl; int main() { int h, m, s; cin>>s; h=s/3600; s-=(h*3600); m=s/60; s-=(m*60); cout<<"Horas: "<<h<<" Minutos: "<<m<<" Segundos: "<<s<<endl; cin.ignore(); cin.get(); }
@Gerik: Conio.h no es standar.
|
|
|
En línea
|
|
|
|
Wazzp
Desconectado
Mensajes: 34
We have seen the fall of the elite...
|
Gracias a todos por la ayuda.. No me habia dado cuenta de esos errores.. Yo habia leido lo del cin.ignore,lo intente pero pero igual no funcionaba, no sabia que tambien habia que usar el .get.. Recien me levanto de una siesta asi que ni bien me despierto bien me pongo a completar el codigo. Voy a intentar ignorar el codigo de Gerik asi lo hago yo solo,Gracias por la ayuda igual Gerik!
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Cuando termines el codigo postealo... no creo que dures mucho ahora que ya esta la idea.
|
|
|
En línea
|
|
|
|
Wazzp
Desconectado
Mensajes: 34
We have seen the fall of the elite...
|
Gracias R.N.A. De todas formas,Aunque el codigo ya este hecho, Medio como que lo ignore al pasar porque me gustaria hacerlo yo solo para verificar que estoy entendiendo.. mi mas grave problema es que los libros que baje son de C y no de C++ por eso hay cosas que no funcionan XD!!! Soy medio tonto ya se pero todo a su tiempo. Mas tarde me paso por la sección de ejercicios o de libros para buscar mas info. Esto de la programacion no es tan dificil como pense! Ns vemos. Lh: Utiliza el botón modificar.Entonces.... el codigo que quedo fue... #include <iostream> int main() { using namespace std; int s; cout << "Ingrese una cantidad de segundos" << endl; cin >> s; int h,m; h=(s/3600); s-=(h*3600); m=(s/60); s-=(m*60); cout << "" <<std::endl;//agrega una linea para facitiliar la lectura cout <<"Horas:"<<h<<endl; cout << "Minutos:"<<m<<endl; cout << "Segundos:"<<s<<endl; cin.ignore(); cin.get(); return 0; }code] Por cierto,Hay alguna manera de agregar una linea sin usar el cout sin nada entre ""? Probe el \n y no sirvio... o lo use mal.
|
|
« Última modificación: 2 Septiembre 2010, 22:41 pm por Littlehorse »
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Por cierto,Hay alguna manera de agregar una linea sin usar el cout sin nada entre ""? Probe el \n y no sirvio cout<<"Cad1 \n"; cout<<"\n"; cout<<endl; cout<<"Cad2"<<endl; cout<<"Cad3"<<"\n"; etc>
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
Por cierto,Hay alguna manera de agregar una linea sin usar el cout sin nada entre ""? Probe el \n y no sirvio También puedes usar endl. Saludos
|
|
|
En línea
|
|
|
|
|
|