Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <assert.h>
- #include <math.h>
- #include <string.h>
- #pragma warning (disable :4996)
- #define MinTours 2 // Nombre minimum de tours
- #define MaxTours 10 // Nombre maximum de tours
- #define minEpreuves 1 // Nombres minimum d'épreuves
- #define maxEpreuves 16 // Nombres maximum d'épreuves
- #define patEq 3 // Nombre de patineurs par équipes
- #define EqEpreuves 2 // Nombre d'équipes par épreuves
- #define MaxChaine 30 // Taille maximale d'une chaîne de caractère lue
- #define MaxEq 32 // Nombre Maximum d'équipes
- typedef struct {
- char nom[MaxChaine + 1];
- unsigned int dossard;
- } Patineur;
- typedef struct {
- Patineur data[patEq];
- char pays[MaxChaine+1];
- } Equipe;
- void definition_parcours(int tour) {
- scanf("%d", &tour);
- assert(tour>=MinTours && tour<=MaxTours);
- }
- void definition_nb_epreuves(int nbEp) {
- scanf("%d", &nbEp);
- assert(nbEp >= minEpreuves && nbEp <= maxEpreuves);
- }
- void inscription_equipe(Equipe* eq) { // fonction d'inscription des équipes
- static int numdos = 100;
- scanf("%s", &eq->pays);
- scanf("%s", &eq->data[0].nom);
- scanf("%s", &eq->data[1].nom);
- scanf("%s", &eq->data[2].nom);
- for (int i = 0; i < patEq; i++) {
- numdos++;
- eq->data[i].dossard = numdos;
- printf("inscription dossard %d\n", eq->data[i].dossard);
- }
- }
- void affichage_equipe(const Equipe* eq) {
- printf("%s %s %d %s %d %s %d\n", eq->pays, eq->data[0].nom, eq->data[0].dossard, eq->data[1].nom, eq->data[1].dossard, eq->data[2].nom, eq->data[2].dossard);
- }
- int main() {
- Equipe eq[MaxEq];
- char mot[MaxChaine+1];
- int tour = 0;
- int nbEp = 0;
- int i = 0;
- while (1) { // ou do {…} while(1);
- //Lecture de la commande (mot)
- scanf("%s", mot);
- // si la commande est "definir_parcours"
- if (strcmp(mot, "definir_parcours") == 0) {
- // apppeler la fonction definition_parcours
- definition_parcours(tour);
- }
- // si la commande est "definir_nombre_epreuves"
- if (strcmp(mot, "definir_nombre_epreuves") == 0) {
- // apppeler la fonction definition_parcours
- definition_nb_epreuves(nbEp);
- }
- // si la commande est "inscrire_equipe"
- if (strcmp(mot, "inscrire_equipe") == 0) {
- // appeler la fonction inscription_equipe …
- inscription_equipe(&eq[i]);
- i++;
- }
- // si la commande est "afficher_equipe"
- if (strcmp(mot, "afficher_equipe") == 0) {
- // appeler la fonction affichage_equipe
- for (int j = 0; j < EqEpreuves; j++) {
- affichage_equipe(&eq[j]);
- }
- }
- // 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