Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006
-
23 sept. 2005 à 11:04
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 2014
-
23 sept. 2005 à 12:10
Bonjour,
je suis en ce moment en train de développer un projet en mode console pour mon diplome mais j'ai un peu de mal à faire quelque chose, je m'explique :
j'ai crée un menu ou l'utilisateur doit saisir son choix, il saisit une variable de type chaine et je convertis cette variable en entier et ensuite je fais mon controle sur le choix (voici le code)
menu();
a = Console.ReadLine();
b = int.Parse(a);
//controle de saisie pour le menu
while (b!=1 && b!=2 && b!=3 && b!=4 && b!=5 )
{
Console.WriteLine("Erreur de saisie, veuillez ressaisir");
a = Console.ReadLine();
b = int.Parse(a);
}
mon problème est le suivant, lorsque je tape dans le choix des lettres, il me fait une erreur, je devrais faire un controle pour vérifier si ce que l'utilisateur tape est un entier mais je ne sais pas comment m'y prendre....
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 23 sept. 2005 à 11:15
bah...
la solutions la plus simple :
menu();
a = Console.ReadLine();
Regex regex = new Regex("[1-5]");
while (!regex.IsMatch(a)) {
Console.WriteLine("Erreur de saisie, veuillez ressaisir");
a = Console.ReadLine();
}
sachant que Regex se trouve dans System.Text.RegularExpressions
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 23 sept. 2005 à 11:52
compliquée ??? tu trouves ma solution compliquée
c'est pourtant, la plus simple et la plus rapide... je n'essaye pas de transformer une chaine de caractères en int, je ne fais qu'un test... et comme tu le voulais tant que tu ne saisis pas un chiffre entre 1 et 5, ca marche pas...