begin process at 2012 05 27 20:50:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > TABLEAU DE STRUCTURES EN C, GESTION D ARRIVEES DE SKIEURS

TABLEAU DE STRUCTURES EN C, GESTION D ARRIVEES DE SKIEURS


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Application Niveau :Initié Date de création :27/05/2002 Date de mise à jour :27/05/2002 18:14:21 Vu / téléchargé :8 056 / 305

Auteur : pheno

Ecrire un message privé
Site perso
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Voila ce programme montre comment on manipule les tableaux de structures
Pour de plus ample informations contacter moi
Affichage de la date en C

Source

  • /*PHENO PHILIPPE BTS INFO 1*/
  • /*GESTION D ARRIVEES DE SKIEURS*/
  • /*Bibliotheque*/
  • #include <stdio.h>
  • #include <string.h>
  • #include <time.h>
  • #define MAXS 30
  • /*DECLARATION DE STRUCTURE*/
  • typedef struct
  • {
  • char nom[MAXS], pays[MAXS];
  • } SKIEURS;
  • typedef struct
  • {
  • int min,sec,dixsec;
  • }TEMPS;
  • typedef struct
  • {
  • int ndos;
  • TEMPS tps;
  • }ARRIVEES;
  • typedef struct
  • {
  • int ndos, nport;
  • }DISQUAL;
  • typedef enum {faux,vrai}BOOLEEN ;
  • /*DECLARATION DES PROCEDURES*/
  • void initskieur(SKIEURS tskieur[MAXS],int *ptnbski);
  • void saisiearrivees(ARRIVEES tarrive[MAXS],int nbcou, int nbski);
  • void saisiedisqual(ARRIVEES tarrive[MAXS], DISQUAL tdisqual[MAXS], int *ptnbdisq, int *ptnbcou, int nbski);
  • void classerskieur(ARRIVEES tarrive[MAXS], int nbcou);
  • void afficherarrive(ARRIVEES tarrive[MAXS], int nbcou);
  • void afficherqualifies(ARRIVEES tarrive[MAXS],SKIEURS tskieur[MAXS], int nbcou);
  • void gestmenu(void);
  • void afficherdisqual(DISQUAL tdisqual[MAXS],SKIEURS tskieur[MAXS],int nbdisq);
  • void permuter(ARRIVEES tarrive[MAXS],int j);
  • /*PROGRAMME PRINCIPAL*/
  • void main(void)
  • {
  • int nbski; /*nb de participants*/
  • int nbcou ; /*nb de participant arrivees*/
  • int nbdisq; /* nb de personnes disqualifies*/
  • int choix ; /*choix saisi apres affichage du menu*/
  • /* Declaration de la variable now*/
  • time_t now;
  • SKIEURS tskieur[MAXS];
  • ARRIVEES tarrive[MAXS];
  • DISQUAL tdisqual[MAXS];
  • /*DEBUT*/
  • nbski=0;
  • nbcou=0;
  • nbdisq=0;
  • /*TITRE DU PROGRAMME*/
  • printf(" *\n");
  • printf(" ***\n");
  • printf(" *****\n");
  • printf(" *O*O* \n");
  • printf(" ***** \n");
  • printf(" ***\n");
  • printf(" * \n");
  • printf(" ***\n");
  • printf(" *******\n");
  • printf(" ***** ** | *****************************************************\n");
  • printf(" ***** *** * Bienvenue dans le programme de gestion de skieurs *\n");
  • printf(" ***** | *****************************************************\n");
  • printf(" ***** |\n");
  • printf(" ** ** |\n");
  • printf(" ** ** |\n");
  • printf(" ** ** ---\n");
  • printf(" ***** |\n");
  • printf(" ** **\n");
  • printf(" ** ** \n");
  • printf(" ** **\n");
  • printf(" ** **\n\n");
  • /* Fontion time avec la variable now comme parametre*/
  • time(&now);
  • /*Affichage de l heure et de la date*/
  • printf(" Nous sommes le : %s \n",asctime(localtime(&now)));
  • initskieur(tskieur, &nbski);
  • while (nbcou < nbski)
  • {
  • saisiearrivees(tarrive,nbcou,nbski);
  • classerskieur(tarrive,nbcou);
  • nbcou +=1;
  • }
  • afficherarrive(tarrive,nbcou);
  • afficherqualifies(tarrive,tskieur,nbcou);
  • do
  • {
  • gestmenu();
  • scanf("%d",&choix);
  • switch (choix)
  • {
  • case 1: afficherqualifies(tarrive,tskieur,nbcou);
  • break;
  • case 2: afficherdisqual(tdisqual,tskieur,nbdisq);
  • break;
  • case 3: saisiedisqual(tarrive,tdisqual,&nbdisq,&nbcou,nbski);
  • break;
  • case 4: printf("\n********************************Fin de Programme********************************\n*****************************Copyright Freeman-Corp*****************************\n");
  • break;
  • }
  • }
  • while (choix != 4);
  • /*fin*/
  • printf("\n %c Pour tout probleme, ou pour me contacter: Phenolphtaleine@aol.com %c\n\n",14,14);
  • }
  • /*PROCEDURE AFFICHER MENU*/
  • void gestmenu(void)
  • {
  • printf("1 : Afficher les qualifies\n");
  • printf("2 : Afficher les disqualifies\n");
  • printf("3 : Saisir les disqualifies\n");
  • printf("4 : Quitter le Programme \n" );
  • }
  • /* INITIALISATION DU SKIEURS, INSCRIPTION DE CELUI A LA COURSE */
  • void initskieur(SKIEURS tskieur[MAXS],int *ptnbski)
  • {
  • /*VARIABLE LOCALE*/
  • char rep; /*reponse a la question "Autre skieur" */
  • /*DEBUT*/
  • do
  • {
  • printf("Saisir le nom du skieur \n");
  • scanf("%s", tskieur[*ptnbski].nom );
  • while (tskieur[*ptnbski].nom=="")
  • {
  • printf("Le nom du skieur ne peut etre vide \n");
  • scanf("%s", tskieur[*ptnbski].nom );
  • }
  • printf("Saisir le pays d'origine du skieur\n");
  • scanf("%s", tskieur[*ptnbski].pays);
  • while (tskieur[*ptnbski].pays=="")
  • {
  • printf("Le pays d'origine du skieur est obligatoire\n");
  • scanf("%s", tskieur[*ptnbski].pays);
  • }
  • *ptnbski +=1;
  • if (*ptnbski > MAXS)
  • {
  • printf("Vous ne pouvez plus entrer de skieurs, le tableau est plein\n");
  • rep='n';
  • }
  • else
  • {
  • printf("Ressaisir un skieurs (o/n)\n");
  • fflush(stdin);
  • scanf("%c",&rep);
  • }
  • }
  • while (rep !='n' || rep=='o');
  • /*FIN*/
  • }
  • /*PROCEDURE SAISIE ARRIVEES */
  • void saisiearrivees(ARRIVEES tarrive[MAXS],int nbcou, int nbski)
  • {
  • /*VARIABLE LOCALE */
  • int i; /* indice du skieur dans le tableau */
  • int ndoss; /* n° de dossard du skieur saisi*/
  • TEMPS tp; /* temps mis par le skieur */
  • BOOLEEN inexis; /* contient vrai si le dossard saisi n existe pas, faux sinon */
  • BOOLEEN deja; /* contient vrai si le skieurs saisi est deja dans le tableau tarrive, faux sinon*/
  • /*DEBUT*/
  • do
  • {
  • printf("Saisir le n de dossard\n");
  • scanf("%d",&ndoss);
  • if (ndoss < 1 || ndoss>nbski)
  • {
  • inexis = vrai ;
  • }
  • else
  • {
  • inexis = faux;
  • }
  • printf("Saisir le temps mis par le skieur (min, seconde, dixieme de seconde)\n");
  • scanf("%d%d%d",&tp.min,&tp.sec,&tp.dixsec);
  • while ( (tp.min < 0 || tp.min >60) || (tp.sec <0 || tp.sec > 60) || (tp.dixsec<0 || tp.dixsec>60))
  • {
  • printf("le temps saisi est invalide\n");
  • scanf("%d%d%d",&tp.min,&tp.sec,&tp.dixsec);
  • }
  • i=0;
  • while (i<= nbcou && tarrive[i].ndos != ndoss )
  • {
  • i=i+1;
  • }
  • if (i<= nbcou)
  • {
  • deja = vrai;
  • printf("Le skieur est deja arrivé\n");
  • }
  • else
  • {
  • deja = faux;
  • }
  • if (inexis == vrai)
  • {
  • printf (" Ce dossard n'existe pas \n");
  • }
  • }
  • while (inexis == vrai || deja ==vrai);
  • tarrive[nbcou].ndos =ndoss;
  • tarrive[nbcou].tps = tp;
  • /*FIN*/
  • }
  • /* PROCEDURE SAISIR UN DISQUALIFIE*/
  • void saisiedisqual(ARRIVEES tarrive[MAXS], DISQUAL tdisqual[MAXS], int *ptnbdisq, int *ptnbcou, int nbski)
  • {
  • /*VARIABLES LOCALES*/
  • int i; /* indice du tab tarrive*/
  • int ndoss; /* n° de dossard*/
  • int nporte; /* n° de la porte ou l erreur a ete commise */
  • BOOLEEN controle; /* contient vrai si le coureur n a pas deja ete disqualifie, faux sinon */
  • /*DEBUT*/
  • do
  • {
  • printf("Saisir la porte ou l erreur a ete commise\n");
  • scanf("%d",&nporte);
  • while (nporte < 1)
  • {
  • printf("N° de porte invalide\n");
  • scanf("%d",&nporte);
  • }
  • printf("Saisir le N° de dossard\n");
  • scanf("%d",&ndoss);
  • while (ndoss < 1 || ndoss > nbski)
  • {
  • printf("N° de dossard invalide\n");
  • scanf("%d",&ndoss);
  • }
  • i=0;
  • while (i <= *ptnbcou && tarrive[i].ndos != ndoss)
  • {
  • i++;
  • }
  • if ( i <= *ptnbcou)
  • {
  • controle=vrai;
  • }
  • else
  • {
  • controle =faux;
  • printf("Ce coureur a deja ete disqualifie\n");
  • }
  • }
  • while (controle != vrai);
  • /* lorsque l on sort, i contient l indice du coureur a disqualifier*/
  • while (i<= *ptnbcou)
  • {
  • tarrive[i].ndos=tarrive[i+1].ndos;
  • tarrive[i].tps.min=tarrive[i+1].tps.min;
  • tarrive[i].tps.sec=tarrive[i+1].tps.sec;
  • tarrive[i].tps.dixsec=tarrive[i+1].tps.dixsec;
  • i +=1;
  • }
  • *ptnbcou -=1;
  • *ptnbdisq +=1;
  • tdisqual[*ptnbdisq].ndos =ndoss;
  • tdisqual[*ptnbdisq].nport = nporte;
  • /*FIN*/
  • }
  • /*PROCEDURE PERMUTER*/
  • void permuter(ARRIVEES tarrive[MAXS], int j)
  • {
  • ARRIVEES temp;
  • temp.ndos=tarrive[j].ndos ;
  • temp.tps.dixsec=tarrive[j].tps.dixsec;
  • temp.tps.sec=tarrive[j].tps.sec;
  • temp.tps.min=tarrive[j].tps.min;
  • tarrive[j].ndos= tarrive[j-1].ndos;
  • tarrive[j].tps.dixsec= tarrive[j-1].tps.dixsec;
  • tarrive[j].tps.min= tarrive[j-1].tps.min;
  • tarrive[j].tps.sec= tarrive[j-1].tps.sec;
  • tarrive[j-1].ndos=temp.ndos;
  • tarrive[j-1].tps.dixsec=temp.tps.dixsec;
  • tarrive[j-1].tps.min=temp.tps.min;
  • tarrive[j-1].tps.sec=temp.tps.sec;
  • }
  • /* PROCEDURE CLASSER SKIEUR*/
  • void classerskieur(ARRIVEES tarrive[MAXS], int nbcou)
  • {
  • /*variable locale*/
  • int i,j ; /* compteurs*/
  • /*debut*/
  • /*Classement par tri insertion */
  • for (i=1; i<= nbcou ;i++)
  • {
  • j=i;
  • while (j>0 && ((tarrive[j].tps.min < tarrive[j-1].tps.min) || (tarrive[j].tps.min <= tarrive[j-1].tps.min && tarrive[j].tps.sec < tarrive[j-1].tps.sec) || ( tarrive[j].tps.min <= tarrive[j-1].tps.min && tarrive[j].tps.sec <= tarrive[j-1].tps.sec && tarrive[j].tps.dixsec < tarrive[j-1].tps.dixsec)))
  • {
  • permuter(tarrive,j);
  • j-=1;
  • }
  • }
  • }
  • /*PROCEDURE AFFICHER LES ARRIVES*/
  • void afficherarrive(ARRIVEES tarrive[MAXS], int nbcou)
  • {
  • /* VARIABLE LOCALE*/
  • int i;
  • /* DEBUT*/
  • printf("\n ******************************\n *Les Personnes Arrivees sont:*\n ******************************\n\n");
  • for ( i=0; i<nbcou; i++)
  • {
  • printf(" Skieurs dossard n %d Temps de: %d:%d:%d \n", tarrive[i].ndos, tarrive[i].tps.min,tarrive[i].tps.sec ,tarrive[i].tps.dixsec);
  • }
  • printf("\n\n");
  • /* FIN*/
  • }
  • /* PROCEDURE AFFICHER LES QUALIFIES*/
  • void afficherqualifies(ARRIVEES tarrive[MAXS],SKIEURS tskieur[MAXS], int nbcou)
  • {
  • /*Variable Locale*/
  • int i; /*compteur*/
  • /*debut*/
  • printf(" *********************\n *Les qualifies sont:*\n *********************\n\n");
  • for ( i=0; i<nbcou; i++)
  • {
  • printf(" Rang: %d, dossard n %d temps: %d:%d:%d, Nom: %s Pays: %s\n",i+1,tarrive[i].ndos,tarrive[i].tps.min,tarrive[i].tps.sec,tarrive[i].tps.dixsec,tskieur[i].nom,tskieur[i].pays);
  • }
  • /* test s'il y a des qualifie, s'il n'y en a pas, on l affiche a l utilisateur */
  • if (nbcou== 0)
  • {
  • printf(" Il n y a plus de qualifie\n");
  • }
  • printf("\n\n");
  • printf("\n");
  • /*fin*/
  • }
  • /* PROCEDURE AFFICHER LES DISQUALIFIES*/
  • void afficherdisqual(DISQUAL tdisqual[MAXS],SKIEURS tskieur[MAXS],int nbdisq)
  • {
  • /*variable locale*/
  • int i;
  • /*debut*/
  • printf("\n\n");
  • for ( i=1; i<=nbdisq; i++)
  • {
  • printf(" Skieurs dossard n %d elimine apres avoir commis une faute a la porte: %d \n", tdisqual[i].ndos , tdisqual[i].nport);
  • }
  • /* Test s il y a des disqualifie, s il n y en a pas, on retourne un message comme quoi il n y en a pas*/
  • if (nbdisq== 0)
  • {
  • printf(" Il n y a aucun disqualifie\n");
  • }
  • printf("\n\n");
  • }
/*PHENO PHILIPPE BTS INFO 1*/
/*GESTION D ARRIVEES DE SKIEURS*/
/*Bibliotheque*/
#include <stdio.h>
#include <string.h>
#include <time.h>
#define MAXS 30
/*DECLARATION DE STRUCTURE*/
typedef struct 
{ 
	char nom[MAXS], pays[MAXS];
} SKIEURS;
typedef struct
{
	int min,sec,dixsec;
}TEMPS;
typedef struct 
{
	int ndos;
	TEMPS tps;
}ARRIVEES;
typedef struct
{
	int ndos, nport;
}DISQUAL;
typedef enum {faux,vrai}BOOLEEN ;

/*DECLARATION DES PROCEDURES*/
void initskieur(SKIEURS tskieur[MAXS],int *ptnbski);
void saisiearrivees(ARRIVEES tarrive[MAXS],int nbcou, int nbski);
void saisiedisqual(ARRIVEES tarrive[MAXS], DISQUAL tdisqual[MAXS], int *ptnbdisq, int *ptnbcou, int nbski);
void classerskieur(ARRIVEES tarrive[MAXS], int nbcou);
void afficherarrive(ARRIVEES tarrive[MAXS], int nbcou);
void afficherqualifies(ARRIVEES tarrive[MAXS],SKIEURS tskieur[MAXS], int nbcou);
void gestmenu(void);
void afficherdisqual(DISQUAL tdisqual[MAXS],SKIEURS tskieur[MAXS],int nbdisq);
void permuter(ARRIVEES tarrive[MAXS],int j);
/*PROGRAMME PRINCIPAL*/
void main(void)
{
	int nbski; /*nb de participants*/
	int nbcou ; /*nb de participant arrivees*/
	int nbdisq; /* nb de personnes disqualifies*/
	int choix ; /*choix saisi apres affichage du menu*/ 
	/* Declaration de la variable now*/
	time_t now;
	SKIEURS tskieur[MAXS];
	ARRIVEES tarrive[MAXS];
	DISQUAL tdisqual[MAXS];
										/*DEBUT*/
	nbski=0;
	nbcou=0;
	nbdisq=0;
									/*TITRE DU PROGRAMME*/
	printf("   *\n");
	printf("  ***\n");
	printf(" *****\n");
	printf(" *O*O* \n");
	printf(" ***** \n");
	printf("  ***\n");
	printf("   * \n");
	printf("  ***\n");
	printf(" *******\n");
	printf(" ***** ** |         *****************************************************\n");
	printf(" *****  ***         * Bienvenue dans le programme de gestion de skieurs *\n");
	printf(" *****    |         *****************************************************\n");
	printf(" *****    |\n");
	printf(" ** **    |\n");
	printf("  ** **   |\n");
	printf("   ** ** ---\n");
	printf("  *****   |\n");
	printf(" ** **\n");
	printf("  ** ** \n");
	printf("   ** **\n");
	printf("    ** **\n\n");
	/* Fontion time avec la variable now comme parametre*/
	time(&now);
	/*Affichage de l heure et de la date*/
	printf("                  Nous sommes le : %s \n",asctime(localtime(&now)));
	initskieur(tskieur, &nbski);
	while (nbcou < nbski)
	{
		saisiearrivees(tarrive,nbcou,nbski);
		classerskieur(tarrive,nbcou);
		nbcou +=1;
	}
	afficherarrive(tarrive,nbcou);
	afficherqualifies(tarrive,tskieur,nbcou);
	do 
	{
		gestmenu();
		scanf("%d",&choix);
		switch (choix)
		{
			case 1: afficherqualifies(tarrive,tskieur,nbcou);
			break;
			case 2: afficherdisqual(tdisqual,tskieur,nbdisq);
			break;
			case 3: saisiedisqual(tarrive,tdisqual,&nbdisq,&nbcou,nbski);
			break;
			case 4: printf("\n********************************Fin de Programme********************************\n*****************************Copyright Freeman-Corp*****************************\n");
			break;
		}
	}
	while (choix != 4);
	/*fin*/
	printf("\n     %c Pour tout probleme, ou pour me contacter: Phenolphtaleine@aol.com %c\n\n",14,14);
}

/*PROCEDURE AFFICHER MENU*/
void gestmenu(void)
{
	printf("1 : Afficher les qualifies\n");
	printf("2 : Afficher les disqualifies\n");
	printf("3 : Saisir les disqualifies\n");
	printf("4 : Quitter le Programme \n" );
}
/* INITIALISATION DU SKIEURS, INSCRIPTION DE CELUI A LA COURSE */
void initskieur(SKIEURS tskieur[MAXS],int *ptnbski)
{
	/*VARIABLE LOCALE*/
	char rep; /*reponse a la question "Autre skieur" */ 
	/*DEBUT*/
	do
	{
		printf("Saisir le nom du skieur \n");
		scanf("%s", tskieur[*ptnbski].nom );
		while (tskieur[*ptnbski].nom=="")
		{
			printf("Le nom du skieur ne peut etre vide \n");
			scanf("%s", tskieur[*ptnbski].nom );
		}
		printf("Saisir le pays d'origine du skieur\n");
		scanf("%s", tskieur[*ptnbski].pays);
		while (tskieur[*ptnbski].pays=="")
		{
			printf("Le pays d'origine du skieur est obligatoire\n");
			scanf("%s", tskieur[*ptnbski].pays);
		}
		
		*ptnbski +=1;
		if (*ptnbski > MAXS)
		{
			printf("Vous ne pouvez plus entrer de skieurs, le tableau est plein\n");
			rep='n';
		}
		else 
		{
			printf("Ressaisir un skieurs (o/n)\n");
			fflush(stdin);
			scanf("%c",&rep);
		}
	}
	while (rep !='n' || rep=='o');
	/*FIN*/
}
/*PROCEDURE SAISIE ARRIVEES */
void saisiearrivees(ARRIVEES tarrive[MAXS],int nbcou, int nbski)
{
	/*VARIABLE LOCALE */
	int i; /* indice du skieur dans le tableau */
	int ndoss; /* n° de dossard du skieur saisi*/
	TEMPS tp; /* temps mis par le skieur */
	BOOLEEN inexis; /* contient vrai  si le dossard saisi n existe pas, faux sinon */
	BOOLEEN deja; /* contient vrai  si le skieurs saisi est deja dans le tableau tarrive, faux sinon*/
	/*DEBUT*/

	do
	{
		printf("Saisir le n de dossard\n");
		scanf("%d",&ndoss);
		if (ndoss < 1 || ndoss>nbski)
		{
			inexis = vrai ;
		}
		else 
		{
			inexis = faux;
		}
		printf("Saisir le temps mis par le skieur (min, seconde, dixieme de seconde)\n");
		scanf("%d%d%d",&tp.min,&tp.sec,&tp.dixsec);
		while ( (tp.min < 0 || tp.min >60) || (tp.sec <0 || tp.sec > 60) || (tp.dixsec<0 || tp.dixsec>60))
		{
			printf("le temps saisi est invalide\n");
			scanf("%d%d%d",&tp.min,&tp.sec,&tp.dixsec);
		}
		i=0;
		while (i<= nbcou && tarrive[i].ndos != ndoss )
		{
			i=i+1;
		}
		if (i<= nbcou)
		{
			deja = vrai;
			printf("Le skieur est deja arrivé\n");
		}
		else 
		{
			deja = faux;
		}
		if (inexis == vrai)
		{
			printf (" Ce dossard n'existe pas \n");
		}

	}
	while (inexis == vrai || deja ==vrai);
	tarrive[nbcou].ndos =ndoss;
	tarrive[nbcou].tps = tp;
	/*FIN*/
}
/* PROCEDURE SAISIR UN DISQUALIFIE*/
void saisiedisqual(ARRIVEES tarrive[MAXS], DISQUAL tdisqual[MAXS], int *ptnbdisq, int *ptnbcou, int nbski)
{
	/*VARIABLES LOCALES*/
	int i; /* indice du tab tarrive*/
	int ndoss; /* n° de dossard*/
	int nporte; /* n° de la porte ou l erreur a ete commise */
	BOOLEEN controle; /* contient vrai si le coureur n a pas deja ete disqualifie, faux sinon */
	/*DEBUT*/
	do 
	{
		printf("Saisir la porte ou l erreur a ete commise\n");
		scanf("%d",&nporte);
		while (nporte < 1)
		{
			printf("N° de porte invalide\n");
			scanf("%d",&nporte);
		}
		printf("Saisir le N° de dossard\n");
		scanf("%d",&ndoss);
		while (ndoss < 1 || ndoss > nbski)
		{
			printf("N° de dossard invalide\n");
			scanf("%d",&ndoss);
		}
		i=0;
		while (i <= *ptnbcou && tarrive[i].ndos != ndoss)
		{
			i++;
		}
		if ( i <= *ptnbcou)
		{
			controle=vrai;
		}
		else
		{
			controle =faux;
			printf("Ce coureur a deja ete disqualifie\n");
		}
	}
	while (controle != vrai);
	/* lorsque l on sort, i contient l indice du coureur a disqualifier*/
	while (i<= *ptnbcou)
	{
		tarrive[i].ndos=tarrive[i+1].ndos;
		tarrive[i].tps.min=tarrive[i+1].tps.min;
		tarrive[i].tps.sec=tarrive[i+1].tps.sec;
		tarrive[i].tps.dixsec=tarrive[i+1].tps.dixsec;
		i +=1;
	}
	*ptnbcou -=1;
	*ptnbdisq +=1;
	tdisqual[*ptnbdisq].ndos =ndoss;
	tdisqual[*ptnbdisq].nport = nporte;
	/*FIN*/
}
/*PROCEDURE PERMUTER*/
void permuter(ARRIVEES tarrive[MAXS], int j)
{
	ARRIVEES temp;
	temp.ndos=tarrive[j].ndos ;
	temp.tps.dixsec=tarrive[j].tps.dixsec;
	temp.tps.sec=tarrive[j].tps.sec;
	temp.tps.min=tarrive[j].tps.min;
	tarrive[j].ndos= tarrive[j-1].ndos;
	tarrive[j].tps.dixsec= tarrive[j-1].tps.dixsec;
	tarrive[j].tps.min= tarrive[j-1].tps.min;
	tarrive[j].tps.sec= tarrive[j-1].tps.sec;
	tarrive[j-1].ndos=temp.ndos;
	tarrive[j-1].tps.dixsec=temp.tps.dixsec;
	tarrive[j-1].tps.min=temp.tps.min;
	tarrive[j-1].tps.sec=temp.tps.sec;
}
/* PROCEDURE CLASSER SKIEUR*/
void classerskieur(ARRIVEES tarrive[MAXS], int nbcou)
{
	/*variable locale*/
	int i,j ; /* compteurs*/
	/*debut*/
	/*Classement par tri insertion */
	for (i=1; i<= nbcou ;i++)
	{
		j=i;
		while (j>0 && ((tarrive[j].tps.min < tarrive[j-1].tps.min) || (tarrive[j].tps.min <= tarrive[j-1].tps.min && tarrive[j].tps.sec < tarrive[j-1].tps.sec) || ( tarrive[j].tps.min <= tarrive[j-1].tps.min && tarrive[j].tps.sec <= tarrive[j-1].tps.sec && tarrive[j].tps.dixsec < tarrive[j-1].tps.dixsec)))
		{
							permuter(tarrive,j);
							j-=1;
		}
	}			
	
}
/*PROCEDURE AFFICHER LES ARRIVES*/
void afficherarrive(ARRIVEES tarrive[MAXS], int nbcou)
{
	/* VARIABLE LOCALE*/
	int i;
	/* DEBUT*/
	printf("\n                        ******************************\n                        *Les Personnes Arrivees sont:*\n                        ******************************\n\n");
	for ( i=0; i<nbcou; i++)
	{
		printf("                     Skieurs dossard n %d Temps de: %d:%d:%d \n", tarrive[i].ndos, tarrive[i].tps.min,tarrive[i].tps.sec ,tarrive[i].tps.dixsec);
	}
	printf("\n\n");
	/* FIN*/
}
/* PROCEDURE AFFICHER LES QUALIFIES*/
void afficherqualifies(ARRIVEES tarrive[MAXS],SKIEURS tskieur[MAXS], int nbcou)
{
	/*Variable Locale*/
	int i; /*compteur*/
	/*debut*/
	printf("                             *********************\n                             *Les qualifies sont:*\n                             *********************\n\n");
	for ( i=0; i<nbcou; i++)
	{
		printf("              Rang: %d, dossard n %d temps: %d:%d:%d, Nom: %s Pays: %s\n",i+1,tarrive[i].ndos,tarrive[i].tps.min,tarrive[i].tps.sec,tarrive[i].tps.dixsec,tskieur[i].nom,tskieur[i].pays);
			
	}
	/* test s'il y a des qualifie, s'il n'y en a pas, on  l affiche a l utilisateur */
	if (nbcou== 0)
	{
		printf("                           Il n y a plus de qualifie\n");
	}
		printf("\n\n");

	printf("\n");
	/*fin*/
}
/* PROCEDURE AFFICHER LES DISQUALIFIES*/
void afficherdisqual(DISQUAL tdisqual[MAXS],SKIEURS tskieur[MAXS],int nbdisq)
{
	/*variable locale*/
	int i;
	/*debut*/
	printf("\n\n");
	for ( i=1; i<=nbdisq; i++)
	{
		printf("       Skieurs dossard n %d elimine apres avoir commis une faute  a la porte: %d \n", tdisqual[i].ndos , tdisqual[i].nport);
	}
/* Test s il y a des disqualifie, s il n y en a pas, on retourne un message comme quoi il n y en a pas*/
	if (nbdisq== 0)
	{
		printf("                       Il n y a aucun disqualifie\n");
	}
		printf("\n\n");

}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • ski.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 781 octets
  • skieur.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier10 351 octets
  • skieur.dspTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 276 octets
  • skieur.dswTélécharger ce fichier [Réservé aux membres club]Voir ce fichier537 octets
  • skieur.ncbTélécharger ce fichier [Réservé aux membres club]50 176 octets
  • skieur.optTélécharger ce fichier [Réservé aux membres club]48 640 octets
  • skieur.plgTélécharger ce fichier [Réservé aux membres club]1 281 octets
  •   Debug
    • skieur.exeTélécharger ce fichier [Réservé aux membres club]184 412 octets
    • skieur.ilkTélécharger ce fichier [Réservé aux membres club]208 244 octets
    • skieur.objTélécharger ce fichier [Réservé aux membres club]24 749 octets
    • skieur.pchTélécharger ce fichier [Réservé aux membres club]181 604 octets
    • skieur.pdbTélécharger ce fichier [Réservé aux membres club]484 352 octets
    • vc60.idbTélécharger ce fichier [Réservé aux membres club]41 984 octets
    • vc60.pdbTélécharger ce fichier [Réservé aux membres club]53 248 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip CLIENT/SERVEUR: CLIENT NOMBRE ALEATOIRE [GCC]
Source avec Zip CLIENT/SERVEUR: SERVEUR NOMBRE ALEATOIRE [GCC]
TIMESTAMP, ECRITURE DANS UN FICHIER [GCC]
FACTURATION AVEC UTILISATION DES TABLEAUX DE STRUCTURES EN C

 Sources de la même categorie

Source avec Zip Source avec une capture PROGRAMME DE SUDOKU par AffreuxJojp
Source avec Zip EVALUATEUR D'EXPRESSION ARITHMÉTIQUE par matrx180vTitanium
Source avec Zip Source avec une capture QBIBLIO GESTION DES PRÊTS par conatic
Source avec Zip Source avec une capture QL-CHATROOM V 1.0 par mature
Source avec Zip Source avec une capture GEOLOCALISATION par ganjarasta

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales