Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. #define maxEquipe 2
  6. #define maxPatineur 3
  7. #define lgMot 30
  8. #define maxTour 10
  9. #define maxEpreuve 16
  10. #pragma warning (disable: 4996)
  11.  
  12. typedef struct {
  13. double temps;
  14. unsigned int noTour;
  15. } Mesure;
  16.  
  17. typedef struct {
  18. char nom[lgMot + 1];
  19. unsigned int dossard;
  20. Mesure data1[maxTour];
  21. } Patineur;
  22.  
  23. typedef struct {
  24. Patineur data[maxPatineur];
  25. char pays[lgMot + 1];
  26.  
  27. } Equipe;
  28.  
  29. typedef struct {
  30. Equipe equipe_ins[maxEquipe];
  31. } Inscrits;
  32.  
  33. static int nb_appel = 0;
  34. static int compteur_dossard = 101;
  35.  
  36. void inscription(Inscrits* ins) {
  37. scanf("%s", ins->equipe_ins[nb_appel].pays);
  38. for (int i = 0; i < maxPatineur; ++compteur_dossard, ++i) {
  39. scanf("%s", ins->equipe_ins[nb_appel].data[i].nom);
  40. ins->equipe_ins[nb_appel].data[i].dossard = compteur_dossard;
  41. printf("Inscription dossard %d\n", compteur_dossard);
  42. }
  43. ++nb_appel;
  44. }
  45.  
  46. void afficher(const Inscrits* ins) {
  47. for (int i = 0; i < maxEquipe; ++i) {
  48. printf("%s ", ins->equipe_ins[i].pays);
  49. for (int j = 0; j < maxPatineur; ++j) {
  50. printf("%s %d ", ins->equipe_ins[i].data[j].nom, ins->equipe_ins[i].data[j].dossard);
  51. }
  52. printf("\n");
  53. }
  54. }
  55.  
  56. void enregistrement_temps(Inscrits* ins) {
  57. int dossard, eq, pat;
  58. Mesure m = { 0.0, 0 };
  59. scanf("%d", &dossard);
  60. for (int i = 0; i < maxEquipe; ++i) {
  61. for (int j = 0; j < maxPatineur; ++j) {
  62. if (ins->equipe_ins[i].data[j].dossard == dossard) {
  63. eq = i;
  64. pat = j;
  65. }
  66. }
  67. }
  68. scanf("%d", &m.noTour);
  69. scanf("%lf", &m.temps);
  70. for (int i = 0; i < maxTour; ++i) {
  71. if (ins->equipe_ins[eq].data[pat].data1[i].noTour > maxTour) {
  72. ins->equipe_ins[eq].data[pat].data1[i].noTour = m.noTour;
  73. ins->equipe_ins[eq].data[pat].data1[i].temps = m.temps;
  74. break;
  75. }
  76. }
  77. }
  78.  
  79. void affichage_temps(const Inscrits* ins) {
  80. int a, eq, pat;
  81. int compteur = 0;
  82. scanf("%d", &a);
  83. for (int i = 0; i < maxEquipe; ++i) {
  84. for (int j = 0; j < maxPatineur; ++j) {
  85. if (ins->equipe_ins[i].data[j].dossard == a) {
  86. eq = i;
  87. pat = j;
  88. }
  89. }
  90. }
  91. while (ins->equipe_ins[eq].data[pat].data1[compteur].noTour <= 10) {
  92. printf("%s ", ins->equipe_ins[eq].pays);
  93. printf("%d ", ins->equipe_ins[eq].data[pat].data1[compteur].noTour);
  94. printf("%s ", ins->equipe_ins[eq].data[pat].nom);
  95. printf("%.1lf\n", ins->equipe_ins[eq].data[pat].data1[compteur].temps);
  96. ++compteur;
  97. }
  98. }
  99.  
  100. void afficher_temps_equipes(Inscrits* ins) {
  101. int noTour = 1;
  102. double res;
  103. scanf("%d", &noTour);
  104. for (int i = 0; i < maxEquipe; ++i) {
  105. for (int j = 0; j < maxPatineur; ++j) {
  106. if (ins->equipe_ins[i].data[j].data1[noTour - 1].noTour > maxTour) {
  107. printf("Indisponible\n");
  108. break;
  109. }
  110.  
  111. }
  112. }
  113. }
  114.  
  115.  
  116. int main() {
  117. Inscrits p;
  118. char mot[lgMot + 1];
  119. while (1) {
  120.  
  121. // Lecture de la commande (mot)
  122. scanf("%s", mot);
  123.  
  124. // si la commande inscrire
  125. if (strcmp(mot, "inscrire_equipe") == 0) {
  126. inscription(&p);
  127. }
  128.  
  129. // si la commande afficher
  130. else if (strcmp(mot, "afficher_equipes") == 0) {
  131. afficher(&p);
  132. }
  133.  
  134. else if (strcmp(mot, "enregistrer_temps") == 0) {
  135. enregistrement_temps(&p);
  136. }
  137.  
  138. else if (strcmp(mot, "afficher_temps") == 0) {
  139. affichage_temps(&p);
  140. }
  141.  
  142. else if (strcmp(mot, "afficher_temps_equipes") == 0) {
  143. afficher_temps_equipes(&p);
  144. }
  145.  
  146. // si la commande est "exit" .
  147. if (strcmp(mot, "exit") == 0) {
  148. exit(0); // sortie du programme principal
  149. }
  150. }
  151. system("pause"); return 0;
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement