Probleme avec mon programme (switch)
Quentigus
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
alors voilà j'ai fait ce programme mais je ne comprend pas, quand je dois saisir le nombre d'accident, il se ferme.
voici mon programme :
#include <iostream>
#include <stdlib.h>
using namespace std;
int age,accident,permis,q;
int main()
{
cout << "quel age a le client ?\n";
cin >> age;
if (age < 25)
{
cout << "depuis combien de temps est-il proprietaire du permis de conduire ?\n";
cin >> permis;
if (permis < 2)
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
else
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''orange''\n";break;
system("pause");
case 1 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
}
else
{
cout <<"depuis combien de temps est-il proprietaire du permis de conduire ?\n";
cin >> permis;
if (permis < 2)
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''orange''\n";break;
system("pause");
case 1 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
else
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''vert''\n";break;
system("pause");
case 1 : cout << "client accepte avec tarif ''orange''\n";break;
system("pause");
case 2 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
}
}
J'ai essaie avec des "if" et sa marche, mais j'aimerais bien savoir pourquoi sa ne marche pas avec "switch".
merci d'avance.
alors voilà j'ai fait ce programme mais je ne comprend pas, quand je dois saisir le nombre d'accident, il se ferme.
voici mon programme :
#include <iostream>
#include <stdlib.h>
using namespace std;
int age,accident,permis,q;
int main()
{
cout << "quel age a le client ?\n";
cin >> age;
if (age < 25)
{
cout << "depuis combien de temps est-il proprietaire du permis de conduire ?\n";
cin >> permis;
if (permis < 2)
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
else
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''orange''\n";break;
system("pause");
case 1 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
}
else
{
cout <<"depuis combien de temps est-il proprietaire du permis de conduire ?\n";
cin >> permis;
if (permis < 2)
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''orange''\n";break;
system("pause");
case 1 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
else
{
cout << "de combien d'accident le client est responsable ?\n";
scanf("%d",&accident);
switch (accident)
{
case 0 : cout << "client accepte avec tarif ''vert''\n";break;
system("pause");
case 1 : cout << "client accepte avec tarif ''orange''\n";break;
system("pause");
case 2 : cout << "client accepte avec tarif ''rouge''\n";break;
system("pause");
default : cout << "client refuse\n";break;
system("pause");
}
}
}
}
J'ai essaie avec des "if" et sa marche, mais j'aimerais bien savoir pourquoi sa ne marche pas avec "switch".
merci d'avance.
Configuration: Windows Vista Firefox 3.0.1
3 réponses
-
Salut,
Peux-tu reposter ton programme en utilisant l'option "conserver l'indentation" (à droite de souligner), car ton code est illisible. De plus, tu fais un mélange de C et de C++, ce qui n'est pas conseillé. Soit tout en C soit tout en C++. En gros, n'utilise pas de cout et cin si tu utilises du printf ou du scanf.
Cdt -
tien je te le renvoi corrigé (plus de scanf).
#include <iostream> #include <stdlib.h> using namespace std; int age,accident,permis,q; int main() { system("cls"); cout << "quel age a le client ?\n"; cin >> age; if (age < 25) { cout << "depuis combien de temps est-il proprietaire du permis de conduire ?\n"; cin >> permis; if (permis < 2) { cout << "de combien d'accident le client est responsable ?\n"; cin >> accident; switch (accident) { case 0 : cout << "client accepte avec tarif ''rouge''\n";break; default : cout << "client refuse\n";break; } } else { cout << "de combien d'accident le client est responsable ?\n"; cin >> accident; switch (accident) { case 0 : cout << "client accepte avec tarif ''orange''\n";break; case 1 : cout << "client accepte avec tarif ''rouge''\n";break; default : cout << "client refuse\n";break; } } } else { cout <<"depuis combien de temps est-il proprietaire du permis de conduire ?\n"; cin >> permis; if (permis < 2) { cout << "de combien d'accident le client est responsable ?\n"; cin >> accident; switch (accident) { case 0 : cout << "client accepte avec tarif ''orange''\n";break; case 1 : cout << "client accepte avec tarif ''rouge''\n";break; default : cout << "client refuse\n";break; } } else { cout << "de combien d'accident le client est responsable ?\n"; cin >> accident; switch (accident) { case 0 : cout << "client accepte avec tarif ''vert''\n";break; case 1 : cout << "client accepte avec tarif ''orange''\n";break; case 2 : cout << "client accepte avec tarif ''rouge''\n";break; default : cout << "client refuse\n";break; } } } system("pause"); } -
Merci.
Donc si je comprends bien, ton programme se ferme après avoir entré le nombre d'accidents ? Si c'est le cas c'est normal, c'est la dernière instruction de ta boucle If/Else.