Probleme programma console c++

Fermé
trew345s Messages postés 12 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 30 mai 2011 - 29 mai 2011 à 22:08
trew345s Messages postés 12 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 30 mai 2011 - 30 mai 2011 à 17:49
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;
}



1 réponse

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
29 mai 2011 à 23:19
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 lundi 11 janvier 2010 Statut Membre Dernière intervention 30 mai 2011 7
30 mai 2011 à 17:46
erreur a la ligne 14
error: 'reponse' was not declared in this scope
0
trew345s Messages postés 12 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 30 mai 2011 7
30 mai 2011 à 17:49
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