#include <stdio.h>
int main() {
int n=4, m=9;
(n > 0 && n <= 100) ? printf("n est Positif et dans la plage [1, 100]\n") :
(n < 0 && n >= -100) ? printf("n est Négatif et dans la plage [-100, -1]\n") :
printf("n est Zero ou hors des plages spécifiées\n");
(m % 2 == 0 && m != 0) ? printf("m est Pair et non nul\n") :
(m % 2 != 0 && m != 0) ? printf("m est Impair et non nul\n") : printf("m est Zero\n");
return 0; }
Contexte
Raphaël vient d'être recruté dans une agence immobilière dans la ville de Dschang. Son rôle est de développer un système de gestion des locations de maisons pour l'agence. Ce système doit permettre de représenter les maisons disponibles à la location, de gérer les locations en cours, et de fournir des fonctionnalités avancées comme la recherche, le tri, et la sauvegarde des données.
Questions
0. Donner les structures de données adéquates pour représenter une maison et une location.
1. Initialisation de la structure Location
Écrivez une fonction initialiserLocation
qui initialise la structure Location
avec une capacité initiale.
void initialiserLocation(Location *location, int capaciteInitiale);
2. Ajout d'une maison
Écrivez une fonction ajouterMaison
qui ajoute une nouvelle maison à la liste de manière dynamique. La fonction doit retourner true
si la maison est ajoutée avec succès, et false
si la maison est déjà louée ou si l'ajout échoue.
bool ajouterMaison(Location *location, Maison maison);
3. Affichage des maisons
Écrivez une fonction afficherMaisons
qui affiche toutes les maisons disponibles avec leurs détails, y compris le nombre de jours de location.
void afficherMaisons(Location location);
4. Modification d'une maison
Écrivez une fonction modifierMaison
qui permet de modifier l'adresse et le prix d'une maison existante.
void modifierMaison(Location *location, int idMaison, char *nouvelleAdresse, float nouveauPrix);
5. Suppression d'une maison
Écrivez une fonction supprimerMaison
qui supprime une maison de la liste de manière dynamique. Assurez-vous de synchroniser listeMaisons
et joursLocation
.
void supprimerMaison(Location *location, int idMaison);
6. Recherche d'une maison
Écrivez une fonction rechercherMaison
qui retourne true
si une maison est disponible (non louée) et false
sinon.
bool rechercherMaison(Location location, int idMaison);
7. Recherche par adresse
Écrivez une fonction chercherParAdresse
qui recherche une maison par son adresse et retourne true
si elle existe.
bool chercherParAdresse(Location location, const char *adresse);
8. Tri par prix
Écrivez une fonction trierParPrix
qui trie les maisons par ordre croissant de prix en utilisant le tri par insertion. Assurez-vous de synchroniser listeMaisons
et joursLocation
.
void trierParPrix(Location *location);
9. Gestion des jours de location
Écrivez une fonction modifierJoursLocation
qui met à jour le nombre de jours de location pour une maison donnée. Si jours > 0
, la maison doit être marquée comme louée (estLouee = true
). Si jours = 0
, la maison doit être marquée comme non louée (estLouee = false
).
bool modifierJoursLocation(Location *location, int idMaison, int jours);
10. Liste des maisons louées
Écrivez une fonction maisonsLouees
qui retourne une liste dynamique des maisons actuellement louées.
Maison *maisonsLouees(Location location, int *nombreLouees);
11. Sauvegarde dans un fichier
Écrivez une fonction sauvegarderMaisonsLouees
qui sauvegarde les maisons louées dans un fichier nommé Location.txt
.
void sauvegarderMaisonsLouees(Location location);
12. Libération de la mémoire
Écrivez une fonction libererLocation
qui libère la mémoire allouée pour la structure Location
.
void libererLocation(Location *location);
Différence entre un fichier et un tableau
Dans la vie réelle :
Un fichier est un document physique ou numérique qui stocke des informations de manière persistante (exemple : un livre, un dossier). Un tableau est une structure temporaire utilisée pour organiser des données (exemple : un tableau blanc, une feuille de calcul).
En informatique :
Un fichier est un ensemble de données stockées sur un support de stockage (disque dur, SSD, etc.) de manière persistante. Un tableau est une structure de données en mémoire vive (RAM) utilisée pour stocker et manipuler des données de manière temporaire.