C++ débutant problème avec un "if" imbriqué

8Rakshasa8 Messages postés 4 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 28 octobre 2004 - 27 oct. 2004 à 20:10
8Rakshasa8 Messages postés 4 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 28 octobre 2004 - 28 oct. 2004 à 13:03
Bah voilà quand je veux demander au programme la fonction "9" il passe directement à : Veuillez appuyez sur une touche pour coninuer...

voilà le code :

{
cout <<"Loading\n\n\n";
int loading;
loading = 99999999;
while (loading > 0) //boucle simulant un chargement
{ loading = loading - 1;}
cout <<"\a";
system("color 09");
cout <<"################################################################################";
cout <<"#################### ######################################################"; //bande pour se la jouer lol :p
cout <<"################### #### #######################################################";
cout <<"################## ## ##### ### # # ## ###########################";
cout <<"################# ####### ########## # ## # # ## ## ############################";
cout <<"################ ####### ######### ### # ## ############################";
cout <<"################################################################################\n\n";

float nChoice;

cout <<"Que voulez vous calculer ?\n\n\n";
cout <<"Votre poids ideal ? tapez 1 \n\n";
cout <<"La surface d'un cercle ? tapez 2 \n\n";
cout <<"La circonference d'un cercle ? tapez 3 \n\n";
cout <<"La surface plane d'un quadrilatere ? tapez 4 \n\n";
cout <<"La vitesse moyenne d'un de vos trajets ? tapez 5 \n\n";
cout <<"La racine carree ? tapez 6 \n\n";
cout <<"Utiliser un programme vu au cours de prog ? tapez 7 \n\n";
cout <<"Le nombre de betise que votre belle-mere va vous dire lors d'un repas ? tapez 8 \n";
cout <<"Convertire des degres Celsius en Farhenheit ? tapez 9 \n\n";
cin >> nChoice;
cout <<"\a";


if (nChoice == 1)
{
float nTaille, nPoids, nPoids1;
cout <<"Veuillez rentrer votre taille en centimetre svp: \n";
cin >> nTaille;
nPoids = nTaille - 98;
nPoids1 = nTaille - 102;
cout <<"Votre poids ideal est entre: ";
cout << nPoids;
cout <<" et ";
cout << nPoids1;
cout <<" Kg\n\n\n";
}
if (nChoice == 2)
{
float nCirc, nResult;
cout <<"Veuillez entrer la ciconference de votre cercle en centimetre svp\n\n";
cin >> nCirc;
nResult = nCirc * 3.14;
cout <<"La surface de votre cercle est de : ";
cout <<nResult;
cout <<" cm carre\n";

}



if (nChoice == 3)
{
float nRay, nResult;
cout <<"Veulliez rentrer le rayon de votre cercle en centimetre svp: \n";
cin >> nRay;
nResult = (nRay * nRay) * 3.14;
cout <<"La circonference de votre cercle est de : ";
cout << nResult;
cout <<" cm\n\n\n";

}

if (nChoice == 4)
{
float nLong, nHaut, nResult;
cout <<"Veulliez rentrer la hauteur de votre quadrilatere\n";
cin >>nHaut;
cout <<"Veulliez rentrer la longueur de votre quadrillatere\n";
cin >>nLong;
nResult = nLong * nHaut;
cout <<"la surface de votre quadrillataire est de: ";
cout <<nResult;
cout <<" cm carre \n\n\n";
}

if (nChoice == 5)
{
float nTemp, nDist, nResult;
cout <<"Veuillez rentrer le temps du voyage en minutes svp:\n";
cin >>nTemp;
cout <<"Veuillez rentrer la distance du voyage en kilometre svp:\n";
cin >>nDist;
nResult = nDist / (nTemp /60);
cout <<"Votre vitesse moyenne du voyage est de:\n";
cout <<nResult;
cout <<" Km/h \n\n\n";
}
if (nChoice == 6)
{
float nCarre;
cout <<"Entrez le nombre duquelle vous voulez extraire la racine: \n";
cin >> nCarre;
nCarre = sqrt (nCarre);
cout <<"La racine de votre nombre est: ";
cout << nCarre;
cout <<"\n\n";
}
if (nChoice == 666)
{
cout <<"\n\nVIRUUUUUUUUUUUUUS \n\n";
cout <<"\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a"; // ma fameuse fonction "cachée" bon c'est enfantin mais faut bien que j'm'amuse non ?
cout <<"HA HA HA HA HA J't'ai bien eu ! \n\n :P\n\n\n\n";
}
if (nChoice == 7)
{
cout <<"\nCool enfin quelq'un qui s'interesse a ce que je fais lol\n";
cout <<"Alors voila le topo: Un commercant fait un rabais proportionelle au nombre de\npieces commandees. Voila ce que va faire ce petit programme.\nA vous de jouer ;)\n\n\n";
float nRabais, nPrix, nPiece, nTotal;/*, nPrixunit;*/

cout <<"Veuillez intoduire le nombre de pieces commandee: ";
cin >> nPiece;
cout <<"Veuillez introduire le prix unitaire d'une piece: ";
cin >> nPrix;

if (nPiece >= 1 && nPiece <= 4)
{
nRabais = 0;
cout <<"\nVous avez commande entre 1 et 4 pieces vous avez donc pas de rabais";
cout <<"\nRabais = 0 %";
cout <<"\nune piece vous reviendras a :" << nPrix;
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a :\sfr" << nTotal,"sfr";
cout <<"\n\n\n\n";
}

if (nPiece >= 5 && nPiece <= 9)
{
nRabais = 10;
cout <<"\nVous avez commande entre 5 et 9 pieces vous avez donc 10 % de rabais";
cout <<"\nRabais = 10 %";
nPrix = (nPrix * 90) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\n Le total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
if (nPiece >= 10 && nPiece <= 24)
{
nRabais = 20;
cout <<"\nVous avez commande entre 10 et 24 pieces vous avez donc 20 % de rabais";
cout <<"\nRabais = 20 %";
nPrix = (nPrix * 80) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
if (nPiece >= 25 && nPiece <= 98)
{
nRabais = 30;
cout <<"\nVous avez commande entre 25 et 99 pieces vous avez donc 30 % de rabais";
cout <<"\nRabais = 30 %";
nPrix = (nPrix * 70) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
if (nPiece >= 99)
{
nRabais = 40;
cout <<"\nVous avez commande plus de 99 pieces vous avez donc 40 % de rabais";
cout <<"\nRabais = 40 %";
nPrix = (nPrix * 60) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
}
if (nChoice == 8)
{
float nTorture;
cout <<"\n\nCombien de temps va durer la torture ? (en minutes): ";
cin >> nTorture ;
cout <<"\n\nTU VAS SOUFFIRE PENDANT " << nTorture <<" MINUTES ???? LOOOOL PAS DE CHANCE :P\n\n";
nTorture = nTorture * 0.5;
cout <<"Bon bah ma fois tu vas devoir supporter " << nTorture <<" conneries...snif pauvre de toi...\n(pensee du programmeur : BIEN FAIT !!!)\n\n";
cout <<"Oublie pas les Aspirines. MDR ;)\n\n\n";
}
if (nChoice == 707)
{
int loopCount;
for (; loopCount > 0;)
{
system("color 02");
loopCount = loopCount - 1+1;
cout <<"+*%/*%&(*%&)543574sdf46df76g54ad676+";
}
if (nChoice == 9)
{
int nCelsius, nFactor, nFahrenheit;

cout <<"Entrez la temperature en degres Celsius: ";
cin >> nCelsius;
nFactor = 212-32;
nFahrenheit = nFactor * nCelsius / 100 + 32;
cout <<"Ca fait " << nFahrenheit << " degres F \n\n";
}

}

system("PAUSE"); // pause pour éviter que ce C*N de MS-DOS ne vous ferme la fenêtre à la figure lol
return 0;
}

3 réponses

plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
27 oct. 2004 à 20:23
simple, tes deux derniers if sont imbriqués
tu as :
if(nChoice == 707)
{
.....if(nChoice == 9)
.....{ //aucune chance de rentrer ici !
.....}
}

il faut faire
if(nChoice == 707)
{
}

if(nChoice == 9)
{
}

utilise
if, else if, else, ce sera beaucoup mieux !
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
28 oct. 2004 à 11:52
utilise un switch pour tester nChoice au lieu d'une multitude de if
0
8Rakshasa8 Messages postés 4 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 28 octobre 2004
28 oct. 2004 à 13:03
Merci pour vos réponses :D alors voilà le code complet (qui fonctionne :P) pour le switch dsl mais je connais pas j'ai pas encore vu mias je vias voir par moi même ;)

alors le code :

#include
#include <stdlib.h>
#include <stdio.h>
// name and firstname: Roland Vogt
// Pseudo: ]-[3K3() ( Hekeo )
// Programme créé durant ma première année d'apprentissage d'informaticien. (27.10.04)
// C'est un bête programme dans lequel j'ai mis des "calculette" de formules simple
// en géométrie et de calculs simple et aussi des trucs pour rigoler. (fonction "cachée": tapez 666 et faites ENTER ou Tapez un LOL a l'envers (707) :p)
using namespace std;

int main(int argc, char *argv[])

{
cout <<"Loading\n\n\n";
float loading;
loading = 999999;
while (loading > 0) //boucle simulant un chargement
{ loading = loading - 0.1;}
cout <<"\a";
system("color 09");
cout <<"################################################################################";
cout <<"#################### ######################################################"; //bande pour se la jouer lol :p
cout <<"################### #### #######################################################";
cout <<"################## ## ##### ### # # ## ###########################";
cout <<"################# ####### ########## # ## # # ## ## ############################";
cout <<"################ ####### ######### ### # ## ############################";
cout <<"################################################################################\n\n";

float nChoice;

cout <<"Que voulez vous calculer ?\n\n\n";
cout <<"Votre poids ideal ? tapez 1 \n\n";
cout <<"La surface d'un cercle ? tapez 2 \n\n";
cout <<"La circonference d'un cercle ? tapez 3 \n\n";
cout <<"La surface plane d'un quadrilatere ? tapez 4 \n\n";
cout <<"La vitesse moyenne d'un de vos trajets ? tapez 5 \n\n";
cout <<"La racine carree ? tapez 6 \n\n";
cout <<"Utiliser un programme vu au cours de prog ? tapez 7 \n\n";
cout <<"Le nombre de betise que votre belle-mere va vous dire lors d'un repas ? tapez 8 \n";
cout <<"Convertire des degres Celsius en Farhenheit ? tapez 9 \n\n";
cin >> nChoice;
cout <<"\a";


if (nChoice == 1)
{
float nTaille, nPoids, nPoids1;
cout <<"Veuillez rentrer votre taille en centimetre svp: \n";
cin >> nTaille;
nPoids = nTaille - 98;
nPoids1 = nTaille - 102;
cout <<"Votre poids ideal est entre: ";
cout << nPoids;
cout <<" et ";
cout << nPoids1;
cout <<" Kg\n\n\n";
}
if (nChoice == 2)
{
float nCirc, nResult;
cout <<"Veuillez entrer la ciconference de votre cercle en centimetre svp\n\n";
cin >> nCirc;
nResult = nCirc * 3.14;
cout <<"La surface de votre cercle est de : ";
cout <<nResult;
cout <<" cm carre\n";

}



if (nChoice == 3)
{
float nRay, nResult;
cout <<"Veulliez rentrer le rayon de votre cercle en centimetre svp: \n";
cin >> nRay;
nResult = (nRay * nRay) * 3.14;
cout <<"La circonference de votre cercle est de : ";
cout << nResult;
cout <<" cm\n\n\n";

}

if (nChoice == 4)
{
float nLong, nHaut, nResult;
cout <<"Veulliez rentrer la hauteur de votre quadrilatere\n";
cin >>nHaut;
cout <<"Veulliez rentrer la longueur de votre quadrillatere\n";
cin >>nLong;
nResult = nLong * nHaut;
cout <<"la surface de votre quadrillataire est de: ";
cout <<nResult;
cout <<" cm carre \n\n\n";
}

if (nChoice == 5)
{
float nTemp, nDist, nResult;
cout <<"Veuillez rentrer le temps du voyage en minutes svp:\n";
cin >>nTemp;
cout <<"Veuillez rentrer la distance du voyage en kilometre svp:\n";
cin >>nDist;
nResult = nDist / (nTemp /60);
cout <<"Votre vitesse moyenne du voyage est de:\n";
cout <<nResult;
cout <<" Km/h \n\n\n";
}
if (nChoice == 6)
{
float nCarre;
cout <<"Entrez le nombre duquelle vous voulez extraire la racine: \n";
cin >> nCarre;
nCarre = sqrt (nCarre);
cout <<"La racine de votre nombre est: ";
cout << nCarre;
cout <<"\n\n";
}
if (nChoice == 666)
{
cout <<"\n\nVIRUUUUUUUUUUUUUS \n\n";
cout <<"\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a"; // ma fameuse fonction "cachée" bon c'est enfantin mais faut bien que j'm'amuse non ?
cout <<"HA HA HA HA HA J't'ai bien eu ! \n\n :P\n\n\n\n";
}
if (nChoice == 7)
{
cout <<"\nCool enfin quelq'un qui s'interesse a ce que je fais lol\n";
cout <<"Alors voila le topo: Un commercant fait un rabais proportionelle au nombre de\npieces commandees. Voila ce que va faire ce petit programme.\nA vous de jouer ;)\n\n\n";
float nRabais, nPrix, nPiece, nTotal;/*, nPrixunit;*/

cout <<"Veuillez intoduire le nombre de pieces commandee: ";
cin >> nPiece;
cout <<"Veuillez introduire le prix unitaire d'une piece: ";
cin >> nPrix;

if (nPiece >= 1 && nPiece <= 4)
{
nRabais = 0;
cout <<"\nVous avez commande entre 1 et 4 pieces vous avez donc pas de rabais";
cout <<"\nRabais = 0 %";
cout <<"\nune piece vous reviendras a :" << nPrix;
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a :\sfr" << nTotal,"sfr";
cout <<"\n\n\n\n";
}

if (nPiece >= 5 && nPiece <= 9)
{
nRabais = 10;
cout <<"\nVous avez commande entre 5 et 9 pieces vous avez donc 10 % de rabais";
cout <<"\nRabais = 10 %";
nPrix = (nPrix * 90) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\n Le total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
if (nPiece >= 10 && nPiece <= 24)
{
nRabais = 20;
cout <<"\nVous avez commande entre 10 et 24 pieces vous avez donc 20 % de rabais";
cout <<"\nRabais = 20 %";
nPrix = (nPrix * 80) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
if (nPiece >= 25 && nPiece <= 98)
{
nRabais = 30;
cout <<"\nVous avez commande entre 25 et 99 pieces vous avez donc 30 % de rabais";
cout <<"\nRabais = 30 %";
nPrix = (nPrix * 70) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
if (nPiece >= 99)
{
nRabais = 40;
cout <<"\nVous avez commande plus de 99 pieces vous avez donc 40 % de rabais";
cout <<"\nRabais = 40 %";
nPrix = (nPrix * 60) / 100;
cout <<"\nUne piece vous reviendra a: " << nPrix <<".-";
nTotal = nPrix * nPiece;
cout <<"\nLe total vous reviendras a: " << nTotal <<".-";
cout <<"\n\n\n\n";
}
}
if (nChoice == 8)
{
float nTorture;
cout <<"\n\nCombien de temps va durer la torture ? (en minutes): ";
cin >> nTorture ;
cout <<"\n\nTU VAS SOUFFIRE PENDANT " << nTorture <<" MINUTES ???? LOOOOL PAS DE CHANCE :P\n\n";
nTorture = nTorture * 0.5;
cout <<"Bon bah ma fois tu vas devoir supporter " << nTorture <<" conneries...snif pauvre de toi...\n(pensee du programmeur : BIEN FAIT !!!)\n\n";
cout <<"Oublie pas les Aspirines. MDR ;)\n\n\n";
}
if (nChoice == 707)
{
int loopCount;
for (; loopCount > 0;)
{
system("color 02");
loopCount = loopCount - 1+1;
cout <<"+*%/*%&(*%&)543574sdf46df76g54ad676+";
}
}
if (nChoice == 9)
{
int nCelsius, nFactor, nFahrenheit;

cout <<"Entrez la temperature en degres Celsius: ";
cin >> nCelsius;
nFactor = 212-32;
nFahrenheit = nFactor * nCelsius / 100 + 32;
cout <<"Ca fait " << nFahrenheit << " degres F \n\n";
}


system("PAUSE"); // pause pour éviter que ce C*N de MS-DOS ne vous ferme la fenêtre à la figure lol
return 0;
}

Voilà si vous avez d'autre critiques elles sont les bienvenue :)

Roland
0
Rejoignez-nous