Problème d'éxecution

Fermé
dboumlik Messages postés 69 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 15 novembre 2014 - 25 janv. 2014 à 22:46
dboumlik Messages postés 69 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 15 novembre 2014 - 25 janv. 2014 à 23:10
slt à tous
j'ai écris un programme en C# ou j'ai 2 classe

class Albume
    {
        public string album;
        public string artiste;

        public Albume()
        {
            album = "";
            artiste = "";
        }

        public string Album
        {
            set
            {
                album = value;
            }
            get
            {
                return album;
            }
        }

        public string Artiste
        {
            set
            {
                artiste = value;
            }
            get
            {
                return artiste;
            }
        }
    }


class Tache
    {
        public Albume [] myAlbums;
        
        public Tache()
        {
            myAlbums =  new Albume[20];
            
   
        }

        public void EntrerDonnee(Tache tch)
        {
            Console.WriteLine("donner l'album est l'artiste : ");
            Console.Write("Album : ");
            tch.myAlbums[0].Album = Console.ReadLine();
            Console.Write("Artiste : ");
            tch.myAlbums[0].Artiste = Console.ReadLine();
            
        }

        //+ d'autre méthod
    }


et notre Main

class MainClass
    {
        public static void Main(string[] args)
        {
            Tache tache = new Tache();
            
            tache.choix();

        }
    }


la compilation ça passe mais l'éxecution me donne ça
---> La référence d'objet n'est pas définie à une instance d'un objet

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 janv. 2014 à 22:50
Bonjour,

Ta méthode choix() elle est où dans ta classe Tache et elle fait quoi ?
0
dboumlik Messages postés 69 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 15 novembre 2014
25 janv. 2014 à 23:10
le probleme n'est pas dans la méthode choix voilà une capture d'ecran du probleme
http://hpics.li/d1bbda3

et la méthode choix()

class Tache
    {
public void choix()
        {
            char choix = ' ';
            int nbralbm , indice = 0;
            
            Console.Write("le nombre d'albums à entrer : ");
            

            do
            {
                while (!Int32.TryParse(Console.ReadLine(), out nbralbm))
                {
                    Console.WriteLine("\ndonner un nombre et pas un caractere !!!!\n");
                }

                if (nbralbm > 0)
                {
                    do
                    {
                        Console.WriteLine("----------------------------------------");
                        Console.WriteLine("-|--------------- MENU ---------------|-");
                        Console.WriteLine("----------------------------------------");
                        Console.WriteLine("-|- 1-Entrer ou modifier les données -|-");
                        Console.WriteLine("-|- 2-Afficher les données           -|-");
                        Console.WriteLine("-|- 3-Supprimer les données          -|-");
                        Console.WriteLine("-|- q-quitter                        -|-");
                        Console.WriteLine("----------------------------------------");
                        Console.Write("\nDonner votre choix : ");
                        try
                        {
                            choix = Convert.ToChar(Console.ReadLine());
                        }
                        catch
                        {
                            Console.WriteLine("Un seul charactère S'IL VOUS PLAIS");
                            choix = ' ';
                        }

                        switch (choix)
                        {
                            case '1':
                                Console.Clear();
                                Console.WriteLine("\n\n----- Entrer les Données -----\n\n");
                                this.EntrerDonnee(this);
                                indice++;
                                break;
                            case '2':
                                Console.Clear();
                                Console.WriteLine("\n\n----- Affichage des Données -----\n\n");
                                Console.WriteLine("\n donner le num de l'album  :  ");
                                int nAlbm = Int32.Parse(Console.ReadLine());
                                this.Affiche(this.myAlbums ,0);
                                Console.WriteLine("\n\n");
                                break;
                            case '3':
                                Console.Clear();
                                Console.WriteLine("\n\n----- Suppression des Données -----\n\n");
                                //this.Suppr(this,nbralbm);
                                Console.WriteLine("\n\n");
                                break;
                            case 'Q':
                            case 'q':
                                Console.Clear();
                                Console.WriteLine("\n\nvous avez choisis de quitter !! bye\n\n");
                                break;
                            default:
                                Console.Clear();
                                Console.WriteLine("\n\nvotre choix ne figure pas dans le menu !!!!\n\n");
                                break;
                        }

                    } while (choix != 'q' & choix != 'Q');

                    if (choix == 'q' | choix == 'Q')
                        break;
                }
                else
                    Console.WriteLine("\ndonner un nombre > que " + nbralbm + "\n");
            } while (nbralbm <= 0);
                
        }
}
0