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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa en c++ que sume segundos en una hora determinada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa en c++ que sume segundos en una hora determinada  (Leído 9,365 veces)
dxdiag90

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Programa en c++ que sume segundos en una hora determinada
« en: 11 Octubre 2012, 00:00 am »

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 Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Programa en c++ que sume segundos en una hora determinada
« Respuesta #1 en: 11 Octubre 2012, 00:19 am »

Hola dxdiag90 , postea lo que lleves de código con las etiquetas GeSHi , para ver donde has fallado.  :D


En línea

Regístrate en
dxdiag90

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Programa en c++ que sume segundos en una hora determinada
« Respuesta #2 en: 11 Octubre 2012, 01:05 am »

Código:
#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 Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Programa en c++ que sume segundos en una hora determinada
« Respuesta #3 en: 11 Octubre 2012, 01:13 am »

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 Desconectado

Mensajes: 1.314


Ver Perfil
Re: Programa en c++ que sume segundos en una hora determinada
« Respuesta #4 en: 12 Octubre 2012, 13:38 pm »

En segundos no restastes los correspondientes a minutos y horas. El resto estaba O.K:
Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.    int hin,min,seg,segsum;
  9.    int soloSegundos,hOut,mOut,sOut;
  10. //capturar en la pantalla los datos
  11. cout<<"Digite la hora (24hrs): ";
  12. cin>>hin;
  13. cout<<"Digite los minutos: ";
  14. cin>>min;
  15. cout<<"DIgite segundos: "<<endl;
  16. cin>>seg;
  17. //Calculo todo en seg
  18. soloSegundos = hin*3600+(min*60)+seg;
  19.  
  20. cout<<"Digite los segundos a sumar: ";
  21. cin>>segsum;
  22.  
  23.  
  24. soloSegundos += segsum;
  25.  
  26. hOut = soloSegundos / 3600;
  27. mOut = ((soloSegundos /60)-(hOut*60));
  28. sOut=(soloSegundos-(mOut*60)-(hOut*3600));
  29. cout<<"Horas:  "<<hOut;
  30. cout<<"  Minutos:"  <<mOut;
  31. cout<<"  Segundos:  "<<sOut<<endl;
  32.    system("PAUSE");
  33.    return EXIT_SUCCESS;
  34. }
  35.  
  36.  
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Programa en c++ que sume segundos en una hora determinada
« Respuesta #5 en: 13 Octubre 2012, 03:04 am »

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:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main(void)
  6. {
  7.   int h;
  8.   int m;
  9.   int s;
  10.   int incr;
  11.   div_t tmp;
  12.  
  13.   srand((unsigned) time(NULL));
  14.   h = rand() % 24;
  15.   m = rand() % 60;
  16.   s = rand() % 60;
  17.   printf("%02d:%02d:%02d\n", h, m, s);
  18.  
  19.   incr = rand() % 180;
  20.   printf("+ %d segs\n", incr);
  21.  
  22.   tmp = div(h * 3600 + m * 60 + s + incr, 3600);
  23.   printf("%02d:", tmp.quot);
  24.   tmp = div(tmp.rem, 60);
  25.   printf("%02d:%02d\n", tmp.quot, tmp.rem);
  26.  
  27.   return EXIT_SUCCESS;
  28. }

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 Desconectado

Mensajes: 52



Ver Perfil
Re: Programa en c++ que sume segundos en una hora determinada
« Respuesta #6 en: 14 Octubre 2012, 09:37 am »

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:
Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cstdio>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9.    int hin,min,seg,segsum;
  10.    int soloSegundos,hOut,mOut,sOut;
  11. cout<<"Digite la hora (24hrs): ";
  12. cin>>hin;
  13. cout<<"Digite los minutos: ";
  14. cin>>min;
  15. cout<<"DIgite segundos: "<<endl;
  16. cin>>seg;
  17. soloSegundos = hin*3600+(min*60)+seg;
  18.  
  19. cout<<"Digite los segundos a sumar: ";
  20. cin>>segsum;
  21.  
  22.  
  23. soloSegundos += segsum;
  24.  
  25. hOut = soloSegundos / 3600;
  26. mOut = ((soloSegundos /60)-(hOut*60));
  27. sOut=(soloSegundos-(mOut*60)-(hOut*3600));
  28. cout<<"Horas:  "<<hOut;
  29. cout<<"  Minutos:"  <<mOut;
  30. cout<<"  Segundos:  "<<sOut<<endl;
  31. cout<<"Pulse intro para finalizar"<<endl;
  32. getchar();
  33. getchar();
  34. return 0;
  35. }
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 Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: Programa en c++ que sume segundos en una hora determinada
« Respuesta #7 en: 17 Octubre 2012, 00:39 am »

Para no gastar RAM (?) mejor utilizar cin.get() xD
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa q sume numeros elevados
Programación C/C++
airtraffic 7 4,438 Último mensaje 8 Septiembre 2011, 22:54 pm
por Alien-Z
Programar un script en una hora o fecha determinada
GNU/Linux
Karkass 2 2,483 Último mensaje 29 Mayo 2016, 23:38 pm
por Karkass
(Python 3.5) Hacer una accion a una determinada hora
Scripting
BigKaz 5 3,970 Último mensaje 10 Diciembre 2016, 19:01 pm
por antkk
Cómo programar el cierre de tus aplicaciones a una hora determinada
Noticias
wolfbcn 0 975 Último mensaje 19 Octubre 2018, 23:10 pm
por wolfbcn
Problemas de caída de red a hora determinada
Redes
Templario_29 1 2,094 Último mensaje 15 Octubre 2019, 02:35 am
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines