AFFICHER L'HEURE ET LA DATE COURANTE [DEV-CPP] ...

cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003 - 30 déc. 2002 à 08:29
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003 - 16 août 2009 à 11:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10222-afficher-l-heure-et-la-date-courante-dev-cpp

cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
16 août 2009 à 11:00
salut,
avec dev c++ #include <conio.c>
atmarido Messages postés 3 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 14 août 2009
14 août 2009 à 15:12
bon j'utilise dev c++ 4.9.9.2
et il ne reconnai pas "sleep (1000);" peux tu me donner la biblio necessaire pour cette fonction.
dison que je suis nouveau avec c++.
cordiallement
zakariainfo Messages postés 3 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 7 décembre 2009
20 mars 2009 à 17:20
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Heure extends JFrame
{
private int heure,vraiHeure,min,seconde;
private int[] x2={200,209,217,225,233,240,248,254,260,265,270,
274,277,278,279,280,279,278,277,274,270,
265,260,254,248,240,233,225,217,209,200,
192,184,176,168,160,153,147,141,136,130,
127,124,122,121,120,121,122,124,127,130,
136,141,147,153,160,168,176,184,192};
private int[] y2={70,71,72,74,77,80,86,91,97,103,110,
118,126,134,142,150,159,167,175,183,190,
197,204,209,214,220,224,227,228,229,230,
229,228,227,224,220,214,209,204,197,190,
183,175,167,159,150,142,134,126,118,110,
103,97,91,86,80,77,74,72,71};
private int[] Tx2={195,240,270,280,270,240,195,155,125,115,120,150};
private int[] Ty2={70,80,110,155,195,225,240,225,195,155,115,80};
private int[] Hx2={200,207,213,220,225,230,236,240,244,247,248,249,
250,249,248,247,244,236,230,225,213,220,213,207,200,
194,188,181,175,170,165,161,157,154,152,151,150,151,
152,154,157,161,165,170,175,181,188,194};
private int[] Hy2={100,101,102,104,107,111,115,120,125,131,138,144,150,
157,163,170,175,181,186,190,194,197,198,199,200,
199,198,197,194,190,186,181,175,170,163,157,150,144,
138,131,125,120,115,111,107,104,102,101};
private final int x1 200,y1 150;
private boolean quar=true,demi=true,moinquar=true;

public Heure()
{
super("Heure");
setBounds(300,200,400,300);
Container con = getContentPane();
con.setLayout(null);
Date date = new Date();
System.out.println(Hx2.length);
System.out.println(Hy2.length);
setDefaultCloseOperation(this.EXIT_ON_CLOSE);
heure = date.getHours();
vraiHeure = heure;
if(heure > 12)
heure=(heure-=12)*4;
min = date.getMinutes();
seconde = date.getSeconds();
if(min >= 15 && min < 30)
{
heure++;
quar = false;
}
if(min >= 30 && min < 45)
{
heure+=2;
quar = false;
demi = false;
}
if(min >= 45)
{
heure+=3;
quar = false;
demi = false;
moinquar = false;
}
System.out.println(vraiHeure+":"+min+" "+seconde);
setVisible(true);
setResizable(false);
second();
}

public void paint(Graphics g)
{
g.clearRect(0,0,400,300);
g.setColor(Color.orange);
g.fillRect(100,50,200,200);
g.setColor(Color.white);
g.fillOval(100,50,200,200);
g.setColor(Color.green);
g.drawLine(x1,y1,x2[min],y2[min]);
g.drawLine(x1,y1,Hx2[heure],Hy2[heure]);
g.setColor(Color.red);
g.drawLine(x1,y1,x2[seconde],y2[seconde]);
g.setColor(Color.blue);
g.drawString("12",Tx2[0],Ty2[0]);
for(int i=1;i < 12;i++)
{
g.drawString(String.valueOf(i),Tx2[i],Ty2[i]);
}
g.setColor(Color.black);
if(seconde<10&&min<10)
g.drawString(vraiHeure+":0"+min+" 0"+seconde,180,270);
if(seconde>=10&&min<10)
g.drawString(vraiHeure+":0"+min+" "+seconde,180,270);
if(seconde<10&&min>=10)
g.drawString(vraiHeure+":"+min+" 0"+seconde,180,270);
if(seconde>=10&&min>=10)
g.drawString(vraiHeure+":"+min+" "+seconde,180,270);
}

private void second()
{
Thread sec = new Thread();
while(true)
{
try
{
sec.sleep(1000);
}catch(Exception err)
{
}
if(seconde==59)
{
seconde = 0;
if(min==59)
{
min = 0;
if(heure==48)
{
heure = 0;
vraiHeure = 0;
}
else
{
heure++;
vraiHeure++;
}
quar=true;
demi=true;
moinquar=true;
}
else
min++;
}
else
seconde++;
if(min >= 15 && min < 30 && quar)
{
heure++;
quar = false;
}
if(min >= 30 && min < 45 && demi)
{
heure++;
demi = false;
}
if(min >= 45 && moinquar)
{
heure++;
moinquar = false;
}
repaint();
}
}

public static void main(String[] args)
{
new Heure();
}
}
pianopariss Messages postés 6 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 13 avril 2007
30 déc. 2006 à 13:39
Tu aurais pu mettre :

printf("La date et l\'heure sont: %s \r", ctime(&temps_act));

à la place de system("CLS");

Merci pour le code ;-).
cs_zzzzzz Messages postés 408 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 décembre 2012
21 févr. 2003 à 11:46
merci mais pas tlm peut comprendre system ("CLS"); t'aurai du mettrer un peu plus de commentaires utiles sinon, merci a toi
cs_Funcky Messages postés 59 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 11 mai 2006
30 déc. 2002 à 09:48
Ouai, si on veut, .... le but de la source était juste de montrer la commande qui affiche l'heure et la date, mais tes remarques sont pertinantes !!!
Merci.
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
30 déc. 2002 à 08:29
salut,
pourquoi mettre sleep ? execute le sans c'est tout aussi bien et en retirant system("cls"); de la boucle while(1) tant qu'elle est vraie le programme continue on risque de ne pas sortir proprement, utilise un kbhit conio.c pour ton compilateur
Rejoignez-nous