timing et loading en console
Bonjour, je suis en train de tenter du programme expérimentale pour "m'amuser" les soirs d'été. J'essaye pour le moment de crée un programme reprenant un maximum de notion vu en cour et quelque truc vu sur internet.
Code:
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
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h> //bibli pour l'heure
#include <unistd.h> //bibli pour sleep
#include "sema.h"
void clear() //nettoyer moba
{
printf("\033[H\033[2J");
}
int alea(int i) // renvoie un nombre compris entre 1 et i
{
srand (time(NULL)*getpid());
int alea = rand()%i+1;
return alea;
}
void chargement()
{
int i,j;
for(i=0;i<100;)
{
clear();
printf("\nFichier Ecole");
printf("\n-------------");
printf("\t\n\n\nLoading....");
printf(" %d%",i);
j=alea(10);
i=i+j;
if(i>100) i=100;
sleep(1);
}
}
void horloge()
{
time_t crt = time(NULL);
char buf[20];
int infinie = 1;
while(infinie == 1)
{
/* % I :
* L'heure, sur 12 heures, sous forme de nombre décimal (entre 01 et 12).
* % M :
* La minute, sous forme de nombre décimal (00 à 59). .
* %p
* L'une des deux chaînes `AM' ou `PM' en fonction de l'heure, ou
* la traduction de ces chaînes en fonctions de la localisation en cours.
* Midi est traité comme `PM' et Minuit comme `AM'.
*/
strftime(buf, sizeof(buf), "%I:%M %p\n", localtime(&crt));
puts(buf);
sleep(59);
}
}
int main (void)
{
chargement();
pid_t pid = fork;
if ((pid < 0) exit(1);
if (pid == 0) horloge();
else (pid > 1)
{
sleep(80);
}
return EXIT_SUCCESS;
} |
Comme on peut le voir je suhaite crée un faux "Loading" pour la forme. Il fonctionne mais lors de l'execution je n'ai droit que a:
Loading...... sans les pourcentages, ils s'affichent mais il faut remonter voir plus haut pour les voirs. Pourtant le sleep fait que il devrait être visible 1 seconde.
Mon second problème est au niveau de l'horloge. je souhaite crée une horloge constante qui durera tant que le programme est actif. Le programme final (j'en suis loin) me permettra d'afficher mes cours, écrire des notes,etc
Mon but étant de m'entrainer et analyser mes erreurs :oops:
(j'aurai surement plein de question par la suite)
Merci
P.S le code de la fonction horloge est repris d'internet car je ne savais pas du tout comment afficher l'heure (mais sa me semblait fun)