2025-01-30 16:07:12 +01:00
|
|
|
----- TP31 : Concepts en vrac -----
|
|
|
|
|
|
|
|
1.
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
unsigned int durabilite : 10;
|
|
|
|
unsigned int deplacement : 4;
|
|
|
|
unsigned int defense : 7;
|
|
|
|
unsigned int degats : 7;
|
|
|
|
unsigned int distance : 4;
|
|
|
|
} unite;
|
|
|
|
|
|
|
|
int main(void) {
|
|
|
|
unite test;
|
|
|
|
test.durabilite = 7;
|
|
|
|
test.defense = 7;
|
|
|
|
test.degats = 7;
|
|
|
|
test.deplacement = 7;
|
|
|
|
test.distance = 7;
|
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
2.
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
enum wedge {
|
|
|
|
PITCHING = 1,
|
|
|
|
GAP = 2,
|
|
|
|
SAND = 3,
|
|
|
|
LOP = 4,
|
|
|
|
FLIP = 5
|
|
|
|
};
|
|
|
|
|
|
|
|
enum putter {
|
|
|
|
REGULAR = 1,
|
|
|
|
BELLY = 2,
|
|
|
|
LONG = 3
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
char* marque;
|
|
|
|
char* modele;
|
|
|
|
char* categorie;
|
|
|
|
unsigned int sous_categorie : 4;
|
|
|
|
} club;
|
|
|
|
|
|
|
|
void affiche_catalogue(int taille_catalogue, club* catalogue) {
|
|
|
|
int i;
|
|
|
|
char* wedge[5] = {"Pitching", "Gap", "Sand", "Lop", "Flip"};
|
|
|
|
char* putter[3] = {"Regular", "Belly", "Long"};
|
|
|
|
printf("| Marque | Modèle | Catégorie | Sous-catégorie |\n");
|
|
|
|
printf("------------------------------------------------\n");
|
|
|
|
for (i = 0; i != taille_catalogue; i++) {
|
|
|
|
if (filtre(catalogue[i])) {
|
|
|
|
printf("| %6s | %6s | %9s | %14d |\n", catalogue[i].marque, catalogue[i].modele, catalogue[i].categorie, catalogue[i].sous_categorie);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int filtre(club article) {
|
|
|
|
return article.categorie == "Fer" && article.sous_categorie <= 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(void) {
|
|
|
|
int i;
|
|
|
|
club catalogue[100];
|
|
|
|
char* marques[4] = {"A", "B", "C", "D"};
|
|
|
|
char* modeles[4] = {"M", "N", "O", "P"};
|
|
|
|
char* categories[4] = {"Bois", "Fer", "Wedge", "Putter"};
|
|
|
|
srand(time(NULL));
|
|
|
|
for(i = 0; i != 100; i++) {
|
|
|
|
catalogue[i].marque = marques[rand() % 4];
|
|
|
|
catalogue[i].modele = modeles[rand() % 4];
|
|
|
|
catalogue[i].categorie = categories[rand() % 4];
|
|
|
|
if (catalogue[i].categorie == "Wedge") {
|
|
|
|
catalogue[i].sous_categorie = rand() % 5;
|
|
|
|
}
|
|
|
|
else if (catalogue[i].categorie == "Putter") {
|
|
|
|
catalogue[i].sous_categorie = rand() % 3;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
catalogue[i].sous_categorie = rand() % 9 + 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
affiche_catalogue(100, catalogue);
|
|
|
|
|
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
3.
|
|
|
|
|