IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

exercice sur condition if else


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Par défaut exercice sur condition if else
    bonjour je demande votre aide pour corriger cette exercice, car je ne suit pas sur de ma réponse.

    merci par avance de votre aide.

    L'exercice consiste a demander à l'utilisateur d'entrer un caractère, puis affiche si celui-ci est une voyelle ou une consonne.

    code c#


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Using system;
     
    class MainEntryPoint
    {
    static void Main()
    {
     
    Console.Write("Entrer un caractère :");
    string réponse = Console.ReadLine();
     
    char caractère;
     
    if(char.TryParse(réponse, out caractère));
     
    {
    	if (caractère == 'a'
    	    ll caractère == 'e'
    	    ll caractère == 'i'
    	    ll caractère == 'o'
    	    ll caractère == 'u'
    	    ll caractère == 'y')
     
    Console.WriteLine ("Vous avez entré une voyelle");
     
    	else
     
    Console.WriteLine ("Vous avez entré une consonne");
     
    }
     
    else 
     
    Console.WriteLine ("Vous n'avez pas entré de caractère");
     
    }
    }

    Donc voilà mon code bien sur j'ai pas le corrigé, c'est dommage, déja vous en pensé quoi ? Y a t'il des erreurs ?

    Vous aurez compris que je doit utiliser la condition If else.

    Puis dans une astuce ont me dit de faire attention au miniscule et majuscule pour cela ont me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(car.ToString().ToLower() == "a"
    La je comprend pas comment faire ?

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Donc voilà mon code bien sur j'ai pas le corrigé, c'est dommage, déjà vous en pensé quoi ? Y a t'il des erreurs ?
    Pour savoir s'il y a des erreurs tu compiles et tu exécutes ton programme. Tu verras bien si tout fonctionne comme prévu ou non. Je peux en tout cas déjà te dire que ce code ne compileras pas.

    Et un conseil, n'utilise pas de caractères accentués dans le nom des classes, variables, méthodes, ...

    Puis dans une astuce ont me dit de faire attention au minuscule et majuscule pour cela ont me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(car.ToString().ToLower() == "a")
    La je comprend pas comment faire ?
    Les caractères 'a' et 'A' sont différents. Pour le vérifier tu peux utiliser le code suivant, et tu verras qu'effectivement les caractères sont bien différents car leur représentation entière est différente.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int val1 = (int)'a';
    int val2 = (int)'A';
    // val1 != val2
    Il faut donc mettre les caractères au même niveau pour pouvoir faire une comparaison sans que la casse (majuscule ou minuscule) ne puisse fausser le test.

    Donc soit tu appliques le code donné tel quel lors de chaque test dans le if (pas l'idéal tout de même) soit tu converti le caractère en minuscule et tu réutilises ensuite cette valeur lors de chaque test.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string car = caractere.ToString().ToLower();
    ...
    if (car == "a" ...)
    Ou si on reste sur des caractères, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    caractere = char.ToLower(caractere);
    ...
    if (caractere == 'a' ...)
    Mais faire attention au minuscule c'est une chose, il ne faut pas oublier non plus les accents. à, é, è, î, ï, ... sont aussi des voyelles

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Par défaut merci
    Bonjour et merci,

    effectivement mon code ne compilé pas j'ai modifier et la c'est ok :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    using System;
     
    class MainEntryPoint
    {
        static void Main()
        {
     
            Console.Write("Veuillez entrer un caractère : ");
            string chaine = Console.ReadLine();
            char car = Convert.ToChar(chaine);
     
     
            if (car == 'a'
                || car == 'e'
                || car == 'i'
                || car == 'o'
                || car == 'u'
                || car == 'y')
                Console.WriteLine("Vous avez entré une voyelle.");
            else
                Console.WriteLine("Vous n'avez pas entré une voyelle.");
     
            Console.ReadLine();
     
        }
    }
    Maintenant je vais voir pour les majuscule, miniscule.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 51
    Par défaut suite
    Une dernière chose par rapport à ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    using System;
     
    class MainEntryPoint
    {
        static void Main()
        {
     
            Console.Write("Veuillez entrer un caractère : ");
            string chaine = Console.ReadLine();
     
            char caract;
            if (char.TryParse(chaine, out caract))
     
            if (caract == 'a'
                || caract == 'e'
                || caract == 'i'
                || caract == 'o'
                || caract == 'u'
                || caract == 'y')
            {
                Console.WriteLine("Vous avez entré une voyelle.");
            }
     
            else
     
            {
                Console.WriteLine("Vous avez entré une consonne.");
            }
     
            else 
     
            { 
                Console.WriteLine ("Vous n'avez pas entré de caractère");
            }
     
            Console.ReadLine();
     
        }
    }

    Donc là çà compile bien

    mais ma question c'est par rapport a cette ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            if (char.TryParse(chaine, out caract))
    Ça sert a controler que l'opérateur entre bien un caractère et non par exemple un entier.

    Si oui pourquoi quand je rentre un 7 exemple, il me dit que j'ai entré une consonne il devrait me dire "Vous n'avez pas entré de caractère"

    Donc j'ai surement mon code faut pourriez vous m'aider.

    merci

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Un caractère n'est pas obligatoirement une lettre. char représente n'importe quel caractère Unicode compris dans la plage U+0000 à U+FFFF (plus d'info ici pour les tables Unicode).

    Si tu veux vérifier la saisie pour n'autoriser que les lettres tu peux utiliser la méthode statique char.IsLetter.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    string reponse;
    do
    {
        Console.Write("Entrez une lettre : ");
        reponse = Console.ReadLine();
    }
    while (reponse.Length != 1 || !char.IsLetter(reponse, 0));

Discussions similaires

  1. Aide sur VBA condition If /else if/end if
    Par mederick dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 25/04/2014, 17h48
  2. Conditions If Else sur CSS
    Par chok371 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2010, 15h56
  3. Réponses: 23
    Dernier message: 26/05/2008, 06h18
  4. Réponses: 4
    Dernier message: 28/07/2005, 16h22
  5. [HREF]Invocation sur condition
    Par SEMPERE Benjamin dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/02/2005, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo