Autor
|
Tema: Programa en c++ que sume segundos en una hora determinada (Leído 9,935 veces)
|
dxdiag90
Desconectado
Mensajes: 3
|
Amigos, tengo un problema con un programilla en c++
El programa tiene que permitir sumarle a una determinada hora (h:m:s) un numero de segundos y posterior a eso mostrar la hora resultante. (el formato está en 24hrs) Creo que se utilizan los arreglos de tipo vector pero el problema es que no me da el resultado
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Hola dxdiag90 , postea lo que lleves de código con las etiquetas GeSHi , para ver donde has fallado.
|
|
|
En línea
|
Regístrate en
|
|
|
dxdiag90
Desconectado
Mensajes: 3
|
#include <cstdlib> #include <iostream>
using namespace std;
int main(int argc, char *argv[]) { int hin,min,seg,segsum; int soloSegundos,hOut,mOut,sOut; //capturar en la pantalla los datos cout<<"Digite la hora (24hrs): "; cin>>hin; cout<<"Digite los minutos: "; cin>>min; cout<<"DIgite segundos: "<<endl; cin>>seg; //Calculo todo en seg soloSegundos = hin*3600+(min*60)+seg;
cout<<"Digite los segundos a sumar: "; cin>>segsum;
soloSegundos += segsum;
hOut = soloSegundos / 3600; mOut = ((soloSegundos /60)-(hOut*60)); sOut=(soloSegundos-(mOut)-(hOut)); cout<<"Horas: "<<hOut; cout<<" Minutos:" <<mOut; cout<<" Segundos: "<<sOut; system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Última modificación: 11 Octubre 2012, 01:07 am por dxdiag90 »
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Había puesto algo pero nada me lo inventé todo , ya te lo dijo leosansan.
|
|
« Última modificación: 12 Octubre 2012, 13:43 pm por avesudra »
|
En línea
|
Regístrate en
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
En segundos no restastes los correspondientes a minutos y horas. El resto estaba O.K:#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int hin,min,seg,segsum; int soloSegundos,hOut,mOut,sOut; //capturar en la pantalla los datos cout<<"Digite la hora (24hrs): "; cin>>hin; cout<<"Digite los minutos: "; cin>>min; cout<<"DIgite segundos: "<<endl; cin>>seg; //Calculo todo en seg soloSegundos = hin*3600+(min*60)+seg; cout<<"Digite los segundos a sumar: "; cin>>segsum; soloSegundos += segsum; hOut = soloSegundos / 3600; mOut = ((soloSegundos /60)-(hOut*60)); sOut=(soloSegundos-(mOut*60)-(hOut*3600)); cout<<"Horas: "<<hOut; cout<<" Minutos:" <<mOut; cout<<" Segundos: "<<sOut<<endl; return EXIT_SUCCESS; }
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Una opción similar es mediante el uso de la función "div" (prototipo en <stdlib.h> o <cstdlib>, dependiendo del caso). Ella realiza la división entera y retorna un objeto de tipo "struct div_t" con dos campos: "quot" es el cociente y "rem" el residuo. Un ejemplo de su uso (en C) es: #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int h; int m; int s; int incr; div_t tmp; printf("%02d:%02d:%02d\n", h , m , s ); tmp = div(h * 3600 + m * 60 + s + incr , 3600); printf("%02d:%02d\n", tmp. quot, tmp. rem); return EXIT_SUCCESS; }
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
ankora45
Desconectado
Mensajes: 52
|
Hola te recomendaria que no llamaras a system para hacer una pausa porque no es multiplataforma en linux no va te recomendaria getchar, tambien no retornaste nada en el main int main(); return 0; aqui te dejo el code: #include <cstdlib> #include <iostream> #include <cstdio> using namespace std; int main(int argc, char *argv[]) { int hin,min,seg,segsum; int soloSegundos,hOut,mOut,sOut; cout<<"Digite la hora (24hrs): "; cin>>hin; cout<<"Digite los minutos: "; cin>>min; cout<<"DIgite segundos: "<<endl; cin>>seg; soloSegundos = hin*3600+(min*60)+seg; cout<<"Digite los segundos a sumar: "; cin>>segsum; soloSegundos += segsum; hOut = soloSegundos / 3600; mOut = ((soloSegundos /60)-(hOut*60)); sOut=(soloSegundos-(mOut*60)-(hOut*3600)); cout<<"Horas: "<<hOut; cout<<" Minutos:" <<mOut; cout<<" Segundos: "<<sOut<<endl; cout<<"Pulse intro para finalizar"<<endl; getchar(); getchar(); return 0; }
|
|
|
En línea
|
Hay dos cosas infinitas en este mundo, el universo y la estupidez humana, y de la primera no estoy muy seguro
|
|
|
Puntoinfinito
Desconectado
Mensajes: 919
#! /win/archlinux
|
Para no gastar RAM (?) mejor utilizar cin.get() xD
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Programa q sume numeros elevados
Programación C/C++
|
airtraffic
|
7
|
4,821
|
8 Septiembre 2011, 22:54 pm
por Alien-Z
|
|
|
Programar un script en una hora o fecha determinada
GNU/Linux
|
Karkass
|
2
|
2,736
|
29 Mayo 2016, 23:38 pm
por Karkass
|
|
|
(Python 3.5) Hacer una accion a una determinada hora
Scripting
|
BigKaz
|
5
|
4,309
|
10 Diciembre 2016, 19:01 pm
por antkk
|
|
|
Cómo programar el cierre de tus aplicaciones a una hora determinada
Noticias
|
wolfbcn
|
0
|
1,145
|
19 Octubre 2018, 23:10 pm
por wolfbcn
|
|
|
Problemas de caída de red a hora determinada
Redes
|
Templario_29
|
1
|
2,461
|
15 Octubre 2019, 02:35 am
por @XSStringManolo
|
|