Probleme programma console c++

trew345s Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
trew345s Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis en train de créer toutes sortes de programme consoles pour mon site que je créera bientot, je suis en train de construire ce que l'on pourrait appeler une ''faux virus''. Ne vous inquiétez pas, je n'ai pas l'intention de pirater qui que ce soit. Je veux que mon code fasse ceci :
Afficher les deux premiers messages... demander une reponse... etc... mais je veu que cela redemande la reponse si l'utilisateur n'entre pas la bonne reponse, soit ''oui'' ou "non". voici le code : essayer le, il ne donne aucune erreur mais ne fonctionne pas correctement aidez moi svp.

#include <iostream>
#include <string>

using namespace std;

int main()
{
string reponse("");

cout << "Voulez-vous supprimmez tout les fichiers contenus dans cet ordinateur? " << endl;
cout << "Entrez Oui ou Non puis appuyez sur ENTER. " << endl;
cin >> reponse;

if (reponse != "oui", "non")
{
do
{
cout << "Veuillez entrer une reponse correcte." << endl;
cin >> reponse;
} while (reponse != "oui", "non");
}
else if (reponse == "oui")
{
cout << "Suppression en cours... Veuillez patientez. " << endl;
}
else if (reponse == "non")
{
cout << "Operation annulee. Appuyez sur une touche pour continuer. "<< endl;
}

return 0;
}



A voir également:

1 réponse

scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Je n'ai pas testé mais je viserais plutôt quelque chose comme ceci :

#include <iostream> 
#include <string> 

using namespace std; 

int main() 
{ 
	string reponse(""); 

	cout << "Voulez-vous supprimmez tout les fichiers contenus dans cet ordinateur? " << endl; 
	cout << "Entrez Oui ou Non puis appuyez sur ENTER. " << endl; 
	cin >> reponse; 

	size_t comp1 = response.compare("oui");
	size_t comp2 = response.compare("non");
	if (comp1 != 0 && comp2 != 0) 
	{ 
		do
		{
			cout << "Veuillez entrer une reponse correcte." << endl; 
			cin >> reponse; 
		} while (reponse != "oui", "non"); 
	} 
	else if (comp1 == 0) 
	{ 
		cout << "Suppression en cours... Veuillez patientez. " << endl; 
	} 
	else if (comp2 == 0) 
	{ 
		cout << "Operation annulee. Appuyez sur une touche pour continuer. "<< endl; 
	} 

	return 0; 
} 


string.compare(string) renvoie 0 si les chaines sont égales, un autre nombre si elles sont différentes.
0
trew345s Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   7
 
erreur a la ligne 14
error: 'reponse' was not declared in this scope
0
trew345s Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   7
 
si a la ligne 14 (15 aussi) on mets des ' ... ' entres les deux sa donne ceci :
'size_t comp1 = response.compare("oui")';
'size_t comp2 = response.compare("non")';
le programme se lance mais ne fonctionne pas plus
0