Projet Gestion de comptes Bancaires java

Fermé
kiirias Messages postés 1 Date d'inscription mercredi 16 mars 2016 Statut Membre Dernière intervention 16 mars 2016 - 16 mars 2016 à 11:11
choukie12 Messages postés 55 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 juin 2018 - 16 mars 2016 à 12:05
Bonjour à tous, je suis étudiant ingénieur en mécanique et (étrangement) j'ai un projet à faire en JAVA devant respecter l'énoncé ci-dessous.

En bas de la description, je fournis le travail que j'ai déjà fait.
Il me manque la partie création de compte ou le numéro attribué est n+1 // l'affectation du découvert et débit max autorisés.
Je n'ai pas réussi à faire lanceur dans lequel doit se trouver un menu à choix multiples.
C'est donc sur ces points que j'aurais besoin de votre aide.
N'hésitez pas à m'indiquer les erreurs que j'ai fait sur mon programme je ne suis absolument pas un spécialiste de java j'ai fait du mieux que j'ai pu.


SUJET
  • /

Il s'agit de définir une classe JAVA permettant de modéliser des comptes bancaires. Cette classe (Compte) doit permettre à une application de créer et utiliser autant de comptes bancaires que nécessaires, chaque compte étant un objet, instance (ou exemplaire) de la classe Compte.

Un compte bancaire est identifié par un numéro de compte. Ce numéro de compte est un entier positif permettant de désigner et distinguer sans ambiguïté possible chaque compte géré par l'établissement bancaire. Chaque compte possède donc un numéro unique. Ce numéro est attribué
par la banque à l'ouverture du compte et ne peut être modifié par la suite. Dans un souci de simplicité (qui ne traduit pas la réalité) on adoptera la politique suivante pour l'attribution des numéros de compte : les comptes sont numérotés de 1 à n, n étant le nombre de comptes qui ont
été créés. Lorsqu’un nouveau compte est créé, le numéro qui lui est attribué est n+1.
Un compte est associé à une personne (civile ou morale) titulaire du compte, cette personne étant décrite par son (nom, prénom). Une fois le compte créé, le titulaire du compte ne peut plus être
modifié.
La somme d'argent disponible sur un compte est exprimée en dh. Cette somme est désignée sous le terme de solde du compte. Ce solde est un nombre décimal qui peut être positif, nul ou négatif.
Le solde d'un compte peut être éventuellement (et temporairement) être négatif. Dans ce cas, on dit que le compte est à découvert. Le découvert d'un compte est nul si le solde du compte est positif ou nul, il est égal à la valeur absolue du solde si ce dernier est négatif.
En aucun cas le solde d'un compte ne peut être inférieur à une valeur fixée pour ce compte. Cette valeur est définie comme étant - (moins) le découvert maximal autorisé pour ce compte. Par exemple pour un compte dont le découvert maximal autorisé est 2000 dh, le solde ne pourra pas être inférieur à -2000 dh. Le découvert maximal autorisé peut varier d'un compte à un autre, il est fixé arbitrairement par la banque à la création du compte et peut être ensuite révisé selon les modifications des revenus du titulaire du compte.
Créditer un compte consiste à ajouter un montant positif au solde du compte.
Débiter un compte consiste à retirer un montant positif au solde du compte. Le solde résultant ne doit en aucun cas être inférieur au découvert maximal autorisé pour ce compte.
Lors d'une opération de retrait, un compte ne peut être débité d'un montant supérieur à une valeur désignée sous le terme de débit maximal autorisé. Comme le découvert maximal autorisé, le débit maximal autorisé peut varier d'un compte à un autre et est fixé arbitrairement par la banque à la
création du compte. Il peut être ensuite révisé selon les modifications des revenus du titulaire du compte.
Effectuer un virement consiste à débiter un compte au profit d'un autre compte qui sera crédité du montant du débit.
Lors de la création d'un compte seul le nom du titulaire du compte est indispensable. En l'absence de dépôt initial le solde est fixé à 0. Les valeurs par défaut pour le découvert maximal autorisé et
le débit maximal autorisé sont respectivement de 800dh et 1000 dh. Il est éventuellement possible d'attribuer d'autres valeurs à ces caractéristiques du compte lors de sa création.
Toutes les informations concernant un compte peuvent être consultées :numéro du compte, nom
du titulaire, montant du découvert maximal autorisé, montant du débit maximal autorisé, situation
du compte (est-il à découvert ?), montant du débit autorisé (fonction du solde courant et du débit
maximal autorisé).
  • /


CI DESSOUS CE QUE J'AI CODÉ


</code>
  • / CLIENT

package domaine;

public class Client {


// Attributs du Client
private String nom;
private String adresse;



// Constructeur
public Client(String nom, String adresse) {
super();
this.nom = nom;
this.adresse = adresse;
}



// Getters et Setters
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getAdresse() {
return adresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse;
}


}
  • /fin
  • /Compte bancaire



package domaine;

public class CompteBancaire {


// Attributs Compte Bancaire
private int numCompte;
private double solde;
private double decouvert;
private String prenomTitulaire;
private String nomTitulaire;
public double decouvertMax;
public double debitMax;
private double debitAutorise;
private double retraitSolde;





// Constructeur création Compte bancaire
public CompteBancaire(int numCompte, String nomTitulaire, String prenomTitulaire) {
super();
this.numCompte = numCompte;
this.nomTitulaire = nomTitulaire;
this.prenomTitulaire = prenomTitulaire;
}


//Constructeur affectation découvert

public CompteBancaire(int numCompte, String nomTitulaire, String prenomTitulaire, float decouvertMax) {
this(numCompte, nomTitulaire, prenomTitulaire);
this.decouvertMax = decouvertMax;

}

//Constructeur affectation debit max

public CompteBancaire(int numCompte, String nomTitulaire, String prenomTitulaire, float decouvertMax, float debitMax) {
this(numCompte, nomTitulaire, prenomTitulaire, decouvertMax);
this.debitMax = debitMax;

}
// Fonction vérification découvert
public double montantDecouvert(){
if (solde<0){
return -solde;
}
else
{
return 0;
}
}

// Fonction ajouter de l'argent au compte
public void ajoutArgent(double montant)
{
solde = montant+solde ;
}


// Fonction retirer de l'argent au compte
public void retraitArgent(double montant){
retraitSolde = solde - montant;
if(montant <= debitMax && retraitSolde <= decouvertMax && montant>0)
{
solde = retraitSolde;
System.out.println("Voici votre argent, votre solde restant est " + solde);
}
else
{
System.out.println("Retrait impossible");
}
}



// Getters et Setters
public int getNumCompte() {
return numCompte;
}
public void setNumCompte(int numCompte) {
this.numCompte = numCompte;
}
public double getSolde() {
return solde;
}
public void setSolde(float solde) {
this.solde = solde;
}
public double getDecouvert() {
return decouvert;
}
public void setDecouvert(float decouvert) {
this.decouvert = decouvert;
}
public String getNomTitulaire() {
return nomTitulaire;
}
public void setNomTitulaire(String nomTitulaire) {
this.nomTitulaire = nomTitulaire;
}
public String getPrenomTitulaire() {
return prenomTitulaire;
}
public void setPrenomTitulaire(String prenomTitulaire) {
this.prenomTitulaire = prenomTitulaire;
}
public double getDecouvertMax() {
return decouvertMax;
}
public void setDecouvertMax(float decouvertMax) {
this.decouvertMax = decouvertMax;
}
public double getDebitMax() {
return debitMax;
}
public void setDebitMax(float debitMax) {
this.debitMax = debitMax;
}
public double getDebitAutorise() {
return debitAutorise;
}
public void setDebitAutorise(float debitAutorise) {
this.debitAutorise = debitAutorise;
}

}
  • /fin
  • /client pro


package domaine;

public class ClientProfessionnel extends Client {


// Attributs du Client Professionnel
private int numSIRET;
private String typeActivite;
private String statut;



// Constructeur
public ClientProfessionnel(String nom, String adresse, int numSIRET,
String typeActivite, String statut) {
super(nom, adresse);
this.numSIRET = numSIRET;
this.typeActivite = typeActivite;
this.statut = statut;
}

}
  • /fin
  • /client part




package domaine;

public class ClientParticulier extends Client {


// Attributs du Client Particulier
private int dateNaissance;
private String etatCivil;
private String emploie;



// Constructeur
public ClientParticulier(String nom, String adresse, int dateNaissance,
String etatCivil, String emploie) {
super(nom, adresse);
this.dateNaissance = dateNaissance;
this.etatCivil = etatCivil;
this.emploie = emploie;
}
}
<code>
Je vous remercie d'avance pour votre aide
A voir également:

1 réponse

choukie12 Messages postés 55 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 juin 2018 6
16 mars 2016 à 12:05
Bonjour,

Actuellement tu as défini que les objets si je comprends bien.

Pour le stockage des données, tu as une obligation? (base de données, fichier..)

Ensuite, je pense que tu as oublié de faire un lien entre le compteBancaire et le client. à la place de prenom et nom titulaire en attribut, tu devrait créer un attribut de type client dans ton compte bancaire.
0