import [Link].
*;
import [Link].*;
interface Document {
void afficherDetails();
}
abstract class Periodique implements Document {
protected String titre;
protected String auteur;
protected String periode;
protected int exemplairesDisponibles;
public Periodique(String titre, String auteur, String periode, int
exemplairesDisponibles) {
[Link] = titre;
[Link] = auteur;
[Link] = periode;
[Link] = exemplairesDisponibles;
}
@Override
public void afficherDetails() {
[Link]("Titre: " + titre);
[Link]("Auteur: " + auteur);
[Link]("Période: " + periode);
[Link]("Exemplaires disponibles: " + exemplairesDisponibles);
}
}
class Livre implements Document {
private String titre;
private String auteur;
private int nombrePages;
private int exemplairesDisponibles;
public Livre(String titre, String auteur, int nombrePages, int
exemplairesDisponibles) {
[Link] = titre;
[Link] = auteur;
[Link] = nombrePages;
[Link] = exemplairesDisponibles;
}
@Override
public void afficherDetails() {
[Link]("Titre: " + titre);
[Link]("Auteur: " + auteur);
[Link]("Nombre de pages: " + nombrePages);
[Link]("Exemplaires disponibles: " + exemplairesDisponibles);
}
}
class Revue extends Periodique {
public Revue(String titre, String auteur, String periode, int
exemplairesDisponibles) {
super(titre, auteur, periode, exemplairesDisponibles);
}
}
class Article extends Periodique {
public Article(String titre, String auteur, String periode, int
exemplairesDisponibles) {
super(titre, auteur, periode, exemplairesDisponibles);
}
}
class Adherent {
private String nom;
private String prenom;
private int matricule;
private String email;
private List<Document> documentsEmpruntes;
public Adherent(String nom, String prenom, int matricule, String email) {
[Link] = nom;
[Link] = prenom;
[Link] = matricule;
[Link] = email;
[Link] = new ArrayList<>();
}
public void emprunter(Document document) {
if ([Link]() < 3) {
[Link](document);
[Link]("Document emprunté avec succès.");
} else {
[Link]("Limite d'emprunt atteinte.");
}
}
public void afficherEmprunts() {
for (Document document : documentsEmpruntes) {
[Link]();
}
}
// Les autres méthodes de la classe Adherent pourraient être ajoutées ici
}
class Bibliotheque {
private List<Document> documents;
private List<Adherent> adherents;
public Bibliotheque() {
[Link] = new ArrayList<>();
[Link] = new ArrayList<>();
}
public void ajouterDocument(Document document) {
[Link](document);
}
public void afficherTousDocuments() {
for (Document document : documents) {
[Link]();
}
}
public void enregistrerAdherent(Adherent adherent) {
[Link](adherent);
}
public Adherent rechercherAdherent(int matricule) {
for (Adherent adherent : adherents) {
if ([Link] == matricule) {
return adherent;
}
}
return null;
}
// Les autres méthodes de la classe Bibliothèque pourraient être ajoutées ici
}
class BaseDeDonnees {
public void creerFichiers() {
try {
File databaseFolder = new File("BaseDeDonnees");
if (![Link]()) {
[Link]();
}
File adherentFile = new File(databaseFolder, "[Link]");
File livreFile = new File(databaseFolder, "[Link]");
File revueFile = new File(databaseFolder, "[Link]");
File articleFile = new File(databaseFolder, "[Link]");
File empruntFile = new File(databaseFolder, "[Link]");
File taxeFile = new File(databaseFolder, "[Link]");
[Link]();
[Link]();
[Link]();
[Link]();
[Link]();
[Link]();
[Link]("Emplacement de la base de données: " +
[Link]());
} catch (IOException e) {
[Link]();
}
}
}
public class MainBibliotheque {
public static void main(String[] args) {
Bibliotheque bibliotheque = new Bibliotheque();
BaseDeDonnees baseDeDonnees = new BaseDeDonnees();
// Création des documents
Livre livre1 = new Livre("L'enfant Noir", "Camara Laye", 100, 32);
Revue revue1 = new Revue("La revue Informatique", "Microsoft", "decembre-
2021", 50);
Article article1 = new Article("Ubuntu", "les linuxiens", "Janvier-2023",
100);
// Ajout des documents à la bibliothèque
[Link](livre1);
[Link](revue1);
[Link](article1);
// Création des adhérents
Adherent adherent1 = new Adherent("Ndiaye", "Akawa", 20,
"akawandiayeunipro@[Link]");
// Enregistrement des adhérents
[Link](adherent1);
// Recherche d'un adhérent
Adherent recherche = [Link](20);
if (recherche != null) {
[Link]("Adhérent trouvé: " + [Link]);
} else {
[Link]("Adhérent non trouvé.");
}
// Création des fichiers de la base de données
[Link]();
}
}