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 :

Souci sur les classes en c#


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Souci sur les classes en c#
    En fait je veux Créer un programme qui permet d’encoder le nombre de fiches de manière à créer un tableau de dimension adéquate pouvant stocker des éléments de type Employe. Les fiches seront ensuite affichées par l’intermédiaire d’une boucle foreach. Le programme se terminera par la possibilité d’éffectuer une recherche d’un élément de type Personne.
    Code associé ci-dessous:
    Merci d'avance

    Code C# : 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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace Personne_Employe
    {
        class Program
        {
            public class Personne
            {
                string _Nom = "", _Prenom = "";
                int _ID = 0;
                public Personne(int id, string nom, string prenom)
                {
                    this._Nom = nom;
                    this._Prenom = prenom;
                    this._ID = id;
                }
                public string Nom
                {
                    get { return this._Nom; }
                    set { this._Nom = value; }
                }
                public string Prenom
                {
                    get { return this._Prenom; }
                    set { this._Prenom = value; }
                }
                public int ID
                {
                    get { return this._ID; }
                    set
                    {
                        if (value <= 0)
                            this._ID = 1; //si la valeur de y négatif ou égale à 0 on initialise la hauteur à 1.
                        else
                            this._ID = value; // la hauteur est égale à la valeur donnée
                    }
     
                }
                public override string ToString()   //code complété
                {
                    return "" + this.Prenom + "" + this.Nom.ToUpper() + "(" + this.ID + ")";
                }
            }
            public class Employe : Personne
            {
                double _Salaire = 0;
                public Employe(int id, string nom, string prenom, double salaire)
                    : base(id, nom, prenom)
                {
                    this._Salaire = salaire;
                }
     
                public double Salaire
                {
                    get { return this._Salaire; }
                    set
                    {
                        if (value <= 0.0)
                            this._Salaire = 1; //si la valeur de y négatif ou égale à 0 on initialise le salaire à 1.
                        else
                            this._Salaire = value; // le salaire est égale à la valeur donnée
                    }
     
                }
                public override string ToString()   //code complété
                {
                    return "" + this.Prenom + "" + this.Nom.ToUpper() + "(" + this.ID + ")" + this.Salaire;
                }
     
            }
     
            public static void Encodage_employe(Employe[] employes, int N)
            {
     
                for (int i = 0; i < employes.Length; i++)
                {
                    Console.WriteLine("Veuillez entrer le nom");
                    employes[i].Nom = Console.ReadLine();
                    Console.WriteLine("Veuillez entrer le prénom");
                    employes[i].Prenom = Console.ReadLine();
                    Console.WriteLine("Veuillez entrer l'ID");
                    employes[i].ID = int.Parse(Console.ReadLine());
                    Console.WriteLine("Veuillez entrer le salaire");
                    employes[i].Salaire = int.Parse(Console.ReadLine());
                }
     
            }
            static void Main(string[] args)
            {
                int nbre;
                Console.WriteLine("Veuillez entrer le nombre de fiches à encoder");
                nbre = int.Parse(Console.ReadLine());
                Employe[] emp = new Employe[nbre];
                Encodage_employe(emp, nbre);
                Console.ReadLine();
            }
        }
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Peut-on savoir quelle est ta question à savoir plus précisément où tu bloques pour qu'on puisse te venir en aide ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Souci classes en c#
    Mon souci est l'encodage dans le tableau. Juste après l'encodage du premier élément du tableau il bloque

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par yanson90 Voir le message
    Mon souci est l'encodage dans le tableau. Juste après l'encodage du premier élément du tableau il bloque
    En tout cas en regardant ton code, la logique de ce dernier voudrait que tu saisisses et valides les données à renseigner au clavier pour pouvoir passer à l'élément suivant.

    Si non, quelle est le message d'erreur s'il y en a ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Souci classes en c#
    Lors de l'exécution juste après l'encodage et la validation du nom; la console stoppe l'exécution du programme

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 169
    Points
    169
    Par défaut
    NullPointerException ?

    Essaye avec ceci :
    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
    public static void Encodage_employe(Employe[] employes, int N)
            {
     
                for (int i = 0; i < employes.Length; i++)
                {
                    employes[i] = new Employe(); // <= instanciation de l'objet
                    Console.WriteLine("Veuillez entrer le nom");
                    employes[i].Nom = Console.ReadLine();
                    Console.WriteLine("Veuillez entrer le prénom");
                    employes[i].Prenom = Console.ReadLine();
                    Console.WriteLine("Veuillez entrer l'ID");
                    employes[i].ID = int.Parse(Console.ReadLine());
                    Console.WriteLine("Veuillez entrer le salaire");
                    employes[i].Salaire = int.Parse(Console.ReadLine());
                }
     
            }
    en ajoutant un constructeur vide dans la classe Employe...

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    J'ai essayé l'instanciation mais seulement il ne contient pas de constructeurs qui accepte 0 argument..........

  8. #8
    Membre expérimenté

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Points : 1 672
    Points
    1 672
    Par défaut
    Alors crées-en un ou alors appel un autre constructeur avec les bons arguments.

  9. #9
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    Citation Envoyé par Jaco67 Voir le message
    en ajoutant un constructeur vide dans la classe Employe...
    soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Employe : Personne
            {
              public Employe(){}

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Souci classes en c#
    Merci c'est gentil ça marche......

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. soucis sur les tableaux de class
    Par estacado dans le forum ASP
    Réponses: 1
    Dernier message: 07/05/2007, 10h43
  2. [POO] Besoin de tutorat sur les classes
    Par misterniark dans le forum Langage
    Réponses: 11
    Dernier message: 20/04/2006, 13h48
  3. demande de renseignements sur les classes
    Par altadeos dans le forum Langage
    Réponses: 4
    Dernier message: 08/04/2006, 15h59
  4. Question de base sur les classes
    Par deaven dans le forum C++
    Réponses: 3
    Dernier message: 27/11/2005, 16h20
  5. Réponses: 7
    Dernier message: 05/10/2004, 13h44

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