Go Down

Topic: [résolu] Calcul temps (Read 4 times) previous topic - next topic

Stef84

j ai trouvé çà :

Example Code

   int x;
   int y;
   float z;

   x = 1;
   y = x / 2;            // y now contains 0, ints can't hold fractions
   z = (float)x / 2.0;   // z now contains .5 (you have to use 2.0, not 2)

est ce que le long ne réagit pas comme ci-dessus pour le int

fdufnews

Quote
Question idiote, vous appelez quoi une classe

Une classe permet de regrouper dans une même entité des données et des fonctions membres (appelées aussi méthodes) permettant de manipuler ces données (http://fr.wikibooks.org/wiki/Programmation_C%2B%2B/Les_classes)

Par exemple, pour ton application, on peut créer une classe HMS, qui définit en interne 3 données heure, minute,seconde et un ensemble d'opérateurs qui permettent de manipuler ces données. En premier on créé un constructeur c'est une méthode particulière qui va être appelée lors de la création d'un nouvel objet HMS et qui permet de l'initialiser. On peut ensuite redéfinir l'addition, la soustraction les opérateurs de comparaison sur cet objet . Comme ça ensuite ton programme manipule directement des objets HMS qui contiennent des heures minutes secondes de manière complètement transparente.
Par exemple une fois la classe définie tu peux écrire quelque chose comme ça

Code: [Select]
HMS HeureDebut(8,45,00);
HMS HeureCourante();
HMS deltaBrume(2,20,0);
HMS HeureBrumi();

DS1307 rtc

rtc.get(&sec, &min, &hour, &day, &month, &year);
HeureCourante.set(hour,min,sec);


if (HeureCourante > HeureDebut){
   .......
}


ou bien

Code: [Select]
HeureBrumi = HeureCourante+deltaBrume;

Stef84

Te remercie pour les explications

effectivement çà pourrait être plus simple d'utilisation après coup

par contre les classes sont à faire dans un .h et .cpp

ou on peut le faire directement dans le pde (c est un peu au dessus de mes compétences pour l instant)

j ai remodifié mon prog hier, en jouant sur les CAST, je verrais ce soir si çà a fonctionné ou pas, mais je suis intéressé parton exemple et remplacer ce que j ai fait, mais je voudrais savoir pourquoi ce que j ai fait initialement ne fonctionne pas

skizoh

si tu veux mon avis, personne ne sera précisément ce qui marche pas a moins de prendre le code le tester et lignes après lignes bien surveiller tes variable etc, vue comme c'est fait je pense que tu a du te mélanger les pinceau et comme tu n'a pas choisie une structure claire il est dur de trouver facilement l'erreur, à mon avis une simple petite erreur, mets ça au claire et tu t'en sortira mieux, sinon tu mets des Serial.print partout histoire de suivre tes variable dans ton programme et bien voir que leur état est bon après déjà tu sera situer ou ce trouve le problème. bon courage quoi ^^

Skizo !
Un tien vaux mieux que deux tu l'auras !

fdufnews

Quote
par contre les classes sont à faire dans un .h et .cpp

ou on peut le faire directement dans le pde (c est un peu au dessus de mes compétences pour l instant)

On peut créer une classe localement. Elle ne sera alors vue que dans le code où elle est déclarée.
Ou alors on la crée dans un code extérieur et on l'inclut comme une librairie.

Go Up