Jump to content

Who can help me to rewrite this code in a professional manner

- - - - -

  • Please log in to reply
3 replies to this topic

#1
jbenghazi

jbenghazi

    Newbie

  • Members
  • Pip
  • 3 posts
Hello,
This is my first experience with java.
I want to do a controlled amount of it to Accept no character and negative numbers.
I want to know is that this is the correct way to use do while loops or if not how to change the code.
Thank you for your help.
Code:
-----------------------------

import java.text.DecimalFormat;

public class Facturation {


// Autres methodes s'il y a lieu

public static void main (String[] params) {



DecimalFormat fmt = new DecimalFormat ("0.##");

//bloc des declarations des variables
final double rabais = 20;// 20% rabais pour toutes les valeurs >=2.

int quantite;
int quantiteRabais;
int nombreItemRestant;
int codeRabais;
int nombreTotalQuantite=0;
int nombre;

double prixU;
double rabaisTotal;
double prixTotal;
double montantAPayer=0.;
double montantTotalAvantRabais=0.;
double montantTotalInter=0.;
double rabaisUnSeulItemGratuit;
double rabaisPrixU;
double montantTotalDuRabais;
double prixTotalApresrabais=0.;


// bloc de saisie


do{
System.out.print("Entrez la quantité de l'item ou (0) pour terminer: ");
quantite = Clavier.lireInt();
}
while(quantite<=0);// quantite doit etre diffrente de 0 positive et pas un caractere.

do{
System.out.print("Entrez le prix unitaire de l'item: ");
prixU = Clavier.lireDouble();
}
while(prixU<0); // quantite doit etre diffrente de 0 et pas un caractere.

do{
System.out.print("Entrez le code rabais:(0,1 ou 2)");
codeRabais = Clavier.lireInt();
}
while(codeRabais !=0 && codeRabais !=1 && codeRabais !=2);

switch(codeRabais){
case 0: System.out.println("Pas de rabais");
montantTotalInter = quantite*prixU;
prixTotalApresrabais = (quantite*prixU);
System.out.println("Le prix total apres rabais est:"+prixTotalApresrabais);
break;
case 1: System.out.println("20 % de rabais");
// Traitement de calcule.
montantTotalInter = quantite*prixU;
montantTotalDuRabais=(quantite*prixU*rabais)/100;
prixTotalApresrabais = (quantite*prixU)- montantTotalDuRabais;
System.out.println("Le montant total de rabais est:"+montantTotalDuRabais);
System.out.println("Le prix total apres rabais est:"+prixTotalApresrabais);
break;
case 2: System.out.println("Si quantite > 2, Un article gratuit");
montantTotalInter = quantite*prixU;
prixTotalApresrabais = prixU*((quantite)-1);
montantTotalDuRabais = (quantite*prixU)- prixTotalApresrabais;
System.out.println("Le montant total de rabais est:"+montantTotalDuRabais);
System.out.println("Le prix total apres rabais est:"+prixTotalApresrabais);

}
montantTotalAvantRabais=montantTotalAvantRabais+montantTotalInter;
System.out.println("Le montant total avant rabais est:"+montantTotalAvantRabais);
montantAPayer = montantAPayer + prixTotalApresrabais;
System.out.println("Le montant a payer est:"+montantAPayer);
nombreTotalQuantite=nombreTotalQuantite+quantite;
System.out.println("Le nombre total des quantités est:"+nombreTotalQuantite);
}




}

#2
Norm

Norm

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 327 posts
One thing that would help is for you to edit your post and wrap the code in code tags. Use the # icon above the input box.

while(codeRabais !=0 && codeRabais !=1 && codeRabais !=2); 
What will be the results of this condition if codeRabais has a value of 0?
There are three conditions all of which must be true for the whole condition to be true.

#3
jbenghazi

jbenghazi

    Newbie

  • Members
  • Pip
  • 3 posts
Thank you for answered, I am sorry as a beginner I forgot to put #.
Here is another version of the inner code tags.
Thank you


import java.text.DecimalFormat;


 public class Facturation {

 


// Autres methodes s'il y a lieu


 public static void main (String[] params) {

 



DecimalFormat fmt = new DecimalFormat ("0.##");


 //bloc des declarations des variables 

final double rabais = 20;// 20% rabais pour toutes les valeurs >=2.


 int quantite;

 int quantiteRabais;

 int nombreItemRestant;

 int codeRabais;

 int nombreTotalQuantite=0;

 int nombre;


 double prixU;

 double rabaisTotal;

 double prixTotal;

 double montantAPayer=0.;

 double montantTotalAvantRabais=0.;

 double montantTotalInter=0.;

 double rabaisUnSeulItemGratuit;

 double rabaisPrixU;

 double montantTotalDuRabais;

 double prixTotalApresrabais=0.;



 // bloc de saisie



 do{ 

System.out.print("Entrez la quantité de l'item ou (0) pour terminer: ");

 quantite = Clavier.lireInt(); 

}

 while(quantite<=0);// quantite doit etre diffrente de 0 positive et pas un caractere. 


do{

 System.out.print("Entrez le prix unitaire de l'item: ");

 prixU = Clavier.lireDouble();

 }

 while(prixU<0); // quantite doit etre diffrente de 0 et pas un caractere. 


do{

 System.out.print("Entrez le code rabais0,1 ou 2)"); 

codeRabais = Clavier.lireInt();

 }

 while(codeRabais !=0 && codeRabais !=1 && codeRabais !=2); 


switch(codeRabais){

 case 0: System.out.println("Pas de rabais");

 montantTotalInter = quantite*prixU;

 prixTotalApresrabais = (quantite*prixU);

 System.out.println("Le prix total apres rabais est:"+prixTotalApresrabais); 

break;

 case 1: System.out.println("20 % de rabais"); 

// Traitement de calcule.

 montantTotalInter = quantite*prixU;

 montantTotalDuRabais=(quantite*prixU*rabais)/100;

 prixTotalApresrabais = (quantite*prixU)- montantTotalDuRabais;

 System.out.println("Le montant total de rabais est:"+montantTotalDuRabais);

 System.out.println("Le prix total apres rabais est:"+prixTotalApresrabais);

 break; 

case 2: System.out.println("Si quantite > 2, Un article gratuit"); 

montantTotalInter = quantite*prixU; 

prixTotalApresrabais = prixU*((quantite)-1);

 montantTotalDuRabais = (quantite*prixU)- prixTotalApresrabais;

 System.out.println("Le montant total de rabais est:"+montantTotalDuRabais);

 System.out.println("Le prix total apres rabais est:"+prixTotalApresrabais);


 }

 montantTotalAvantRabais=montantTotalAvantRabais+mo ntantTotalInter;

 System.out.println("Le montant total avant rabais est:"+montantTotalAvantRabais);

 montantAPayer = montantAPayer + prixTotalApresrabais;

 System.out.println("Le montant a payer est:"+montantAPayer); 

nombreTotalQuantite=nombreTotalQuantite+quantite;

 System.out.println("Le nombre total des quantités est:"+nombreTotalQuantite); 

} 





}


Share




#4
Norm

Norm

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 327 posts
Does your code execute as you want it to?




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users