Une classe montre

kamal anis Messages postés 3 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 14 décembre 2008 - 14 déc. 2008 à 13:49
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 15 déc. 2008 à 18:06
salut je doit ecrire une classe qui affiche l'heure en temps reel, le prof nous a dit d'utiliser une methode gettime()
et une struct time,mais je trouve des erreur ,voici la declaration de la classe:

#include
#include<conio.h>
#include<dos.h>
#include <time.h>

class Montre
{
private:
 int h,m,s;
 public:

 Montre()
 {
   struct time t;  //error C2079: 't' uses undefined struct 'time'

   gettime(&t);  //'gettime' : undeclared identifier

   h=t.ti_hour ; //left of '.ti_hour' must have class/struct/union type
   m=t.ti_min; //left of '.ti_min' must have class/struct/union type
   s=t.ti_sec;  //left of '.ti_sec' must have class/struct/union type
 }
   void minute();
   void houre();
   void seconde();
   void afficher();
 };
merci d'avence.

4 réponses

Lemng Messages postés 31 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 4 mai 2009
14 déc. 2008 à 14:03
Salut,

Le compilateur te donne ton erreur : soit tu n'a pas défini de structure "time" mais si c'est ton prof qui t'en as parlé c'est bizarre, soit tu devrait essayer sans le "struct" devant la déclaration.
Autre erreur de compilation : "gettime" n'existe pas (mal écri, pas défini, etc). A mon avis, la solution se trouve dans le fichier time.h.

Bonne Journée
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
14 déc. 2008 à 14:37
Salut

Voila un petit exemple des fonctions de time.h

#include <stdio.h>
#include <time.h>

int main ()
{
time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "Current local time and date: %s", asctime (timeinfo) );

return 0;
}

J'espère que ça t'aidera
A+
________________________________________________________________________________
Mon site internet :   http://ImAnalyse.free.fr
0
kamal anis Messages postés 3 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 14 décembre 2008
14 déc. 2008 à 20:33
Salut ,j'ai corriger quelque erreurs mais il reste une ,je vous envoie le code essayez de le corriger s'il vous plait
main:
#include "montre.h"


void main()


{int i=0;
Montre a;
do{clrscr();
i++;
    a.afficher();
 a.seconde();
 sound(i);
 delay(1000);
}while(!kbhit());
    nosound();
}

montre.cpp:
#include "montre.h"


void Montre::minute()
 {
   if(m==59)
  {m=0;
   houre();}
   else
   m++;
 }
void Montre::houre()
{
if(h==23)
  {h=0;
  seconde();}
  else
  h++;
}
void Montre::seconde()
{
 if(s==59)
 {s=0;
 minute();}
 else
 s++;
}
void Montre::afficher()
{
if(s<=9)
cout<<h<<":"<<m<<":0"<<s;
else
cout<<h<<":"<<m<<":"<<s;


}
montre.h:
#include
#include<conio.h>
#include<dos.h>
#include <time.h>


class Montre
{
private:
 int h,m,s;
 public:


 Montre()
 {
   //struct time t;
   struct time {
    int hours;
    int minutes;
    int seconds;
   };


   time t;


   gettime(&t);
   h=t.hours;
   m=t.minutes;
   s=t.seconds;


   /*h=t.ti_hour;
   m=t.ti_min;
   s=t.ti_sec;*/
 }
   void minute();
   void houre();
   void seconde();
   void afficher();
 };
ça doit afficher l'heure en temps reel
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
15 déc. 2008 à 18:06
Salut
Déjà, tu arrives à compiler ou non?
A+
________________________________________________________________________________
Mon site internet :   http://ImAnalyse.free.fr
0
Rejoignez-nous