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
| #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, int j) // renvoie un nombre compris entre 1 et i
{
srand (time(NULL)*getpid());
int alea = rand()%i+j;
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); // %% permet d'afficher le caractère spécial % (doubler!)
j=alea(10,5);
i=i+j;
if(i>100) i=100;
sleep(1);
}
clear();
printf("\nFichier Ecole");
printf("\n-------------");
printf("\t\n\n\nLoading....");
printf(" 100%%");
sleep(2);
}
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);
else if (pid == 0) horloge();
else if (pid > 1)
{
sleep(80);
}
return EXIT_SUCCESS;
} |
Partager