Problème d'éxecution
dboumlik
Messages postés
71
Date d'inscription
Statut
Membre
Dernière intervention
-
dboumlik Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
dboumlik Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
slt à tous
j'ai écris un programme en C# ou j'ai 2 classe
et notre Main
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
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
-
Bonjour,
Ta méthode choix() elle est où dans ta classe Tache et elle fait quoi ?
-
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); } }