Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #define maxEquipe 2
- #define maxPatineur 3
- #define lgMot 30
- #define maxTour 10
- #define maxEpreuve 16
- #pragma warning (disable: 4996)
- typedef struct {
- double temps;
- unsigned int noTour;
- } Mesure;
- typedef struct {
- char nom[lgMot + 1];
- unsigned int dossard;
- Mesure data1[maxTour];
- } Patineur;
- typedef struct {
- Patineur data[maxPatineur];
- char pays[lgMot + 1];
- } Equipe;
- typedef struct {
- Equipe equipe_ins[maxEquipe];
- } Inscrits;
- static int nb_appel = 0;
- static int compteur_dossard = 101;
- void inscription(Inscrits* ins) {
- scanf("%s", ins->equipe_ins[nb_appel].pays);
- for (int i = 0; i < maxPatineur; ++compteur_dossard, ++i) {
- scanf("%s", ins->equipe_ins[nb_appel].data[i].nom);
- ins->equipe_ins[nb_appel].data[i].dossard = compteur_dossard;
- printf("Inscription dossard %d\n", compteur_dossard);
- }
- ++nb_appel;
- }
- void afficher(const Inscrits* ins) {
- for (int i = 0; i < maxEquipe; ++i) {
- printf("%s ", ins->equipe_ins[i].pays);
- for (int j = 0; j < maxPatineur; ++j) {
- printf("%s %d ", ins->equipe_ins[i].data[j].nom, ins->equipe_ins[i].data[j].dossard);
- }
- printf("\n");
- }
- }
- void enregistrement_temps(Inscrits* ins) {
- int dossard, eq, pat;
- Mesure m = { 0.0, 0 };
- scanf("%d", &dossard);
- for (int i = 0; i < maxEquipe; ++i) {
- for (int j = 0; j < maxPatineur; ++j) {
- if (ins->equipe_ins[i].data[j].dossard == dossard) {
- eq = i;
- pat = j;
- }
- }
- }
- scanf("%d", &m.noTour);
- scanf("%lf", &m.temps);
- for (int i = 0; i < maxTour; ++i) {
- if (ins->equipe_ins[eq].data[pat].data1[i].noTour > maxTour) {
- ins->equipe_ins[eq].data[pat].data1[i].noTour = m.noTour;
- ins->equipe_ins[eq].data[pat].data1[i].temps = m.temps;
- break;
- }
- }
- }
- void affichage_temps(const Inscrits* ins) {
- int a, eq, pat;
- int compteur = 0;
- scanf("%d", &a);
- for (int i = 0; i < maxEquipe; ++i) {
- for (int j = 0; j < maxPatineur; ++j) {
- if (ins->equipe_ins[i].data[j].dossard == a) {
- eq = i;
- pat = j;
- }
- }
- }
- while (ins->equipe_ins[eq].data[pat].data1[compteur].noTour <= 10) {
- printf("%s ", ins->equipe_ins[eq].pays);
- printf("%d ", ins->equipe_ins[eq].data[pat].data1[compteur].noTour);
- printf("%s ", ins->equipe_ins[eq].data[pat].nom);
- printf("%.1lf\n", ins->equipe_ins[eq].data[pat].data1[compteur].temps);
- ++compteur;
- }
- }
- void afficher_temps_equipes(Inscrits* ins) {
- int noTour = 1;
- double res;
- scanf("%d", &noTour);
- for (int i = 0; i < maxEquipe; ++i) {
- for (int j = 0; j < maxPatineur; ++j) {
- if (ins->equipe_ins[i].data[j].data1[noTour - 1].noTour > maxTour) {
- printf("Indisponible\n");
- break;
- }
- }
- }
- }
- int main() {
- Inscrits p;
- char mot[lgMot + 1];
- while (1) {
- // Lecture de la commande (mot)
- scanf("%s", mot);
- // si la commande inscrire
- if (strcmp(mot, "inscrire_equipe") == 0) {
- inscription(&p);
- }
- // si la commande afficher
- else if (strcmp(mot, "afficher_equipes") == 0) {
- afficher(&p);
- }
- else if (strcmp(mot, "enregistrer_temps") == 0) {
- enregistrement_temps(&p);
- }
- else if (strcmp(mot, "afficher_temps") == 0) {
- affichage_temps(&p);
- }
- else if (strcmp(mot, "afficher_temps_equipes") == 0) {
- afficher_temps_equipes(&p);
- }
- // si la commande est "exit" .
- if (strcmp(mot, "exit") == 0) {
- exit(0); // sortie du programme principal
- }
- }
- system("pause"); return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement