FORUM Tom's Hardware » Programmation » C / C++ / Java » Problème horloge en C (urgent) merci
 

Problème horloge en C (urgent) merci

Il y a 81 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici



Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Problème horloge en C (urgent) merci
 
Plus d'informations

Bonjour

Bon voila, je dois faire une horloge en C (Turbo C).
J'ai su faire 2 aiguilles qui tourne à la seconde, mais je n'arrive pas à les lié entre elle.

Le but serais que l'aiguille seconde tourne (toute les seconde) et que dés qu'elle a fait un tour complet, elle continue mais que en même temps l'aiguille des minutes avence d'un cran
==> en clair une horloge normal :D lool

Mais je n'y arrive pas ...
et vus que c'est asser URGENT (pour demain) et que je n'arrive pas, j'ai vraiment besoin de votre aide et vite si vous etes d'accord :-)

Voici mon code source :

Code :
  1. #include <conio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. #include <graphics.h>
  6. void module_graphique(void);
  7. void module_horloge(void);
  8. int X,Y,C;
  9. main()
  10. {
  11.   module_graphique();
  12.   module_horloge();
  13.   getch();
  14.   closegraph();
  15.   return(0);
  16. }
  17. void module_horloge()
  18. {
  19.   double angle_S;
  20.   double angle_M;
  21.   int S;
  22.   int M;
  23.   int i,j;
  24.   setcolor(15);
  25.   circle(320,240,210);
  26.   angle_S=0;
  27.   angle_M=0;
  28.   S=197;
  29.   M=160;
  30.   /*
  31.   pour trouver l'angle a c'est PI/(HEURE/2)
  32.   12H  => exemple PI/(12/2)  = 0.5235;
  33.   60M  => exemple PI/(60/2)  = 0.1047;
  34.   */
  35. for(j=0;j<=24;j++)
  36. {
  37. /* for(i=0;i<61;i++)
  38.   {
  39.     setcolor(4);
  40.     line(320,240,320+S*cos(angle_S+1.5707),Y-(240+S*sin(angle_S+1.5707)));
  41.     sleep(1);
  42.     setcolor(0);
  43.     line(320,240,320+S*cos(angle_S+1.5707),Y-(240+S*sin(angle_S+1.5707)));
  44.     angle_S=angle_S-0.1047;
  45.   }
  46.   */
  47.     for(i=0;i<12;i++)
  48.   {
  49.     setcolor(1);
  50.     line(320,240,320+M*cos(angle_M+1.5707),Y-(240+M*sin(angle_M+1.5707)));
  51.     sleep(1);
  52.     setcolor(0);
  53.     line(320,240,320+M*cos(angle_M+1.5707),Y-(240+M*sin(angle_M+1.5707)));
  54.     angle_M=angle_M-0.5235;
  55.   }
  56. }
  57. }
  58. void module_graphique(void)
  59. {
  60.   int gestionnaire = DETECT,mode,test,erreur_graphique;
  61.   initgraph(&gestionnaire,&mode,"" );
  62.   if ((erreur_graphique = graphresult()) != grOk)
  63.   {
  64.       printf("ERREUR GRAPHIQUE : %s\n",grapherrormsg(erreur_graphique));
  65.       getch();exit(1);
  66.   }
  67.   sleep(2);
  68.   X=getmaxx();
  69.   Y=getmaxy();
  70.   C=getmaxcolor();
  71. }



MERCI pour votre aide !!!


Message édité par kent2004 le 25-09-2005 à 19:05:41

Profil : Pointeur
Plus d'informations

c'est quoi le soucis ??
c'est dur de mettre une boucle supplémentaire ?


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

a écrit :

c'est quoi le soucis ??
c'est dur de mettre une boucle supplémentaire ?


Mais le soucis c'est que je ne sais pas OU la mettre ni quoi mettre dans cette boucle.
Je comprend PAS :(
C'est pour cela que j'ai besoin de vous !!
merci !!

ps: je débute en C

Profil : Pointeur
Plus d'informations

regarde ta montre...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

a écrit :

regarde ta montre...



Y'a vraiment moyen d'etre sympa ...
j'ai lu quelque post sur ce forum C, C++ et tu es tout le temps en train de rabaisser les gens ... p-e que TOI tu sais le faire mais pas les autres
alors des remarques comme "regarde ta montre" tu peux te les garder ... Ya vraiment moyen de faire chier les gens pour rien :fou:
dit directement que tu ne sais pas résoudre le problème alors o lieu de POLLUER pour rien !!

Merci, je crois que une montre j'en ai déja regardé des tone en essayant de comprendre comment faire !!!

AIDE de Kang0l : ZERO ; Foutage de geulle des autre de la pars de Kang0l : +1

Profil : Pointeur
Plus d'informations

bon, je fait tout a ta place...

Code :
  1. faire 12 x
  2.   faire 60 x
  3.     faire 60 x
  4.       avancer l'aiguille des secondes
  5.       dodo 1 seconde
  6.     avancer aiguille minutes
  7.   avancer aiguille heures


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

a écrit :

bon, je fait tout a ta place...

Code :
  1. faire 12 x
  2.   faire 60 x
  3.     faire 60 x
  4.       avancer l'aiguille des secondes
  5.       dodo 1 seconde
  6.     avancer aiguille minutes
  7.   avancer aiguille heures




Mercii, c'est tres gentil :D
je ne demande pas de le faire à ma place, c'est juste que c'est agréable quand les gens te mette sur la piste :D

Mais j'ai encor une question, comme faire le 'dodo 1seconde' ??

Moi j'ai mit comme cela et ca ne marche pas tres bien :S :

Code :
  1. for(j=0;j<12;j++)
  2. {
  3.   for(i=0;i<60;i++)
  4.   {
  5.   for(k=0;k<60;k++)
  6.     {
  7.       setcolor(4);
  8.       line(300,240,300+S*cos(angle_S+1.5707),Y-(240+S*sin(angle_S+1.5707)));
  9.       sleep(1);
  10.       setcolor(0);
  11.       line(300,240,300+S*cos(angle_S+1.5707),Y-(240+S*sin(angle_S+1.5707)));
  12.       angle_S=angle_S-0.1047;
  13.       setcolor(2);
  14.       line(300,240,300+M*cos(angle_M+1.5707),Y-(240+M*sin(angle_M+1.5707)));
  15.       sleep(1);
  16.       setcolor(0);
  17.       line(300,240,300+M*cos(angle_M+1.5707),Y-(240+M*sin(angle_M+1.5707)));
  18.       angle_M=angle_M-0.1047;
  19.       setcolor(6);
  20.       line(300,240,300+H*cos(angle_H+1.5707),Y-(240+H*sin(angle_H+1.5707)));
  21.       sleep(1);
  22.       setcolor(0);
  23.       line(300,240,300+H*cos(angle_H+1.5707),Y-(240+H*sin(angle_H+1.5707)));
  24.       angle_H=angle_H-0.5235;
  25.     }
  26.   }
  27. }



merci de ton aide :)

Profil : Pointeur
Plus d'informations

regarde mon code et le tien...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

ce n'est pas des for mais des do while à faire c'est ca ??

Profil : Pointeur
Plus d'informations

non pas spécialement...

tes instructions sont mal placées...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

les for doivent etre avent chaque aiguilles et non en premier ??

Plus d'informations

non, c'est pas les for :-(
je ne comprend pas alors :S je ne vois pas commente faire

Plus d'informations

c'est bon, j'ai réussi !!!
mais elle s'éfface et se réinscrit a chaque fois, c'est désagréable ... mais c'est déja ca :D

Merci bcp !!!

par contre si tu as une idée pour ke les aiguilles soit toujours visible ca serai GENIAL :D


  FORUM Tom's Hardware » Programmation » C / C++ / Java » Problème horloge en C (urgent) merci

Aller à :
 

Annonces Google