Bonjour,
Où est le:Envoyé par vivu
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part cin >> choix;![]()
Place le, et tu pourras choisir.
Cordialement,
Bisounours.








Bonjour,
Où est le:Envoyé par vivu
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part cin >> choix;![]()
Place le, et tu pourras choisir.
Cordialement,
Bisounours.
Salut.
Merci sa marche tres bien maintenant.Pour ceux qui sa interesse voici le code final.
Et merci encore pour le coup de main.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 // Alcootest // // #include <cstdio> #include <cstdlib> #include <iostream> using namespace std; int main() { //Declaration des variables int choix; float vin =10; float biere = 10; float whisky =10 ; float pastis =10; float champagne =10; float alcoolemie =10; float factor = 0.7; do { cout << "Ver(s) de vin : 1 " << endl << "Ver(s) de biere : 2 " << endl << "Ver(s) de whisky : 3 " << endl << "Ver(s) de pastis : 4 " << endl << "Ver(s) de champagne : 5 " << endl; cin >> choix; //Declaration du premier argument int poids; cout << "Entrez votre poids : "; cin >> poids; switch ( choix ) { case 1: //Si l'utilisateur a choisi 1 cout << "Entrez le nombre(s) de ver(s) de vin bu(s) : " << endl; cin >> vin; //Enregistrer dans la variable vin alcoolemie = vin * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << alcoolemie << endl; break; case 2: //Si l'utilisateur a choisi 2 cout << "Entrez le nombre(s) de ver(s) de biere bu(s) : " << endl; cin >> biere; //Enregistrer dans la variable biere alcoolemie = biere * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << alcoolemie << endl; break; case 3: //Si l'utilisateur a choisi 3 cout << "Entrez le nombre(s) de ver(s) de biere bu(s) : " << endl; cin >> biere; //Enregistrer dans la variable whisky alcoolemie = whisky * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << alcoolemie << endl; break; case 4 : //Si l'utilisateur a choisi 4 cout << "Entrez le nombre(s) de ver(s) de pastis bu(s) : " << endl; cin >> pastis; //Enregistrer dans la variable pastis alcoolemie = pastis * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << alcoolemie << endl; break; case 5 : //Si l'utilisateur a choisi 5 cout << "Entrez le nombre(s) de ver(s) de champagne bu(s) : " << endl; cin >> champagne; //Enregistrer dans la variable champagne alcoolemie = champagne * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << alcoolemie << endl; break; default: cout << "Erreur de paramètre" << endl; } } while(choix>5 || choix <=0); system ("PAUSE"); }
Bonjour,
c'est bien, tu as un code qui fonctionne. Mais regarde dans chaque "case", les lignes de codes sont très similaires.
Tu peux donc améliorer la lisibilité de ton code, je t'ai montré comment faire.
Salut je viens d'essayer de faire ta methode mais le compilateur affiche une erreur à cette ligne
Voici le code complet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part void Afficher_Calcul_Alcoolemie(string Boisson, float& NombreVerres, float& Alcoolemie, float poids, float factor) {
Merci d'avance pour l'aide
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 // Alcootest // // #include <cstdio> #include <cstdlib> #include <iostream> using namespace std; int main() { //Declaration des variables int choix; float vin =10; float biere = 10; float whisky =10; float pastis =10; float champagne =10; float alcoolemie; float factor = 0.7; float NombreVerres; do { cout << "Ver(s) de vin : 1 " << endl << "Ver(s) de biere : 2 " << endl << "Ver(s) de whisky : 3 " << endl << "Ver(s) de pastis : 4 " << endl << "Ver(s) de champagne : 5 " << endl; cin >> choix; void Afficher_Calcul_Alcoolemie(string Boisson, float& NombreVerres, float& Alcoolemie, float poids, float factor) { cout << "Entrez le nombre(s) de ver(s) de"<< Boisson <<" bu(s) : " << endl; cin >> NombreVerres; Alcoolemie = NombreVerres * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << Alcolemie << endl; } switch ( choix ) { case 1: //Si l'utilisateur a choisi 1 Afficher_Calcul_Alcoolemie("vin",vin,alcoolemie,poids,factor); break; case 2: //Si l'utilisateur a choisi 2 Afficher_Calcul_Alcolemie("biere",biere,alcolemie,poids,factor); break; case 3: //Si l'utilisateur a choisi 3 Afficher_Calcul_Alcoolemie("whisky",whisky,alcoolemie,poids,factor); break; case 4 : //Si l'utilisateur a choisi 4 Afficher_Calcul_Alcoolemie("pastis",pastis,alcoolemie,poids,factor); break; case 5 : //Si l'utilisateur a choisi 5 Afficher_Calcul_Alcoolemie("champagne",champagne,alcoolemie,poids,factor); break; }; default: cout << "Erreur de paramètre" << endl; } if(alcoolemie < 0.5) { printf("votre taux est normal, vous pouvez reprendre la route\n\n\n"); int main(); } else if(alcoolemie > 0.5) { printf("votre taux est trop important, vous ne devez pas prendre la route\n\n\n"); int main(); } break; } while(choix>5 || choix <=0); system ("PAUSE"); }![]()
Tu n'as pas la possibilité de déclarer une fonction à l'intérieur d'une fonction : Tu peux naturellemet l'appeler mais pas mettre son code. Ta déclaration de Afficher_Calcul_Alcoolemie est au beau milieu de main. Sort cette fonction du main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void Afficher_Calcul_Alcoolemie(string Boisson, float& NombreVerres, float& Alcoolemie, float poids, float factor) { ....} int main(){...}
Meric pour ta reponse c'etait bien ça mais apres quand je veut compiler il m'affiche encore une erreur acette ligne:
Je ne vois vraiment pas ce que a de faux dans cette ligne.Pourtant elle a l'air juste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout << "Entrez le nombre(s) de ver(s) de"<< Boisson <<" bu(s) : " << endl;
déjà, c'est mal écrit, mais je serais étonné que le compilo te signale ça...
Un petit message d'erreur, peut-être?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
J e viens d'essayé de corriger l'erreur et il y a plus de message d'erreur sur cette ligne.
Mais il y a encore un message d'erreur qui revient quand meme pourtant j'ai bien fait comme Caine l'a marqué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout << "Entrez le nombre(s) de ver(s) de boisson bu(s) : " << endl;
qui vient de ce bout de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Afficher_Calcul_Alcoolemie("vin",vin,alcoolemie,poids,factor);
Désoler je doit vraiment vous embeter[/code]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 case 2: //Si l'utilisateur a choisi 2 Afficher_Calcul_Alcolemie("biere",biere,alcolemie,poids,factor); break;
Non, tu ne nous embête pas
Reprend le code que je t'ai donné, le premier, compile et exécute le.
Ensuite renseigne les "case" que je n'ai pas renseigné.
Le code dans le bon ordre c'est:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 // Alcootest // // #include <cstdio> #include <cstdlib> #include <iostream> using namespace std; void Afficher_Calcul_Alcoolemie(string Boisson, float& NombreVerres, float& Alcoolemie, float poids, float factor) { cout << "Entrez le nombre(s) de ver(s) de"<< Boisson <<" bu(s) : " << endl; cin >> NombreVerres; Alcoolemie = NombreVerres * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << Alcolemie << endl; } int main() { //Declaration des variables int choix; float vin =10; float biere = 10; float whisky =10; float pastis =10; float champagne =10; float alcoolemie; float factor = 0.7; float NombreVerres; do { cout << "Ver(s) de vin : 1 " << endl << "Ver(s) de biere : 2 " << endl << "Ver(s) de whisky : 3 " << endl << "Ver(s) de pastis : 4 " << endl << "Ver(s) de champagne : 5 " << endl; cin >> choix; switch ( choix ) { case 1: //Si l'utilisateur a choisi 1 Afficher_Calcul_Alcoolemie("vin",vin,alcoolemie,poids,factor); break; case 2: //Si l'utilisateur a choisi 2 Afficher_Calcul_Alcolemie("biere",biere,alcolemie,poids,factor); break; case 3: //Si l'utilisateur a choisi 3 Afficher_Calcul_Alcoolemie("whisky",whisky,alcoolemie,poids,factor); break; case 4 : //Si l'utilisateur a choisi 4 Afficher_Calcul_Alcoolemie("pastis",pastis,alcoolemie,poids,factor); break; case 5 : //Si l'utilisateur a choisi 5 Afficher_Calcul_Alcoolemie("champagne",champagne,alcoolemie,poids,factor); break; }; default: cout << "Erreur de paramètre" << endl; } if(alcoolemie < 0.5) { printf("votre taux est normal, vous pouvez reprendre la route\n\n\n"); int main(); } else if(alcoolemie > 0.5) { printf("votre taux est trop important, vous ne devez pas prendre la route\n\n\n"); int main(); } break; } while(choix>5 || choix <=0); system ("PAUSE"); }
Salut.
Je viens d'essayer ton code mais j'ai encore un mesage d'erreur a cette ligne:
J'ai deja essayé avec Alcoolemie ecrit de cette façon mais apres sa passe a une autre ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout << "Votre taux d'alcoolemie est de : " << Alcolemie << endl;
Code : Sélectionner tout - Visualiser dans une fenêtre à part [Afficher_Calcul_Alcoolemie("vin",vin,alcoolemie,poids,factor);
Voici le code corrigé, et testé:
Qu'est ce qui a changé? Je te laisse me l'expliquer.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 // Alcootest // // #include <iostream> #include <string> using namespace std; void Afficher_Calcul_Alcoolemie(string Boisson, float& NombreVerres, float& Alcoolemie, float factor) { float poids; cout << "Entrez le nombre(s) de ver(s) de"<< Boisson <<" bu(s) : " << endl; cin >> NombreVerres; cout << "Entrez votre poids" <<endl; cin >> poids; Alcoolemie = NombreVerres * 10 / poids * factor; cout << "Votre taux d'alcoolemie est de : " << Alcoolemie << endl; } int main() { //Declaration des variables int choix; float vin =10; float biere = 10; float whisky =10; float pastis =10; float champagne =10; float alcoolemie; float factor = 0.7; float NombreVerres; do { cout << "Ver(s) de vin : 1 " << endl << "Ver(s) de biere : 2 " << endl << "Ver(s) de whisky : 3 " << endl << "Ver(s) de pastis : 4 " << endl << "Ver(s) de champagne : 5 " << endl; cin >> choix; switch ( choix ) { case 1: //Si l'utilisateur a choisi 1 Afficher_Calcul_Alcoolemie("vin",vin,alcoolemie,factor); break; case 2: //Si l'utilisateur a choisi 2 Afficher_Calcul_Alcoolemie("biere",biere,alcoolemie,factor); break; case 3: //Si l'utilisateur a choisi 3 Afficher_Calcul_Alcoolemie("whisky",whisky,alcoolemie,factor); break; case 4 : //Si l'utilisateur a choisi 4 Afficher_Calcul_Alcoolemie("pastis",pastis,alcoolemie,factor); break; case 5 : //Si l'utilisateur a choisi 5 Afficher_Calcul_Alcoolemie("champagne",champagne,alcoolemie,factor); break; default: cout << "Erreur de paramètre" << endl; }; if(alcoolemie < 0.5) { printf("votre taux est normal, vous pouvez reprendre la route\n\n\n"); int main(); } else if(alcoolemie > 0.5) { printf("votre taux est trop important, vous ne devez pas prendre la route\n\n\n"); int main(); } break; } while(choix>5 || choix <=0); system ("PAUSE"); }
Salut.
C'est bon je viens de trouver ce qui n'allait pas.En faite il faut supprimer le poids qui se trouve la et dans les autres aussi:
Et j'avais mal placé un aussi un }; en bas du code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Afficher_Calcul_Alcoolemie("vin",vin,alcoolemie,factor);
Apres ces modifications sa fonctionne tres bien par contre a quoi serve les noms entre parenthese?:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ("vin",vin,alcoolemie,factor);
Merci pour ton aide
Ils sont recuperer par ta fonction :
"vin" => Boisson
vin => NombreVerres
Alcoolemie => Alcoolemie
facor=>factor
Et ensuite traité par la fonction dans ta formule
Bien, tu progresses.
Les noms entre parenthèses sont les arguments de ta fonction.
Un exemple :
Pour l'appel 1, voici l'équivalent de ce qui se passe en assembleur:
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 //Hors du main. void MaFonction(string UneChaine, int UnNombre, int& LeResultat) { LeResultat = UnNombre*UnNombre; cout << UneChaine <<UnNombre<<"*"<<UnNombre<<" est" << endl << LeResultat; } //Dans le main int main() { char Pause; int Nombre, Resultat; cout << "Saisissez un nombre" << endl; cin >> Nombre; //Appel 1 MaFontion("Le résultat du carré de",Nombre,Resultat); //Appel 2 MaFontion("Le carré du résultat précédent est",Resultat,Resultat); cin >> Pause; return EXIT_SUCCESS; }
Pour l'appel 2, voici l'équivelent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UnNombre = Nombre; LeResultat = UnNombre*UnNombre ; cout << "Le résultat du carré de" <<UnNombre<<"*"<<UnNombre<<" est" << endl << LeResultat; Resultat = LeResultat;
Tu comprends mieux le principe des fonctions comme ça?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UnNombre = Resultat; LeResultat = UnNombre*UnNombre ; cout << "Le résultat du carré de" <<UnNombre<<"*"<<UnNombre<<" est" << endl << LeResultat; Resultat = LeResultat;
En faite si j'ai bien compri cela evite a chaque fois d'ecrire le calcule?
Cela permet de mettre du code en commun, de le capitaliser et de réutilisé dans d'autres programmes.
Si on ne tient pas compte des erreurs de la première mouture de ton code et de celle utilisant la fonction, tu ne trouves pas que cette dernière est plus facile à maintenir?
En effet, si tu veux changer de formule demain ou le texte afficher, tu changes la fonction au lieu de 15 lignes de code.
Plus tard, tu découvriras la compilation séparer, la modularité et l'encapsulation. Tu verras mieux l'intérêt de capitaliser du code.
Ok merci pour ton ces conseils mais j'ai juste une derniere questions.Quel excercice pourais-je faire maintenant car il y a telement de chapitres que pour choisir c'est pas simple?
Partager