Programme java

Résolu
cs_desco182 Messages postés 15 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 21 juin 2010 - 10 juin 2010 à 22:53
millo29 Messages postés 4 Date d'inscription vendredi 22 octobre 2010 Statut Membre Dernière intervention 23 octobre 2010 - 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);
}


}

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 juin 2010 à 07:19
Quelles sont tes difficultés ? On ne peut pas le deviner.
1
cs_desco182 Messages postés 15 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 21 juin 2010
19 juin 2010 à 22:53
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.
0
millo29 Messages postés 4 Date d'inscription vendredi 22 octobre 2010 Statut Membre Dernière intervention 23 octobre 2010
23 oct. 2010 à 21:20
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"
0
millo29 Messages postés 4 Date d'inscription vendredi 22 octobre 2010 Statut Membre Dernière intervention 23 octobre 2010
23 oct. 2010 à 21:27
slt;
Est-ce que il y a personne me répondre
0
Rejoignez-nous