| 12
 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