IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fonctions et calculs


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2020
    Messages : 8
    Par défaut Fonctions et calculs
    Bonjour,
    Je cherche à calculer le prix total d'un véhicule. Je dois sélectionner mon objet avec les propriétés du véhicule, choisir le bon montant pour les taxes en fonction de la province et calculer le prix total. Pour le moment, je n'ai rien qui s'affiche dans la console. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    // Appel de l'objet avec propriétés
     
            function calculPrixTotal() {
    var infosMazda = listeVoitures[2]; 
     
    // taxes en fonction des provinces (super cool en Colombie Britannique)
     
    var taxeQuebec = 0.14975;
    var taxeSaskatchewan = 0.11;
    var taxeColombieB = 0.05; 
     
    //Sélection de la province
     
        if (listeVoitures[i].Province === "Quebec") {
        } else {
            result = taxeQuebec
            }
     
    //Calcul du prix total
     
    var prixTotal = calculPrixTotal(infosMazda.Prix * result) + infosMazda.Prix;
    console.log(prixTotal);
     
            return prixTotal;
    };
    Merci pour votre aide et/ou commentaires

  2. #2
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonjour,
    Plusieurs erreurs :

    Citation Envoyé par Barbichette53 Voir le message
    var infosMazda = listeVoitures[2];
    ...
    if (listeVoitures[i].Province
    D'abord, on a l'index 2 puis ensuite i.

    Citation Envoyé par Barbichette53 Voir le message
    if (listeVoitures[i].Province === "Quebec") {
    } else {
    result = taxeQuebec
    }
    result = taxeQuebec ne devrait pas être dans le else.

    Citation Envoyé par Barbichette53 Voir le message
    calculPrixTotal(infosMazda.Prix * result)
    La fonction calculPrixTotal s'appelle elle-même ?

    Faire plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <script>
    function calculPrixTotal(voiture) {
    	var taxe={
    		"Quebec":0.14975,
    		"Saskatchewan":0.11,
    		"ColombieB":0.05
    	}[voiture.Province];
     
    	if(taxe===undefined) {
    		taxe=0;
    	}
     
    	return Math.round(voiture.Prix*(1+taxe)*100)*0.01;
    };
     
    var listeVoitures=[
    	{Marque:"Peugeot",Prix:20150,Province:"Saskatchewan"},
    	{Marque:"Renault",Prix:40200,Province:"ColombieB"},
    	{Marque:"Mazda",Prix:51290,Province:"Quebec"}
    ];
     
    for(var i=0;i<listeVoitures.length;i++) {
    	console.log(calculPrixTotal(listeVoitures[i]));
    }
    </script>

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2020
    Messages : 8
    Par défaut
    Merci pour la réponse, cela m'aide beaucoup.

    J'avais déjà créé un tableau avec les renseignements sur mes voitures donc je suis allé chercher les informations dans mon tableau.
    Comment faire si je veux afficher qu'un seul prix?

    J'ai modifié le if :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	if(taxe==="Quebec") {
    		taxe=0.14975;
    	}
    mais ça ne suffit pas

    J'imagine que je dois aussi modifier le for et l''affichage de la console.log

  4. #4
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Citation Envoyé par Barbichette53 Voir le message
    Comment faire si je veux afficher qu'un seul prix?
    Voici un exemple en prenant mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <script>
    function calculPrixTotal(voiture) {
    	var taxe={
    		"Quebec":0.14975,
    		"Saskatchewan":0.11,
    		"ColombieB":0.05
    	}[voiture.Province];
     
    	if(taxe===undefined) {
    		taxe=0;
    	}
     
    	return Math.round(voiture.Prix*(1+taxe)*100)*0.01;
    };
     
    var listeVoitures=[
    	{Marque:"Peugeot",Prix:20150,Province:"Saskatchewan"},
    	{Marque:"Renault",Prix:40200,Province:"ColombieB"},
    	{Marque:"Mazda",Prix:51290,Province:"Quebec"}
    ];
     
    console.log(calculPrixTotal(listeVoitures[2])); //58970.68
    </script>
    Cela affiche le prix total de la troisième voiture (index 2).
    Il n'y a plus qu'à remplacer ma liste de voitures par la vôtre.
    Si elle est sur le même format que la mienne, alors ça devrait marcher.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2020
    Messages : 8
    Par défaut
    Ma liste a exactement le même format, Par contre, dans l'exercice que je dois faire, il faudrait que j'utilise les conditions if, else, else if.
    J'ai essayé de modifier le code comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function calculPrixTotal(voiture) {
     
        var taxe={
    		"Quebec":0.14975,
    		"Saskatchewan":0.11,
    		"ColombieB":0.05
    	}[voiture.Province];
     
        if (listeVoitures[i].Province === "Quebec") {
        } else {
            result = taxeQuebec
            }
     
      return prixTotal;   
    };
     
    for(var prixTotal = calculPrixTotal(infosMazda.Prix * result) + infosMazda.Prix) {
       console.log(prixTotal);
    }
    Mais j'ai une erreur de syntaxe dans mon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(var prixTotal = calculPrixTotal(infosMazda.Prix * result) + infosMazda.Prix) {
       console.log(prixTotal);
    }

  6. #6
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonjour,
    Citation Envoyé par Barbichette53 Voir le message
    Mais j'ai une erreur de syntaxe dans mon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(var prixTotal = calculPrixTotal(infosMazda.Prix * result) + infosMazda.Prix) {
       console.log(prixTotal);
    }
    C'est plus grave qu'une erreur de syntaxe, ça n'a pas de sens.
    Comment utilise-t-on for ?
    Son utilisation est-elle adaptée ici ?

    Citation Envoyé par Barbichette53 Voir le message
    dans l'exercice que je dois faire, il faudrait que j'utilise les conditions if, else, else if.
    D'accord, alors je propose ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <script>
    function calculPrixTotal(voiture) {
    	var taxe;
    	var Province=voiture.Province;
     
    	if(Province==="ColombieB") {
    		taxe=0.05;
    	} else if(Province==="Quebec") {
    		taxe=0.14975;
    	} else if(Province==="Saskatchewan") {
    		taxe=0.11;
    	} else {
    		taxe=0;
    	}
     
    	return Math.round(voiture.Prix*(1+taxe)*100)*0.01;
    };
     
    var listeVoitures=[
    	{Marque:"Peugeot",Prix:20150,Province:"Saskatchewan"},
    	{Marque:"Renault",Prix:40200,Province:"ColombieB"},
    	{Marque:"Mazda",Prix:51290,Province:"Quebec"}
    ];
     
    var infosMazda=listeVoitures[2];
    var prixTotal=calculPrixTotal(infosMazda);
     
    console.log(prixTotal); //58970.68
    </script>

Discussions similaires

  1. Fonction de calcul (convertisseur)
    Par MeRc|LeSs dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/12/2005, 18h24
  2. inversion de fonction de calcul
    Par jarko dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 16/12/2005, 18h31
  3. Réponses: 6
    Dernier message: 22/11/2005, 17h08
  4. Modifier un champs texte avec une fonction PHP (calcul TVA)
    Par Stella2809 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 00h55
  5. fonction qui calcule la factorielle ?
    Par piff62 dans le forum C
    Réponses: 8
    Dernier message: 27/02/2005, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo