A voir également:
- 2 procédures en 1 fonctions
- Jdownloader 2 - Télécharger - Téléchargement & Transfert
- Word numéro de page 1/2 - Guide
- 2 comptes whatsapp - Guide
- Fusionner 2 pdf en 1 - Guide
- Epson scan 2 ✓ - Forum Imprimante
4 réponses
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
Modifié par Heliotte le 28/11/2012 à 21:15
Modifié par Heliotte le 28/11/2012 à 21:15
Bonsoir natier,
Quelque chose comme ça ?
Quelque chose comme ça ?
static float CalculMajoRem(float taux, float montantApplication, bool Remise, out float montantAjuste)
{
if(Remise==true)
{
montantAjuste = montantApplicationRemise * tauxRemise / 100;
}
else
{
montantAjuste = montantApplicationMajoration * tauxMajoration / 100;
}
}
Pas vraiment car les deux peuvent être appliqués et on ne saisie pas les taux, ils sont définis dans le programme
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
28 nov. 2012 à 21:31
28 nov. 2012 à 21:31
dsl, mais d'après ce que j'ai pu comprendre, l'appel aux deux procédures passent leur taux respectif en paramètre ou je me trompe ?
Donc, je n'ai rien changé, en terme de paramètre, pour permettre à ta fonction d'accomplir exactement la même chose que les deux procédures. Le seul paramètre ajouté valide le fait que l'on fait appel, soit à une remise, soit à une majoration.
Les deux appels de fonctions possible, sont donc :
J'espère ne pas avoir dit de bêtise !
Donc, je n'ai rien changé, en terme de paramètre, pour permettre à ta fonction d'accomplir exactement la même chose que les deux procédures. Le seul paramètre ajouté valide le fait que l'on fait appel, soit à une remise, soit à une majoration.
Les deux appels de fonctions possible, sont donc :
- float mtRem;
CalculRemise(txRemise*100, prixSejour*nbPersonnes, true, out mtRem);
Console.WriteLine("Le montant de la remise est de " + mtRem);
- float mtMaj;
CalculMajoration(txMajoration*100, prixSejour*nbPersonnes, false, out mtMaj);
Console.WriteLine("Le montant de la majoration est de " + mtMaj);
J'espère ne pas avoir dit de bêtise !
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
28 nov. 2012 à 21:51
28 nov. 2012 à 21:51
C'est ce que j'ai fait dans le post de 21h14.
La fonction "CalculMajoRem" remplace les procédures "CalculRemise" et "CalculMajoration"
La fonction "CalculMajoRem" remplace les procédures "CalculRemise" et "CalculMajoration"
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
28 nov. 2012 à 22:19
28 nov. 2012 à 22:19
En règle générale, une fonction ne renvoi (return) qu'un seul élément.
Pour contourner cela, on peut renvoyer un tableau d'élément, un objet, une liste.
Donc, à toi de trouver ce qui te serait le plus plausible.
Pour contourner cela, on peut renvoyer un tableau d'élément, un objet, une liste.
Donc, à toi de trouver ce qui te serait le plus plausible.
Framboos
Messages postés
85
Date d'inscription
samedi 9 janvier 2010
Statut
Membre
Dernière intervention
27 septembre 2013
9
29 nov. 2012 à 01:42
29 nov. 2012 à 01:42
Bonsoir,
Tu créer un objet Comtabilite par exemple qui à deux attribues
float remise, majoration
et ensuite tu fais une fonction qui te retourne cet objet
Un peu de code sera surement plus clair :
Ça devrait être correct je pense.
Tu créer un objet Comtabilite par exemple qui à deux attribues
float remise, majoration
et ensuite tu fais une fonction qui te retourne cet objet
Un peu de code sera surement plus clair :
class Compta{
private float remise;
private float majoration;
public Compta(r,m){remise = r; majoration = m;}
public float getRemise(){return this.remise;}
public float getMajoration(){return this.majoration;}
};
et dans ton autre classe
Compta c;
static Compta CalculMajoRem(float tauxRemise, float montantApplicationRemise,
float tauxMajoration, float montantApplicationMajoration)
{
montantRemise = montantApplicationRemise * tauxRemise / 100;
montantMajoration = montantApplicationMajoration * tauxMajoration / 100;
return new Compta(montantRemise , montantMajoration );
}
Voici l'appel des procédures:
float mtRem;
float mtMaj;
c = CalculMajoRem(txRemise*100, prixSejour*nbPersonnes, txMajoration*100, prixSejour*nbPersonnes);
Console.WriteLine("Le montant de la remise est de " + c.getRemise().toString());
Console.WriteLine("Le montant de la majoration est de " + c.getMajoration().toString());
Ça devrait être correct je pense.
Framboos
Messages postés
85
Date d'inscription
samedi 9 janvier 2010
Statut
Membre
Dernière intervention
27 septembre 2013
9
29 nov. 2012 à 01:51
29 nov. 2012 à 01:51
J'ai vu deux petites erreurs
montantRemise & montantMajoration n'existe pas il faut mettre un float devant !
montantRemise & montantMajoration n'existe pas il faut mettre un float devant !