Comment écrire un programme C ++ pour simuler une Horloge numérique

La bibliothèque standard C ++ comprend un certain nombre de fonctions et de structures pour aider les programmeurs à traiter avec le temps dans leurs applications. Dans ce tutoriel, vous allez créer une classe C ++ appelé Clock qui servira comme un simple wrapper autour des structures time_t et tm utilisés par la bibliothèque de temps de C, et comprendront un programme d'échantillonnage simple qui va utiliser cette classe d'horloge à la sortie de l'heure système à la console .

Choses que vous devez

  • C ++ Compiler
  • Bibliothèque standard de C
  • éditeur de texte ou C ++ IDE

Instructions

  1. 1

    Créez vos fichiers. Ce programme fera appel à trois fichiers: un fichier d'en-tête clock.h de définir la classe de l'horloge, un fichier clock.cpp C ++ source pour définir la mise en œuvre de la classe de l'horloge, et enfin un programme de simple exemple en utilisant cette classe dans main.cpp.

  2. 2

    Définir la classe de l'horloge. Ouvrez le fichier d'en-tête de clock.h et de définir la structure de la classe de l'horloge en entrant le code suivant dedans.

    ifndef _CLOCK_H
    définir&# 9-_CLOCK_H

    classe Clock {
    publique:

    int getHours ()

    GO

    int getMinutes ()

    GO

    int getSeconds ()

    GO

    std :: string getTime ()

    GO

    &# 9-Clock ()
    GO
    privé:
    }
    GO

    endif&# 9- / _CLOCK_H /

    La classe a été définie comme ayant quatre fonctions principales (outre le réveil du constructeur ()). Les fonctions getHours, getMinutes et getSeconds auront chacun récupérer une partie différente du temps de la bibliothèque de l'heure standard du C, en utilisant le temps de système actuel comme son guide. La fonction getTime () permet de formater ceux-ci dans une série HH: chaîne de SS, comme vous êtes habitués à voir sur les horloges numériques: MM.

    Le ifndef, définir, et les balises endif sont FACULTATIF Cependant, il est une bonne pratique pour entrer dans l'utilisation de ces. Lors de la construction des projets plus importants, y compris ces balises fera en sorte que le fichier d'en-tête donné est chargé en mémoire qu'une seule fois. Cela réduit le risque d'erreurs de dépendances circulaires, et de faire une habitude de toujours les inclure dans les nouveaux fichiers d'en-tête maintenant vous fera économiser beaucoup de maux de tête plus tard sur la route.

  3. 3

    Mettre en œuvre la classe Horloge. Ouvrez votre fichier clock.cpp, et mettre en œuvre toutes les fonctions que vous avez définis dans votre fichier d'en-tête en entrant ce qui suit:

    inclure
    inclure
    inclure "clock.h"

    Horloge :: Clock () {
    }




    int Clock :: getHours () {

    secondes time_t = temps (null)

    GO

    struct tm * timeinfo = localtime (&-secondes)

    GO

    retourner timeinfo-gt; tm_hour

    GO
    }

    int Clock :: getMinutes () {

    secondes time_t = temps (null)

    GO

    struct tm * timeinfo = localtime (&-secondes)

    GO

    retourner timeinfo-gt; tm_min

    GO

    }

    int Clock :: getSeconds () {

    secondes time_t = temps (null)



    GO

    struct tm * timeinfo = localtime (&-secondes)

    GO

    retourner timeinfo-gt; tm_sec

    GO

    }

    std :: string Clock :: getTime () {
    &# 9-std :: temps de chaîne
    GO
    &# 9-std :: stringstream sur
    GO
    &# 9 Départ lt; lt; getHours ()
    GO
    &# 9-temps = out.str ()
    GO
    &# 9-out.str ("")
    GO
    &# 9-temps + = ":"
    GO
    &# 9 Départ lt; lt; getMinutes ()
    GO
    &# 9-temps + = out.str ()
    GO
    &# 9-out.str ("")
    GO
    &# 9-temps + = ":"
    GO
    &# 9 Départ lt; lt; getSeconds ()
    GO
    &# 9-temps + = out.str ()
    GO
    &# 9 temps-retour
    GO
    &# 9-
    }

    En partant du haut est le constructeur, Horloge (). Ceci est une classe très simple, il n'y a donc pas besoin de faire quelque chose de spécial ici, donc le constructeur est laissé vide.

    Suivant sont les getHours, minutes et secondes fonctions. Ces fonctions extraient l'heure locale, mesurée en secondes, GMT, depuis Janvier de 1970 sur la plupart des ordinateurs, le convertit en une structure tm fournies par les bibliothèques C ++, et récupère enfin les heures, les minutes et les secondes sur cette valeur dans un être humain -readable forme.

    Enfin, getTime met ensemble ces valeurs dans une chaîne avec le format commun qui sépare les heures, les minutes et les secondes par des virgules.

  4. 4

    Créer un programme simple à utiliser. Ouvrez votre fichier main.cpp et écrire le programme suivant en elle.

    inclure
    inclure "clock.h"

    int main (int argc, char argv const []) {
    &# 9-Clock
    horloge = new Clock ()
    GO

    std :: cout lt; lt; horloge gt; getTime ()

    GO

    retourner 0

    GO
    }

    Ce programme très simple crée un nouvel objet d'horloge, obtient l'heure actuelle du système d'elle, et délivre à la sortie standard. Enfin, il renvoie la valeur 0 pour le système d'exploitation, pour informer le système d'exploitation que le programme exécuté avec succès sans erreur.

» » » » Comment écrire un programme C ++ pour simuler une Horloge numérique