Programa
C++ que pide por teclado una hora en formato horas, minutos y segundos y calcula y muestra la hora que será un segundo después.
Los valores que se introducen por teclado son la hora, minutos y segundos actuales y el programa calcula la hora que se obtiene al sumar un segundo a la hora introducida.
Por ejemplo:
Si se introduce horas: 20 minutos: 19 segundos: 5 el programa mostrará: 20:19:06
Si se introduce horas: 20 minutos: 19 segundos: 59 el programa mostrará: 20:20:00
Si se introduce horas: 23 minutos: 59 segundos: 59 el programa mostrará: 00:00:00
etc.
Supondremos que los datos introducidos son válidos, el valor de las horas será un valor entre 0 y 23 y el valor de los minutos y segundos serán valores entre 0 y 59.
/*
* Programa C++
* Lee hora, minutos y segundos y calcula la hora un segundo después
* suponemos que los datos leídos son válidos,es decir, el valor de las horas
* está entre 0 y 23, el valor de los minutos y segundos es entre 0 y 59
*/
#include <iostream>
#include <iomanip>
using namespace std;
int main(void)
{
//declaración de variables
int horas, minutos, segundos;
system("cls");
//introducir por teclado horas, minutos y segundos
cout << "\nIntroduce hora: ";
cin >> horas;
cout << "\nIntroduce minutos: ";
cin >> minutos;
cout << "\nIntroduce segundos: ";
cin >> segundos;
//se suma 1 a los segundos
segundos++;
//se comprueba si después de incrementar los segundos se ha llegado a 60
if(segundos==60)
{
segundos=0; //si se ha llegado a 60, los segundos serán cero
minutos++; //y hay que sumar 1 a los minutos
if(minutos==60) //si despues de incrementar los minutos llegamos a 60
{
minutos=0; //los minutos son 0
horas++; //y se incrementa la hora
if(horas==24) //si después de incrementar la hora se llega a 24
{
horas=0; //la hora es la 0
}
}
}
//se muestra la hora que será un segundo después
cout << setfill('0') << setw(2) << endl;
cout << horas << ":" << setw(2) << minutos << ":" << setw(2) << segundos << endl;
system("pause");
}
#include
ResponderEliminar// Función para adelantar la hora en un segundo
void adelantarHora(int& horas, int& minutos, int& segundos) {
segundos++;
if (segundos >= 60) {
segundos = 0;
minutos++;
if (minutos >= 60) {
minutos = 0;
horas++;
if (horas >= 24) {
horas = 0;
}
}
}
}
int main() {
int horas, minutos, segundos;
// Solicitar la hora al usuario
std::cout << "Ingrese la hora (0-23): ";
std::cin >> horas;
std::cout << "Ingrese los minutos (0-59): ";
std::cin >> minutos;
std::cout << "Ingrese los segundos (0-59): ";
std::cin >> segundos;
// Llamar a la función adelantarHora para adelantar la hora en un segundo
adelantarHora(horas, minutos, segundos);
// Mostrar la hora adelantada
std::cout << "La hora adelantada en un segundo es: " << horas << ":" << minutos << ":" << segundos << std::endl;
return 0;
}