Variable locale non assignée

Signaler
Messages postés
2
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
29 novembre 2007
-
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008
-
J'expose mon problème : (fonction de calcul)

public
static
double calcul_remise_dvd(
double nb_dvd,
double tot_gén){

double mont_rem_dvd;

if (nb_dvd < 5){

mont_rem_dvd = 0;

}

else{

mont_rem_dvd = tot_gén * 0.03;

}

return mont_rem_dvd;}

Et voici maintenant le programme principal et qui me dit en erreur 'Utilisation d'une variable locale non assignée 'nb_dvd'.
Que faut-il que je fasse ???
Pouvez-vous me donner la réponse svp ça m'aiderait beaucoup...
Merci d'avance.
ps : c'est le nb_dvd en rouge qui me gène.

static

void Main(
string[] args){

double pu, nb_jour, tot_ligne, nb_dvd, tot_gén,mont_rem, mont_rem_dvd, net_a_payer;

string num_fact, nom_cli, adr_rue_cli, adr_cp_cli, num_cli, date, mois;saisie(

out num_fact,
out nom_cli,
out adr_rue_cli,
out adr_cp_cli,
out num_cli,
out date,
out mois,
out pu,
out nb_jour);tot_ligne=calcul_total_dvd(pu, nb_jour);

tot_gén = calcul_total_général(tot_ligne);

mont_rem = calcul_montant_remise(tot_gén);

mont_rem_dvd=calcul_remise_dvd(nb_dvd, tot_gén);

net_a_payer=calcul_net(tot_gén, mont_rem, mont_rem_dvd);

affichage(num_fact, nom_cli, adr_rue_cli, adr_cp_cli, num_cli, date, mois, nb_dvd, tot_gén, net_a_payer);

}

3 réponses

Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
L'appel a "calcul_remise_dvd" ne modifie pas la valeur de nb_dvd (il faut le passer en reférence, comme tu as fait dans 'saisie').

Donc nb_dvd ne soit jamais assigné de valeur, d'où l'erreur affichée...

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Ou bien si le rôle de 'calcul_remise_dvd' n'est pas d'initialiser 'nb_dvd', il faut quand même lui donner une valeur quelque part...

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Ton "nb_dvd" est utilisé par ta fonction "calcul_remise_dvd" mais tu ne lui donne de valeur à aucun endroit, soit tu as oublié de le passer en parametre de "saisie", soit il doit être copié d'autre part.
Au pire tu peut toujours declarer tes variables avec une valeur par defaut :
double pu = 0,0;
double nb_dvd = 0,0;
...