#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.