Saisi de nombre entier dans une application console !!! [Résolu]

cs_jimmy69 787 Messages postés dimanche 22 décembre 2002Date d'inscription 27 novembre 2008 Dernière intervention - 25 janv. 2006 à 14:09 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 26 janv. 2006 à 10:02
Bonjour a tous,

J'ai un menu sous une application console , l'utilisateur saisi soit
0,1,2,3 ...
et suivant ce nombre je fais un swtich et je lui envoit la methode associe !

ca tourne sauf que si je rentre un string par exemple ca ne tourne plus il plante ...

Donc comment faire pour que ce soft ne plante plus lors de la saisie de chaine et non d'entier ! si quelqu'un avait un exemple ...merci !!!!!


AccountingMenu();



string choix = Console.ReadLine();



int chx = Convert.ToInt32(choix);



switch(chx)


{



case 0 :


Console.WriteLine("Quit the application "+ chx);



break;



case 1 :


Console.WriteLine("You push to "+chx);



break;



case 2 :


Console.WriteLine("You push to "+chx);



break;



case 3 :


Console.WriteLine("You push to "+chx);



break;



default :


Console.WriteLine("Invalide selection, please try again..");



break;

Bonne journée
Christophe
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 25 janv. 2006 à 18:35
3
Merci
Pourquoi ne pas declarer chx en tant que string, et de faire des
case "0":
case "1".

Tu n'aurais plus aucune probleme de conversion

Si tu veux conserver le passage par un entier, tu fais un try/catch et tu geres l'excpetion levée par la saisie d'un string non numérique


Mx
MVP C#

Merci MorpionMx 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de MorpionMx
Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 25 janv. 2006 à 20:58
3
Merci
Salut, habituellement une saisie en mode console se fait dans un do while :

int c = -1;


do
{
Console.Write( "Entrez un choix (0/3): " );
c = Console.Read( );
Console.ReadLine( ); // Flush
}
while ( c < 48 || c > 51 );


c = c - 48;

// Ici ton switch..

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Lutinore
cs_jimmy69 787 Messages postés dimanche 22 décembre 2002Date d'inscription 27 novembre 2008 Dernière intervention - 26 janv. 2006 à 09:42
0
Merci
salut salut,

Je vous remercie pour vos idées

Derniere chose comment faire pour mettre l'ecran a blanc en mode console !

j'ai essaye

Console.Writeln("\f");

trouve dans de la doc sur internet mais cela ne tourne pas !!!!
ca m'affiche un caractere speciale !!!!

Merci
Christophe
Commenter la réponse de cs_jimmy69
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 26 janv. 2006 à 10:02
0
Merci
Effacer la console !?

Si tu travailles beaucoup avec la console tu devrais utiliser le framework 2.0, la classe Console y est bien plus complète, y'a notamment la méthode Clear.. Sinon avec le framework 1.1 je pense que c'est possible uniquement avec l'API Win32.

Regarde le 2ème exemple:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/clearing_the_screen.asp
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.