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 :

Débutant en POO


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Débutant en POO
    Salut à tous, j'aimerais avoir de l'aide sur un petit programme que j'essai de réalisé (Pour mieux comprendre la théorie dans mes cours ^^')


    Ici j'ai un bout de code pour faire les entrer des noms de programme
    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
     
    Programme programme = new Programme();
     
    //Tableau des programmes
                Programme[] nomProgramme = new Programme[5];
     
                //Entrer des programmes
                Boolean autreProgramme;
                Console.WriteLine("Bonjour veuillez inscrire les noms de programmes");
                int cpt = 0;
                do
                {                
                    if (cpt == 4)
                    {
                        Array.Resize(ref nomProgramme, nomProgramme.Length+1);
                    }
                    nomProgramme[cpt] = Console.ReadLine(); //J'ai une erreur ici !! Je peux pas mettre la réponse de l'utilisateur dans le tableau puisque c'est un type "Programme qui fais appel à une classe"
     
                    Console.WriteLine("Un autre programme ?");
                    autreProgramme = Convert.ToBoolean(Console.ReadLine());
                }while(autreProgramme != false);
    Et voici le bout de code de ma Classe Programme
    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
     
            Programme[] programme = new Programme[5];
     
            public bool setProgramme(Programme program1)
            {
                for(int i = 0; i< programme.Length -1; i++)
                {
                    if (i == 4)
                    {
                        Array.Resize(ref programme, programme.Length + 1);
                    }
                    programme[i] = program1;
                }
                return true;
            }
            public Programme[] getProgramme()
            {
                return programme;
            }
    Merci d'avance pour vos solutions à mon problème :S Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 93
    Points : 127
    Points
    127
    Par défaut
    Peux tu mettre le code complet de la classe Programme ?

    Ensuite c'est maladroit d'en une classe de mettre une liste de cette même classe, si on concrétise les objets on pourrait dire une voiture est plein d'autre voiture.
    Ensuite y a les getter, setter en C# pas comme le java ou on est obligé de faire des méthodes.

    On fait attention à sa nomenclature GetProgrammes* vu que c'est un Array on supposera qu'il y en a plusieurs.

    Pour ta correction de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomProgramme[cpt] = Console.ReadLine()
    Oui ton objet Programme est différent d'un objet string mais cependant (d'ou ma première question) tu dois avoir une propriété Name (nom)
    et là tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomProgramme[cpt].Name = Console.ReadLine()
    Autre maladresse pas très méchante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    }while(Convert.ToBoolean(Console.ReadLine())); //Demande d'autre programme ?!
    Faire un tableau dynamique si y dépasse sa capacité qu'on lui a attribué dès le début on le redimensionne je trouve ça pas très propre

    Si tu n'es pas sûr de la quantité utilise une List<Programme> et tu n'auras pas besoin de le redimensionner à chaque fois.

  3. #3
    Membre averti Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 369
    Points
    369
    Par défaut
    pourrais tu mettre le code complet, apparemment, il y a un bout du main et un bout de la classe Programme...

    Kangourex à raison pour toutes ses remarques :
    - il faut généraliser les propriétés (get set intégrés)
    - utiliser une List<Programme> les Programme[] appartiennent au passé ..
    La nature fait des choses extraordinaires, observons la et restons humble, on ne nous demande pas de refaire le monde mais juste de reproduire virtuellement des choses existantes ....

    et n'oubliez pas si vous aimez et quand vous avez la réponse

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Citation Envoyé par Kangourex Voir le message
    Ensuite c'est maladroit d'en une classe de mettre une liste de cette même classe, si on concrétise les objets on pourrait dire une voiture est plein d'autre voiture.

    Je ne suis pas vraiment d'accord et je dirais même que c'est relativement fréquent lorsqu'on fait une arborescence. Effectivement pour la voiture ça marche pas...

Discussions similaires

  1. Débutant en poo et Ada.Finalization.
    Par Invité dans le forum Ada
    Réponses: 3
    Dernier message: 16/11/2010, 13h59
  2. Débutant en poo
    Par totofe49 dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2010, 17h00
  3. [CDI] [IDF] Ingénieur d'Etudes Expérimenté (Débutant en POO)
    Par Invité dans le forum Demandes
    Réponses: 0
    Dernier message: 27/07/2010, 19h52
  4. débutant en poo
    Par junior68 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 01/03/2009, 11h51
  5. [débutant] java POO
    Par mwanjany dans le forum Langage
    Réponses: 4
    Dernier message: 12/06/2006, 15h32

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