Se connecter avec
S'enregistrer | Connectez-vous

Problème horloge en C (urgent) merci

Dernière réponse : dans Programmation

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 :

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


MERCI pour votre aide !!!

Autres pages sur : probleme horloge urgent merci

Lassé par la pub ? Créez un compte

Citation :
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

Citation :
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

Citation :
bon, je fait tout a ta place...
  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 :

  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.  
  14. setcolor(2);
  15. line(300,240,300+M*cos(angle_M+1.5707),Y-(240+M*sin(angle_M+1.5707)));
  16. sleep(1);
  17. setcolor(0);
  18. line(300,240,300+M*cos(angle_M+1.5707),Y-(240+M*sin(angle_M+1.5707)));
  19. angle_M=angle_M-0.1047;
  20.  
  21. setcolor(6);
  22. line(300,240,300+H*cos(angle_H+1.5707),Y-(240+H*sin(angle_H+1.5707)));
  23. sleep(1);
  24. setcolor(0);
  25. line(300,240,300+H*cos(angle_H+1.5707),Y-(240+H*sin(angle_H+1.5707)));
  26. angle_H=angle_H-0.5235;
  27. }
  28. }
  29. }


merci de ton aide :) 
Lassé par la pub ? Créez un compte