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 :

Je ne comprends pas mon erreur ( bases).


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Reconversion pro
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Turquie

    Informations professionnelles :
    Activité : Reconversion pro

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Je ne comprends pas mon erreur ( bases).
    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
    41
    42
    43
     
    using System;
     
    namespace  projet_orijin
    {
        internal class Program
        {
     
            static void Main(string[] args) { 
     
                Console.WriteLine("Bienvenue dans ce projet!");
     
     
                Console.Write("Comment te prénommes-tu ? ");
                string NomDeLaPersonne = Console.ReadLine();
     
     
                Console.Write("Quel âge as-tu ? ");
                string Age_str = Console.ReadLine();
     
                int Age_num = 0;
     
                try
                {
                    var Age_num = int.Parse(Age_str);
     
                    Console.WriteLine("Si je compremds bien ton nom est " + NomDeLaPersonne + " et ton age est " + Age_num + " ans ");
     
                    var Age_new = Age_num + 1;
     
                    Console.WriteLine("Dans un an tu auras " + Age_new + " ans");
                }
                catch
                {
                    Console.WriteLine("Erreur vous devez écrire un nombre ou un chiffre");
                }
     
     
     
     
            }
        }
    }
    En haut c'est mon code :
    1) Je ne comprends pas pourquoi il a fallu que je rajoute var afin qu'Age_num soit reconnu comme tel
    2) Pour la ligne var Age_num = int.Parse(Age_str);
    j'ai l'erreur suivante :
    Erreur CS0136 Impossible de déclarer une variable locale ou un paramètre nommé 'Age_num' dans cette portée, car ce nom est utilisé dans une portée locale englobante pour définir une variable locale ou un paramètre projet_orijin C:\Users\maxim\OneDrive\Desktop\projets_cs\projet_orijin\projet_orijin\Program.cs 24 Actif.

    J'ai essayer de copier le code du professeur qui est le suivant et qui s'execute parfaitement :

    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
    using System;
     
    namespace premier_programme
    {
        class Program
        {
            static void Main(string[] args) {
     
                Console.OutputEncoding = System.Text.Encoding.UTF8;
     
                Console.Write("Quel est ton nom ? ");
                string nom = Console.ReadLine();
     
                Console.Write("Quel est ton age ? ");
                string age_str = Console.ReadLine();
     
                int age_num = 0;
     
                try
                {
                    age_num = int.Parse(age_str);
     
                    Console.WriteLine("Bonjour, vous vous appelez " + nom + ", vous avez " + age_num + " ans");
     
                    int age_prochain = age_num + 1;
                    Console.WriteLine("bientôt vous aurez " + age_prochain + " ans");
                }
                catch
                {
                    Console.WriteLine("Erreur, vous devez rentrer un age valide.");
                }
     
     
     
            }
        }
    }
    Je vous remercie d'avance pour vos réponse à bientôt=)

  2. #2
    Candidat au Club
    Homme Profil pro
    Reconversion pro
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Turquie

    Informations professionnelles :
    Activité : Reconversion pro

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    J'ai solutionné le problème en traficotant cependant je n'arrive pas à saisir la logique si quelqu'un peut m'éclairer svp .

    Dans mon code il est déclaré que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Console.Write("Quel âge as-tu ? ");
                string Age_str = Console.ReadLine();
     
                int Age_num = 0;
     
                try
                {
                    var Age_num = int.Parse(Age_str);
     
                    Console.WriteLine("Si je compremds bien ton nom est " + NomDeLaPersonne + " et ton age est " + Age_num + " ans ");

    J'ai modifié les majuscules dans le int Age_num et dans le reste des Age_num (soyez attentifs a la déclaration du int de départ avec le reste du code) et cela fonctionne maintenant avec ces deux options :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Console.Write("Quel âge as-tu ? ");
                string Age_str = Console.ReadLine();
                int age_num = 0;    
     
                try
                {
                    var Age_num = int.Parse(Age_str);
     
                    Console.WriteLine("Si je compremds bien ton nom est " + NomDeLaPersonne + " et ton age est " + age_num + " ans ");
     
                    var Age_new = age_num + 1;
     
                    Console.WriteLine("Dans un an tu auras " + Age_new + " ans");

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Console.Write("Quel âge as-tu ? ");
                string Age_str = Console.ReadLine();
                int Age_num = 0;    
     
                try
                {
                    var age_num = int.Parse(Age_str);
     
                    Console.WriteLine("Si je compremds bien ton nom est " + NomDeLaPersonne + " et ton age est " + age_num + " ans ");
     
                    var Age_new = age_num + 1;
     
                    Console.WriteLine("Dans un an tu auras " + Age_new + " ans");

    Alors que dans le code de l'enseignant, aucune modif des majuscules minuscules.

    je précise que l'enseignant use .NET 5.0 et moi 6.0 mais je ne pense pas que cela vienne de cela.

    Merci d'avance pour vos explications.

    P.S: je viens d'essayer et toutes les possibilités fonctionnent tant que et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Age_num = int.Parse(Age_str);
    sont différents peut importe si les autres age_num ont une majuscule ou non...

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Visual Studio te dit pourtant de manière claire où se situe ton erreur :
    Erreur CS0136 Impossible de déclarer une variable locale ou un paramètre nommé 'Age_num' dans cette portée, car ce nom est utilisé dans une portée locale englobante pour définir une variable locale ou un paramètre projet_orijin C:\Users\maxim\OneDrive\Desktop\projets_cs\projet_orijin\projet_orijin\Program.cs 24 Actif.
    Tu déclares un Age_num de type int et ensuite tu le redéclares avec var.
    Dans ton tout premier code, tu dois simplement enlever le var à la ligne 25.

  4. #4
    Candidat au Club
    Homme Profil pro
    Reconversion pro
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Turquie

    Informations professionnelles :
    Activité : Reconversion pro

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par popo Voir le message
    Visual Studio te dit pourtant de manière claire où se situe ton erreur :


    Tu déclares un Age_num de type int et ensuite tu le redéclares avec var.
    Dans ton tout premier code, tu dois simplement enlever le var à la ligne 25.

    Merci beaucoup pour ta réponse, Malheureusement si j'enleve le var alors la variable n'est pas prise en compte :

    Nom : C#.png
Affichages : 269
Taille : 62,0 Ko

  5. #5
    Candidat au Club
    Homme Profil pro
    Reconversion pro
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Turquie

    Informations professionnelles :
    Activité : Reconversion pro

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    ouais ba en fait j'étais vraiment fatigué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Console.Write("Quel âge as-tu ? ");
                 string Age_str = Console.ReadLine();
                 int age_num = 0;    
     
                 try
                 {
                      age_num = int.Parse(Age_str);
     
                     Console.WriteLine("Si je compremds bien ton nom est " + NomDeLaPersonne + " et ton age est " + age_num + " ans ");
     
                      int Age_new = age_num + 1;
     
                     Console.WriteLine("Dans un an tu auras " + Age_new + " ans"

    Entant débutant j'ai oublié qu'il fallait toujours indiquer de quelle type était la variable avant...

    Merci en tout cas

  6. #6
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    If faut noter que C# différencie entre le majuscule et le minuscule donc Age_num et age_num ce n'est pas le même variable.

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/02/2021, 18h26
  2. Je ne comprends pas mon erreur
    Par rania73 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 15/11/2019, 17h32
  3. Je débute en JAVA et je bloque je ne comprend pas mon erreur :(
    Par kelerbee dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 05/01/2019, 02h45
  4. $_POST, je ne comprends pas mon erreur
    Par JB122 dans le forum Langage
    Réponses: 3
    Dernier message: 02/09/2014, 14h32
  5. Je ne comprends pas mon erreur !
    Par oulahoup dans le forum ASP
    Réponses: 4
    Dernier message: 25/08/2005, 14h24

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