Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να γράψετε ένα C + + πρόγραμμα προσομοίωσης ένα ψηφιακό ρολόι

Το πρότυπο C + + βιβλιοθήκη περιλαμβάνει μία σειρά από λειτουργίες και δομές για να βοηθήσει προγραμματιστές που ασχολούνται με το χρόνο στις εφαρμογές τους . Σε αυτό το tutorial θα δημιουργήσουμε ένα C + + class ονομάζεται ρολόι που θα χρησιμεύσει ως ένα απλό περιτύλιγμα γύρω από τις δομές time_t και tm χρησιμοποιείται από τη βιβλιοθήκη χρόνου Γ , και περιλαμβάνουν ένα απλό δείγμα προγράμματος που θα χρησιμοποιούν αυτή την κατηγορία Ρολόι στην έξοδο την ώρα του συστήματος στην κονσόλα . Τα πράγματα που θα χρειαστείτε
C + + Compiler
Standard C + + Library
επεξεργαστή κειμένου ή C + + IDE
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Δημιουργήστε τα αρχεία σας . Αυτό το πρόγραμμα θα απαιτήσει τρία αρχεία : ένα αρχείο επικεφαλίδας clock.h να καθορίσει την τάξη Clock , ένα clock.cpp C + + αρχείο προέλευσης για να καθορίσει την εφαρμογή της τάξης του Ρολογιού , και, τέλος, ένα απλό παράδειγμα το πρόγραμμα που χρησιμοποιούν αυτή την κατηγορία σε main.cpp . 2

Ορίστε την κλάση του Ρολογιού . . Ανοίξτε το αρχείο header clock.h και να καθορίσει τη δομή της κατηγορίας Ρολόι εισάγοντας τον παρακάτω κώδικα σε αυτό

# ifndef _CLOCK_H # define _CLOCK_H

τάξη Clock { public: int getHours ( ) ? int getMinutes ( ) ? int getSeconds ( ) ?

std :: εγχόρδων getTime ( ) ?

Clock ( ) ? private: } ?

# endif /* _CLOCK_H * /

Η τάξη έχει οριστεί ως έχει τέσσερις βασικές λειτουργίες ( εκτός από το ρολόι κατασκευαστή ( ) ) . Οι getHours , getMinutes και getSeconds λειτουργίες θα πρέπει ο καθένας να ανακτήσετε ένα διαφορετικό μέρος του χρόνου από την C + + πρότυπη βιβλιοθήκη χρόνου , χρησιμοποιώντας την τρέχουσα ώρα του συστήματος ως οδηγός της . Η λειτουργία getTime ( ) θα μορφοποιήσει αυτά σε ένα πρότυπο HH : MM : . SS εγχόρδων , όπως έχετε συνηθίσει να βλέπουμε σε ψηφιακά ρολόγια

Η ifndef , καθορίζουν και ετικέτες endif είναι προαιρετική? Ωστόσο , είναι ένα καλή πρακτική να μπει σε χρήση αυτών . Κατά την οικοδόμηση μεγαλύτερα έργα , συμπεριλαμβανομένων αυτών των ετικετών θα διασφαλίσει ότι ένα συγκεκριμένο αρχείο κεφαλίδας φορτώνεται στη μνήμη μόνο μία φορά . Αυτό μειώνει τον κίνδυνο της κυκλικής λάθη εξάρτησης , και κάνοντας μια συνήθεια , συμπεριλαμβανομένων τα πάντα σε νέα αρχεία header τώρα θα σας εξοικονομήσει πολλά πονοκεφάλους αργότερα κάτω από το δρόμο .
Εικόνων 3

Εφαρμογή της κατηγορίας Ρολόι . Ανοίξτε το αρχείο clock.cpp σας , και να εφαρμόσουν όλες τις λειτουργίες που έχετε ορίσει στο αρχείο κεφαλίδα σας πληκτρολογώντας τα ακόλουθα :

# include # include # include "ρολόι . h "

Ρολόι :: Ρολόι ( ) { }

int Clock :: getHours ( ) { time_t δευτερόλεπτα = time (NULL ) ? struct tm * timeinfo = localtime ( και δευτερόλεπτα) ? επιστροφή timeinfo - > tm_hour ? }

int Clock :: getMinutes ( ) { time_t δευτερόλεπτα = time (NULL ) ? struct tm * timeinfo = localtime ( και δευτερόλεπτα) ? επιστροφή timeinfo - > tm_min ?

}

int Clock :: getSeconds ( ) { δευτερόλεπτα time_t = time (NULL ) ? struct tm * timeinfo = localtime ( και δευτερόλεπτα) ? επιστροφή timeinfo - > tm_sec ?

}

std :: Ρολόι :: getTime εγχόρδων ( ) { std :: χρόνος string? std :: stringstream έξω? out <

}

Ξεκινώντας από την κορυφή είναι ο κατασκευαστής , Clock ( ) . Αυτή είναι μια πολύ απλή τάξη, έτσι ώστε δεν υπάρχει καμία ανάγκη να κάνει κάτι ιδιαίτερο εδώ , οπότε ο κατασκευαστής έχει μείνει κενή .

Επόμενο είναι οι getHours , λεπτά και δευτερόλεπτα λειτουργίες . Αυτές οι λειτουργίες ανακτήσετε την τοπική ώρα , που μετράται σε δευτερόλεπτα , GMT , από τον Ιανουάριο του 1970, στους περισσότερους υπολογιστές , το μετατρέπει σε δομή tm που παρέχονται από τους C + + βιβλιοθήκες , και τελικά ανακτά τις ώρες, τα λεπτά και τα δευτερόλεπτα από την τιμή αυτή σε έναν άνθρωπο αναγνώσιμη μορφή .

Τέλος , getTime βάζει αυτές τις τιμές μαζί σε ένα string με την κοινή μορφή που διαχωρίζει τις ώρες , τα λεπτά και τα δευτερόλεπτα με κολώνες .
Η 4

Δημιουργήστε ένα απλό πρόγραμμα για να χρησιμοποιήσετε αυτό . Ανοίξτε το αρχείο main.cpp σας και να γράψετε το ακόλουθο πρόγραμμα σε αυτό .

# Include # include " clock.h "

int main ( int argc , char * const argv [ ,"Anoíxte to archeío main.cpp sas kai na grápsete to akóloutho prógramma se af̱tó .

# Include # include " clock.h "

int main ( int argc , char * const argv [ ] ) { * ρολόι ρολογιού = νέα Clock ( ) ? std :: cout <<ρολόι - > getTime ( ) ? επιστροφή 0? }

Αυτό το πολύ απλό πρόγραμμα δημιουργεί ένα νέο αντικείμενο ρολόι , παίρνει το τρέχουσα ώρα του συστήματος από αυτό , και εξόδους, με το πρότυπο έξω . Τέλος, επιστρέφει 0 για το λειτουργικό σύστημα , να ενημερώσει το λειτουργικό σύστημα που το πρόγραμμα εκτελέστηκε με επιτυχία χωρίς λάθη .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα