Timer

Résolu
tt -  
 lami20j -
Bonjour,
je voudrais savoir comment faire pour programmer un timer décroissant en C. g déja essayé avec ca mé sa n'affiche rien!! Comme si le prog s'été planté!! Voici le prog:

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

int main(){
int sec=; /*on initialise sec pour les secondes à patienter*/
printf("Entrez le nombre de secondes à patienter :");
scanf("%d", &sec);

while(sec>0)
{
printf(" Secondes restantes : %03i", sec);
sec--;
sleep (1000);
}
return 0;
}

Merci
A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
sleep attend des secondes, donc sleep(1)
et un \n dans le printf, sinon il bufferise

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

int main(){
int sec; /*on initialise sec pour les secondes à patienter*/
printf("Entrez le nombre de secondes à patienter :");
scanf("%d", &sec);

while(sec>0)
{
printf(" Secondes restantes : %03i\n", sec);
sec--;
sleep (1);
}
return 0;
} 
0
tt
 
Cool!! ca marche!!
Merci!!
0
tt
 
Tjour pour améliorer, serait-il possible de le faire san kil affich une nouvell lign a chaque fois, c'est a dire que le 1 devien 2, le 2 devien 3 ainsi de suite sans afficher une nouvelle ligne a chaque fois??
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
comme ça:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(){
int sec; /*on initialise sec pour les secondes à patienter*/
printf("Entrez le nombre de secondes à patienter :");
scanf("%d", &sec);

while(sec>0)
{
printf(" Secondes restantes : %03i\r", sec);
fflush(stdout);
sec--;
sleep (1);
}
printf("\n");
return 0;
}  
0
tt
 
Merci!! CA marche a merveille!! A bientot
0
lami20j
 
Salut,

Le prototype de la fonction sleep se trouve dans unistd.h

lami20j@debian-acer:~/c$ cat sleep.c 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
  int sec; /*on initialise sec pour les secondes à patienter*/
  printf("Entrez le nombre de secondes à patienter :");
  scanf("%d", &sec);

  while(sec>0)
  {
    printf(" Secondes restantes : %03i\n", sec);
    sec--;
    sleep (1);
  }
  return EXIT_SUCCESS;
}

lami20j@debian-acer:~/c$ gcc -Wall sleep.c 
sleep.c: In function ‘main’:
sleep.c:15: warning: implicit declaration of function ‘sleep’
lami20j@debian-acer:~/c$ sed -i 's/time/unistd/' sleep.c 
lami20j@debian-acer:~/c$ gcc -Wall sleep.c 
lami20j@debian-acer:~/c$
0