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 :

convertir une chaine de caractère minuscule en majuscule


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut convertir une chaine de caractère minuscule en majuscule
    salut ,
    je suis débutant en C#, je voudrais que les informations que je saisis s'affichent automatiquement en majuscule à l'écran.
    j'ai un petit bout de code que j'ai fait vérifier et dites moi l'erreur.

    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
    class Program
        {
            static void Main(string[] args)
            {
                string NomMaj;
                //string minus;
                int Nbpers;
                Console.Write("Nombre de Personne:");
                Nbpers=Convert.ToInt32(Console.ReadLine());
                Personne[] Pers = new Personne[Nbpers];
                for (int i = 0; i < Pers.Length; i++)
                {
                    Pers[i] = new Personne();
                    Console.Write("Prenom" + i + ": ");
                    Pers[i].Prenom = Convert.ToString(Console.ReadLine());
     
                    Console.Write("Nom" + i + ": ");
                    NomMaj = ((Pers[i].Nom).ToUpper());
                    NomMaj = Convert.ToString(Console.ReadLine());
     
                    Console.Write("Age" + i + ": ");
                    Pers[i].Age = Convert.ToInt32(Console.ReadLine());
                    Console.Write("Code Postal" + i + ": ");
                    Pers[i].CodePostal = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("\n");
     
                }
     
            }
    merci

  2. #2
    Expert éminent
    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 : 46
    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
    Points : 7 660
    Points
    7 660
    Par défaut
    En mode console, tu ne peux pas modifier la saisie de l'utilisateur pour forcer une saisie en majuscule. Par contre tu peux le tester et inviter l'utilisateur à activer la saisie en majuscule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while (!Console.CapsLock)
    {
        Console.WriteLine("Activez le caps ...");
        Console.ReadLine();
    }
    Sinon pour reprendre ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NomMaj = ((Pers[i].Nom).ToUpper());
    NomMaj = Convert.ToString(Console.ReadLine());
    ne fera absolument rien par rapport à ce que tu souhaites. La méthode ToUpper() renvoie une chaîne de caractères mise en majuscule, mais tel que l'utilise ca ne fera strictement rien car premièrement ta chaîne Pers[i].Nom vaut probablement string.Empty et résultat même mise en majuscule ca ne donne rien (au pire une exception si tu as null au lieu de string.Empty) et deuxièmement comme tu réaffectes la variable NomMaj derrière la première ligne ne sert absolument à rien.

    Vu ta demande et le code, ca donne l'impression que tu crois qu'en appelant ToUpper() sur la chaîne ca va te permettre de forcer une saisie en majuscule. Si c'est bien le cas revoit les bases car tu fais un dangereux mélange, sans mauvaises arrières pensées aucune.

    Un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomMaj = Console.ReadLine().ToUpper();
    suffira pour la mise en majuscule suite à validation utilisateur. Sinon, si tu le veux à l'écran, il faudra tester le CapsLock et empêcher la saisie tant qu'il n'est pas activé.
    Pas de questions techniques par MP

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je me disais, il n'y aurait pas moyen de détecter l'évenement d'appuie sur une touche clavier, d'abonner une méthode à cet événement pour qu'elle fasse le ToUpper et qu'elle affiche le résultat sur la console ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  4. #4
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Je ne suis pas ssur qu'il y aie de gestion des evenement directement dans la console... dommage d'ailleurs
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Les fonctions Ucase et Lcase n'existe pas en C# ?
    Et Touppercase ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

Discussions similaires

  1. convertir une chaine de caractères en minuscule
    Par ebenmous dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 23/06/2011, 15h56
  2. Réponses: 5
    Dernier message: 16/05/2007, 13h43
  3. Convertir une chaine de caractère en tableau
    Par Mysti¢ dans le forum Général Python
    Réponses: 7
    Dernier message: 09/04/2007, 12h20
  4. Réponses: 6
    Dernier message: 14/06/2006, 15h27
  5. [XSL] Convertir une chaine de caractère
    Par bahet dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/04/2006, 10h24

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