Programme java [Résolu]

cs_desco182 15 Messages postés jeudi 11 décembre 2008Date d'inscription 21 juin 2010 Dernière intervention - 10 juin 2010 à 22:53 - Dernière réponse : millo29 4 Messages postés vendredi 22 octobre 2010Date d'inscription 23 octobre 2010 Dernière intervention
- 23 oct. 2010 à 21:27
salut !

S'il vous plait j'aimerais avoir votre aide concernant ce programme que je dois écrire en java arrive la j'ai des difficultés

merci d'avance de votre aide .....a plus


/*
Dans le cadre de l’informatisation d’une mairie, on veut automatiser le calcul des impôts locaux. On distingue deux catégories d’habitations : les habitations à usage professionnel et les maisons individuelles, l’impôt se calcule différemment selon le type d’habitation. Les caractéristiques communes à toutes les habitations sont : code d’identification qui permet de différencier chaque habitation, propriétaire qui correspond au nom du propriétaire de l’habitation, type d’habitation qui correspond a la catégorie ou se situe l’habitation (individuelle ou professionnelle), zone qui sert à indiquer le bloc ou se situe l’habitation, adresse qui correspond à l’adresse de l’habitation, surface qui correspond à la superficie de l’habitation et qui permet de calculer le montant de l’impôt.
Le calcule de l’impôt d’une habitation individuelle est en fonction de la surface habitable, du nombre de pièces et de la présence ou non d’une piscine. On compte 500 gourdes par pièce, 250 gourdes supplémentaires en cas de présence d’une piscine et 100 gourdes par mètre carré de surface. Dans ce cas deux autres caractéristiques viennent ajouter aux autres : nombre de pièce correspondant au nombre de chambre d’une habitation individuelle et piscine qui précise si l’habitation dispose ou pas de piscine.

Le calcule de l’impôt d’une habitation à usage professionnel est en fonction de la surface occupée par le bâtiment et du nombre d’employés travaillant dans l’entreprise. On compte 150 gourdes par mètre carré de surface et 1000 gourdes supplémentaires par tranche de 10 employés. Dans ce cas, une nouvelle caractéristique qui est le nombre d’employé vient d’ajouter aux caractéristiques communes des habitations.

Travaille à faire :
Développement d’un système de gestion informatisé des habitations d’une mairie disposant les fonctionnalités suivantes :
- Enregistrement des habitations individuelles ou professionnelles
- Listing des habitations suivant une catégorie saisie par l’utilisateur avec le montant d’impôt à payer
- Calculer le montant total d’impôt à payer pour les habitations se trouvant dans un bloc saisi par l’utilisateur
- Calculer et afficher le nombre d’habitations individuelles et professionnelles
- Afficher par ordre alphabétique des noms de propriétaire, toutes les habitations avec leur montant d’impôt à payer.
- Augmenter le nombre de pièce d’une habitation individuelle à partir de son code
- Augmenter le nombre d’employé travaillant sur une habitation professionnelle.
- Changer de propriétaire, une habitation à partir de son code
- Calculer et afficher le montant total d’impôt provenant d’une catégorie d’habitations spécifiée par l’utilisateur.
- Calculer et afficher le montant total d’impôt collecté par la mairie pour toutes les habitations.




*/



//implementation de classe gestion habitation
import java.util.*;
public class GestionHabitation{
private Habitation pi[];
private int nb;
private int compteur;
private Scanner sc;
//definition des methodes
/* public void GestionHabitation(){
compteur=0;
sc=new Scanner(System.in);
System.out.println("Entrer le nombre d'habitation a gerer : ");
nb=sc.nextInt();
//initialisation du tableau
pi=new Habitation [nb];
}*/

//definition d'une fonction de recherche
private int recherche(String code){
int r=-1;
for(int i=0;i<compteur;i++){
if(code.equals(pi[i].getCode())==true)
r=i;
}
return r;
}

//definition de la fonction enregistrement habitation
public void enregistrerprofessionnelle(){
sc=new Scanner(System.in);
System.out.println("Entrer le code d'habitation professionnelle a enregistrer:");
String code=sc.nextLine();
if(recherche(code)==-1){
System.out.println("Entrer son nom");
String nom=sc.nextLine();
System.out.println("Entrer le type:");
String type=sc.nextLine();
System.out.println("Entrer la zone:");
String zone=sc.nextLine();
System.out.println("Entrer l'adresse:");
String adresse=sc.nextLine();
System.out.println("Entrer la surface :");
double surface=sc.nextDouble();
System.out.println("Entrer le nombre d'employe :");
int nombemp=sc.nextInt();
pi[compteur]=new HabitationProfessionnelle(code,nom,type,zone,adresse,surface,nombemp);
compteur++;
}
else
System.out.println("Ce code Existe deja.");
}
public void enregistrerindividuelle(){
sc=new Scanner(System.in);
System.out.println("Entrer le code d'habitation individuelle a enregistrer:");
String code=sc.nextLine();
if(recherche(code)==-1){

System.out.println("Entrer le nom");
String nom=sc.nextLine();
System.out.println("Entrer le type");
String type=sc.nextLine();
System.out.println("Entrer la zone");
String zone=sc.nextLine();
System.out.println("Entrer l'adresse");
String adresse=sc.nextLine();
System.out.println("Entrer la surface");
double surface=sc.nextDouble();
System.out.println("Entrer le nombre de piece");
int nombpiece=sc.nextInt();
System.out.println("Preciser si l'habitation a une piscine");
boolean piscine=sc.nextBoolean();
pi[compteur]=new HabitationIndividuelle(code,nom,type,zone,adresse,surface,nombpiece,piscine);
compteur++;

}
else
System.out.println("Ce code Existe deja.");
}
public void listerhabitation(){
for(int i=0;i<compteur;i++)
pi[i].afficher();
}

public static void menu(){
System.out.println("....................................Menu........................................");
System.out.println("a.enregistrer les habitations professionnelles");
System.out.println("b.enregistrer les habitations individuelles");
System.out.println("c.lister des habitations ");
System.out.println("q.sortir");
System.out.println("Faites votre choix");

}
public static void main(String []args){
char choix;
Scanner sc;
GestionHabitation gest=new GestionHabitation();
do{
menu();
sc=new Scanner(System.in);
choix=sc.nextLine().charAt(0);
switch(choix){
case 'a':{
gest.enregistrerprofessionnelle();
break;
}
case 'b':{
gest.enregistrerindividuelle();
break;
}
case 'c':{
gest.listerhabitation();

break;
}
/*case 'a':{
gest.enregistrer();
break;
}*/
case 'q':{
System.exit(0);
}

default:{
System.out.println("Mauvais choix.");
break;
}
}
}
while(choix!='q');
}
}


public class HabitationIndividuelle extends Habitation{
private int nombpiece;
private boolean piscine;
public HabitationIndividuelle( String c, String n, String t, String z, String a, double s,int np, boolean p){
super(c,n,t,z,a,s);
this.nombpiece=np;
this.piscine=p;
}

public int getNombpiece(){
return nombpiece;

}
public boolean getPiscine(){
return piscine;

}
public void setNombpiece(int np){
nombpiece=np;

} public void setPiscine(boolean p){
piscine=p;

}
public double calculimpot(){
if(piscine==true){
return(500 * nombpiece)+250+(super.getSurface() * 100);
}
else{
return(500 * nombpiece)+( super.getSurface() * 100);

}
}
public void afficher(){
super.afficher();
System.out.println(" "+nombpiece+" "+piscine+" "+calculimpot());
}


}



public abstract class Habitation{
private String code;
private String nom;
private String type;
private String zone;
private String adresse;
private double surface;
public Habitation(String c, String n, String t, String z, String a, double s){
this.code=c;
this.nom=n;
this.type=t;
this.zone=z;
this.adresse=a;
this.surface=s;
}
public String getCode(){
return code;

}

public String getNom(){
return nom;

}
public String getType(){
return type;

}
public String getZone(){
return zone;

}
public String getAdresse(){
return adresse;

}
public double getSurface(){
return surface;

}

public void setNom(String n){
nom=n;

}
public void setType(String t){
type=t;

}
public void setZone(String z){
zone=z;

}
public void setAdresse(String a){
adresse=a;

}
public void setSurface(double s){
surface=s;

}
public void afficher(){
System.out.println(code+" "+nom+" "+type+" "+zone+" "+adresse+" "+surface);
}
public abstract double calculimpot();



}


public class HabitationProfessionnelle extends Habitation{
private int nombemp;
public HabitationProfessionnelle(String c, String n, String t, String z, String a, double s, int no){
super(c,n,t,z,a,s);
this.nombemp=no;
}
public int getNombemp(){
return nombemp;

}
public void setNombemp(int no){
nombemp=no;

}
public void afficher(){
super.afficher();
System.out.println(" "+nombemp);
}


}
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 11 juin 2010 à 07:19
1
Merci
Quelles sont tes difficultés ? On ne peut pas le deviner.

Merci cs_Julien39 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_Julien39
cs_desco182 15 Messages postés jeudi 11 décembre 2008Date d'inscription 21 juin 2010 Dernière intervention - 19 juin 2010 à 22:53
0
Merci
salut julien39

mes difficultés c'est que je veux écrire une fonction calculimpot pour pouvoir calculer l'impôt par zone et la je ne vois pas exactement comment faire .
et le montant total collecte par la mairie pour toutes les habitations.
Commenter la réponse de cs_desco182
millo29 4 Messages postés vendredi 22 octobre 2010Date d'inscription 23 octobre 2010 Dernière intervention - 23 oct. 2010 à 21:20
0
Merci
slt;
svp je veux une documentation bien détaillée sur une api java qui permet de transférer un fichier d'un ordinateur vère un autre en "la docummentaion en français"
Commenter la réponse de millo29
millo29 4 Messages postés vendredi 22 octobre 2010Date d'inscription 23 octobre 2010 Dernière intervention - 23 oct. 2010 à 21:27
0
Merci
slt;
Est-ce que il y a personne me répondre
Commenter la réponse de millo29

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.