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 :

Petit programme d'entrainement qui ne marche pas


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Petit programme d'entrainement qui ne marche pas
    Bonjour,

    Je débute en C# et pour ça je m'entraine en faisant un petit programme qui n'a pas spécialement de sens mais qui peut m'entrainer a appeler des méthodes et utilisé les structure. (pour info je commence tout juste de commencer le livre "MCSD Certification Toolkit - Exam 70-483"

    Voici le code suivant:
    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
    44
     
    namespace ConsoleApplication3
    {
        public struct Student
        {
            public string firstName;
            public string lastName;
            public char initial;
            public double score1;
            public double score2;
            public double score3;
            public double score4;
            public double score5;
            public double average;
            public void averageCalc()
            {
                double av = ((score1 + score2 + score3 + score4 + score5) / 5);
                this.average = av;
            }
     
        }
     
     
     
        class Program
        {
            static void Main(string[] args)
            {
                Student myStudent = new Student();
                myStudent.firstName = "frank";
                Student mySecondStudent = new Student();
                mySecondStudent.firstName = "babar";
                mySecondStudent.score1 = 1;
                mySecondStudent.score2 = 2;
                mySecondStudent.score3 = 3;
                mySecondStudent.score4 = 4;
                mySecondStudent.score5 = 5;
     
                Console.WriteLine(myStudent.firstName);
                Console.WriteLine(mySecondStudent.average);
                Console.ReadLine();
            }
        }
        }

    Ce qui ne va pas, c'est l'instruction "Console.WriteLine(mySecondStudent.average);" qui me donne "0". comment faut-il faire pour que ça fonctionne? (cela doit mettre normalement "3")
    Et surtout "pourquoi", car visiblement il y a une logique que je n'arrive pas a assimiler, et ça me frustre énormément.

    Avant d'en arriver à ce code, j'avais essayer aussi le code suivant: (qui ne fonctionne pas non plus) je sais toujours pas pourquoi:
    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
    44
    45
    46
     
    namespace ConsoleApplication3
    {
        public struct Student
        {
            public string firstName;
            public string lastName;
            public char initial;
            public double score1;
            public double score2;
            public double score3;
            public double score4;
            public double score5;
            public double average;
     
        }
     
     
     public double averageCalc(double s1, double s2, double s3, double s4, double s5)
            {
                double av = ((s1 + s2 + s3 + s4 + s5) / 5);
                return av;
            }
     
        class Program
        {
            static void Main(string[] args)
            {
                Student myStudent = new Student();
                myStudent.firstName = "frank";
                Student mySecondStudent = new Student();
                mySecondStudent.firstName = "babar";
                mySecondStudent.score1 = 1;
                mySecondStudent.score2 = 2;
                mySecondStudent.score3 = 3;
                mySecondStudent.score4 = 4;
                mySecondStudent.score5 = 5;
                mySecondStudent.average = averageCalc(mySecondStudent.score1, mySecondStudent.score2, mySecondStudent.score3, mySecondStudent.score4, mySecondStudent.score5);
     
     
                Console.WriteLine(myStudent.firstName);
                Console.WriteLine(mySecondStudent.average);
                Console.ReadLine();
            }
        }
        }
    Voilà si quelqu'un a la gentillesse de m'expliquer le principe ou la logique de cette partie de code de base, je lui en serais énormément reconnaissant..

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,

    Pour le premier extrait: Avant d'afficher l'average il faut le calculer, donc appeller la methode "averageCalc";

    POur le second, cela ne compile pas tout court,apres les modifications necessaires:
    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
    44
    namespace ConsoleApplication3
    {
        public struct Student
        {
            public string firstName;
            public string lastName;
            public char initial;
            public double score1;
            public double score2;
            public double score3;
            public double score4;
            public double score5;
            public double average;
     
        }
     
        class Program
        {
            public static double averageCalc(double s1, double s2, double s3, double s4, double s5)
            {
                double av = ((s1 + s2 + s3 + s4 + s5) / 5);
                return av;
            }
     
            static void Main(string[] args)
            {
                Student myStudent = new Student();
                myStudent.firstName = "frank";
                Student mySecondStudent = new Student();
                mySecondStudent.firstName = "babar";
                mySecondStudent.score1 = 1;
                mySecondStudent.score2 = 2;
                mySecondStudent.score3 = 3;
                mySecondStudent.score4 = 4;
                mySecondStudent.score5 = 5;
                mySecondStudent.average = averageCalc(mySecondStudent.score1, mySecondStudent.score2, mySecondStudent.score3, mySecondStudent.score4, mySecondStudent.score5);
     
     
                Console.WriteLine(myStudent.firstName);
                Console.WriteLine(mySecondStudent.average);
                Console.ReadLine();
            }
        }
    }

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ta réponse, mais ce que je ne comprend mal, c'est qu'est ce qui doit être déclaré et a quel moment? pourquoi la structure peut être déclarer hors de la classe "programme" et les méthodes non?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    bonjour

    lis un cours et tu auras la réponse à ta question par rapport aux méthodes, structure, classes.
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. [AJAX] Petit essai qui ne marche pas
    Par codeur71 dans le forum AJAX
    Réponses: 9
    Dernier message: 25/02/2012, 10h15
  2. un programme trop simple qui ne marche pas
    Par smp82 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/10/2008, 15h46
  3. Programme super simple qui ne marche pas!
    Par _Michel dans le forum Visual C++
    Réponses: 2
    Dernier message: 07/01/2008, 18h50
  4. Programme de sudoku qui ne marche pas! :(
    Par DOC doc doc dans le forum C++
    Réponses: 18
    Dernier message: 20/03/2007, 11h56
  5. Petit scrtip bash qui ne marche pas..
    Par Fritzoune dans le forum Linux
    Réponses: 4
    Dernier message: 15/06/2005, 15h35

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