Cómo escribir un programa en C++ para simular un reloj digital (En 4 Pasos)

Por amber d. walker
Cómo escribir un programa en C++ para simular un reloj digital (En 4 Pasos)
Ryan McVay/Photodisc/Getty Images

La librería estándar de C++ incluye una cantidad de funciones y estructuras para ayudar a los programadores a lidiar con el tiempo en sus aplicaciones. En este tutorial crearás una clase en C++ llamada reloj que servirá como un paquete sencillo utilizando las estructuras time_t y tm ubicadas en las librerías de C++, que además incluyen un programa de ejemplo simple que sincroniza esta clase de reloj a la hora del sistema y la despliega en una interfaz de salida.

Paso 1

Cómo escribir un programa en C++ para simular un reloj digital (En 4 Pasos)
Jupiterimages/Comstock/Getty Images

Crea tus archivos. Este programa requerirá tres archivos: un archivo de encabezado de clock.h para definir el reloj de clase, un archivo de código fuente de clock.cpp C++ para definir la implementación de la clase de reloj y finalmente un programa de ejemplo sencillo mediante esta clase de main.cpp.

Paso 2

Cómo escribir un programa en C++ para simular un reloj digital (En 4 Pasos)
Jupiterimages/Creatas/Getty Images

Define la clase reloj. Abre el archivo de cabecera clock.h y define la estructura de la clase reloj introduciendo el siguiente código en ella:

ifndef _CLOCK_H

define _CLOCK_Hclass Clock {

public: int getHours() int getMinutes() int getSeconds() std::string getTime() Clock()private:}#endif / _CLOCK_H /

La clase ha sido definida para obtener mejores resultados (además del constructor Clock). Las funciones getHours, getMinutes, y getSeconds traerán cada una las diferentes fracciones de tiempo de acuerdo a la librería de tiempo estándar de C++. La librería estándar, utiliza la hora del sistema como guía. La función getTime(), asignará el formato con la cadena estándar HH:MM:SS, como se observa en los relojes digitales. Las etiquetas ifndef, define, y endif son opcionales, sin embargo es una buena práctica utilizarlas. Cuando realices grandes proyectos, incluye estas etiquetas para asegurar que un archivo de cabecera determinado se cargue solamente una vez en memoria. Esto eliminará el riesgo de errores por referencia circular, y crea el hábito de incluirlas siempre en nuevos archivos de encabezados, con lo que te ahorrará muchos dolores de cabeza en el transcurso de un proyecto.

Paso 3

Cómo escribir un programa en C++ para simular un reloj digital (En 4 Pasos)
Hemera Technologies/AbleStock.com/Getty Images

Implementa la clase Clock. Abre tu archivo clock.cpp e implementa todas las funciones que has definido en tu archivo de cabecera ingresando el siguiente código:

include

include

include \"clock.h\"Clock::Clock() {}int Clock::getHours()

{ time_t seconds = time(NULL) struct tm timeinfo = localtime(&seconds) return timeinfo->tm_hour} int Clock::getMinutes() { time_t seconds = time(NULL) struct tm timeinfo = localtime(&seconds) return timeinfo->tm_min}int Clock::getSeconds() { time_t seconds = time(NULL) struct tm *timeinfo = localtime(&seconds) return timeinfo->tm_sec}std::string Clock::getTime() { std::string time std::stringstream out out << getHours() time = out.str() out.str(\"\") time += \":\" out << getMinutes() time += out.str() out.str(\"\") time += \":\" out << getSeconds() time += out.str() return time }

Inicia en la parte superior del constructor, Clock(). Esta es una clase muy sencilla, ya que no necesitas hacer nada especial allí, ya que el constructor se encuentra vacío. Seguidamente encontrarás las funciones getHours, minutes, y seconds. Estas funciones cargan la hora local, medida en segundos, GMT, desde enero de 1970. En muchos computadores, se convierte en estructura tm provista por lsa librerías de C++ y finalmente despliega la hora, los minutos y los segundos de forma que sea de fácil interpretación para los humanos. Finalmente, getTime concatena estos valores en una cadena con formato separador de comas entre las horas, los minutos y los segundos.

Paso 4

Crea un programa sencillo para usarlo. Abre tu archivo main.cpp y escribe el siguiente programa en el:

include

include \"clock.h\"int main (int argc, char * const argv[]) {

Clock *clock = new Clock() std::cout << clock->getTime() return 0}

Este sencillo programa crea un nuevo objeto clock, el cual carga la hora del sistema. Finalmente retorna el valor de 0 cero hacia el sistema operativo, para confirmar que el programa se ejecutó satisfactoriamente y sin errores.