C# Exercice Enum

C# Exercice Enum - C#/.NET managed - Programmation

Marsh Posté le 01-06-2008 à 14:55:14    

Bonjour,
 
Je commence a apprendre c# (je n'ai aucune base en programmation...) et mon devoir apres mon premier cours est de faire un programme ou il faut mettre plusieurs sortes de voitures dans enum, saisir une voiture avec son annee de production (on ne peut entrer une annee que jusqu'a la date d'aujourd'hui) et calculer le prix de la voiture a l'aide de switch et qu'a chaque fois qu'il y a une saisie, il faut utiliser la boucle do while pour savoir si la voiture est bien dans celle que j'ai dans mon enum.
 
j'ai commence mais je ne sais pas comment continuer....
alors si quelqu'un pouvait m'aider, ou m'aiguiller..
 
j'ai commence a mettre dans enum 4 sortes de voitures:
public enum cars
{
renault, volvo, mazda, ford
}
 
apres, j'ai fait:
class program
{
static void Main (string[] args)
{
Console.WriteLine("entrer une voiture" );
string sortevoiture = console.ReadLine;
Cars voiture = (Cars)Enum.Parse(typeof(cars), sortevoiture);
 
console.WriteLine("entrer une annee" );
int year = Convert.ToInt32(Console.ReadLine());
int cost;
 
switch (voiture)
{
case Cars.renault:
cost = 100;
break;
case Cars.volvo:
cost = 200;
break;
case Cars.mazda:
cost = 300;
break;
case Cars.ford:
cost = 400;
break;
 
bon voila, c'est pas terrible, mais je n'arrive pas trop a savoir comment utiliser do while avec le switch apres..
est ce qu'il faut mettre if(Enum.isDefined(typeof(Cars), sortevoiture)) avant le switch ?
 
merci pour celui qui pourra bien me donner un coup de main :-)

Reply

Marsh Posté le 01-06-2008 à 14:55:14   

Reply

Marsh Posté le 01-06-2008 à 16:44:50    

a cous sure ton programme, il est simple à faire planté. suffit d'encoder autre chose que du numérique quand tu fais ton read line sur l'année, et le convert en entier va se casser la gueule.  
 
A ta place, je procéderais ainsi:
 
Cars voiture = console.ReadLine as Cars;
if (voiture == null)
{
       //ce que l'utilisateur à encodé, n'appartient pas au marque connue
}
else
{
     switch(voiture)
     {
         ...
     }
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed