1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
/* -ed- Ajoute pour etre compatible avec d'autres compilateurs */
#ifdef __turboc__
#include<conio.h>
#include<dos.h> /* -ed- probablement inutile... */
#else
#include<conio2.h>
#endif
#include<stdio.h>
#include<time.h>
/* -ed-
#include<PROCESS.H>
#include<STDLIB.H>
attention. Les noms doivent etre en minuscule... */
#include<process.h> /* -ed- probablement inutile... */
#include<stdlib.h>
/* -ed-
void main()
main() retourne int. Toujours. Pas de parametre : void */
int main (void)
{
/* -ed-
clrscr ();
inutile */
char c = 0;
/* -ed- attention a compiler en C et non en C++ (.c et non .cpp)
Turbo C ne devrait pas accepter une definition apres une instruction.
le bon type pour c est int. (getch() retourne un int)
*/
/* -ed-
struct tm *secs;
int temps_now;
int temps_avant;
int sec1 = 0, sec2;
int min = 0;
time (&temps);
secs = localtime (&temps);
temps_avant = secs->tm_sec;
complication inutile */
time_t next_time = time (NULL) + 1;
int sec = 0;
int min = 0;
/* -ed- ajout d'un indicateur de depassement. */
int depassement = 0;
cprintf ("ESC pour quitter");
do
{
/* -ed-
while (kbhit () == 0)
{
je suggere de separer le traitement du clavier
de celui du chronometre */
time_t now = time (NULL);
/* -ed-
secs = localtime (&temps);
temps_now = secs->tm_sec;
sec2 = temps_now - temps_avant;
if (sec2 > 9)
{
sec2 = 0;
sec1++;
}
else if (sec2 > 59)
{
sec2 = 0;
sec1 = 0;
min++;
}
complication inutile */
if (now >= next_time)
{
next_time = now + 1;
gotoxy (40, 25);
/* -ed-
printf ("%d:%d%d", min, sec1, sec2);
apprendre a utiliser les formats fixes ...
*/
printf ("%02d:%02d %s", min, sec, depassement ? "D" : " ");
/* -ed- horrible. utilise clrscr() ou rien du tout.
Il suffoi d'ecrire par dessus.
//DOS
system ("cls");
*/
/* -ed- comptage basique */
sec++;
if (sec == 60)
{
sec = 0;
min++;
if (min == 60)
{
min = 0;
depassement = 1;
}
}
}
/* clavier */
if (kbhit ())
{
c = getch ();
}
}
while (c != 27);
/* -ed-
getch ();
inutile
*/
} |
Partager