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