Lister un tableau !

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 11 oct. 2005 à 16:01
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 12 oct. 2005 à 12:01
Bonjour a tous ,

Inutile de preciser que je debute en c# :-) !

Je m'initie au c# depuis quelques heures maintenant et j'ai un p'tit souci au point de vue de lister un tableau de string !

Je vous explique :

j'ai une p'tite application console qui ne fait que de demander a l'utilisateur de rentrer une suite de 10 nom, je mets ces noms ds un tableau

et qd l'utilisateur le souhaite il peut voir les noms entres !

qd j'essaye de lister les noms le programme se ferme sans rien m'afficher meme si je mets un console.readline();

Je vois pas trop ce qui se passe !!!!!!
Si quelqu'un a une idée :

Je vous remercie

Christophe

[main]

class Class1


{



/// <summary>



/// Point d'entrée principal de l'application.



/// </summary>


[STAThread]



static
void Main(
string[] args)


{



string[] t =
new
string[10];


met aff =
new met();



//menu



int n = aff.menu();



if((n>3)||(n<0))


Console.WriteLine("Erreur entrez un nombre compris entre 1 et 3");



else


{



switch(n)


{



case 1:


Console.WriteLine("Votre nombre est : "+n);



//Appel methode


aff.addtab();


aff.menu();



break;



case 2:


Console.WriteLine("Votre nombre est : "+n);



//Appel methode


aff.listtab();


Console.ReadLine();


aff.menu();



break;



case 3:


Console.WriteLine("Votre nombre est : "+n);



//appel methode



break;



default :


Console.WriteLine("Default");



break;


}


}


}

[ma clase qui permet de rentrer des donnees ds un tableau et de les afficher ]


namespace p81Tableau


{



/// <summary>



/// Description résumée de met.



/// </summary>



public
class met


{



//Declarations



private
string[] tab =
new
string[10];



public met()


{



//Constructeur


}



//1ere methode



public
void addtab()


{



for(
int i =0;i<tab.Length;i++)


{


Console.WriteLine("Entrez le " +i+ " nom :");


tab[i] = Console.ReadLine();


}


}



public
void listtab()


{



int j = 0;



foreach(
string s
in tab)


{


j++;


Console.WriteLine(j+ "nom entré :" +s);


}


Console.ReadLine();


}



//menu



public
int menu()


{



///<summary>



///Declarations variables



///</summary>


String nbre;



///<summary>



///Debut du programme



///</summary>


Console.WriteLine("Bonjour, voici mon premier programme C#");


Console.WriteLine("------------------------------------------");


Console.WriteLine();



///<summary>



///Debut du menu



///</summary>


Console.WriteLine("Pressez le (1) pour afficher les membres :");


Console.WriteLine("Pressez le (2) pour lister les membres :");


Console.WriteLine("Pressez le (3) pour quitter l' application");


nbre = Console.ReadLine();



int vnbre = Convert.ToInt32(nbre);



//Console.WriteLine(nbre);



return vnbre;


}
}


}

11 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 oct. 2005 à 16:19
Ou alors avec un do...while()

De cette facon :



<hr size="2" width="100%">

static void Main(string[] args)

{

string[] t = new string[10];

met aff = new met();

int n;

do

{

n = aff.menu();

if ((n > 3) || (n < 0))


Console.WriteLine("Erreur entrez un nombre compris
entre 1 et 3");

else

{

switch (n)

{

case 1:



Console.WriteLine("Votre nombre est : " + n);

aff.addtab();

break;

case 2:



Console.WriteLine("Votre nombre est : " + n);

aff.listtab();

break;

case 3:



Console.WriteLine("Votre nombre est : " + n);

break;

default:



Console.WriteLine("Default");

break;

}

}

} while (n != 3);

}

}


Mx
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 oct. 2005 à 16:32
Et en etant utile a la communauté comme il l'est....

...Parce que si tu patiente et travaille dans ton coin, ca marchera pas

Mx
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 oct. 2005 à 11:44
Ca ne marchait pas tout simplement parce qu'il executait une fois le switch, puis passait au lignes de code suivantes

Une fois arrivé a la derniere ligne de ta fonction Main, ton appli se ferme

Mx
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 oct. 2005 à 16:09
c'est normal.
Dans ta boucle, tu as écrit ceci :

Console.WriteLine(j+ "nom entré :" +s);

j est de type int, donc ca va pas...
écrit plutot :
Console.WriteLine(j.ToString()+ "nom entré :" +s);

D'ailleur, c'est la même chose dans toutes tes boucles !

Sébastien FERRAND
[MVP C#]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 oct. 2005 à 16:15
Bah non Seb, le probleme n'est pas la.



jimmy69 -> Si tu essaie de lister les noms sans les avoir enregistré, tu remarqueras que ta boucle marche parfaitement.

En fait, c'est juste que tu peux seulement utiliser qu'une fois le
menu du a la facon dont c'est codé. (a la 2 utilisation fois, le
programme s'arrete)

Essaie avec un while(true) qui entoure ton switch

Mx
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 oct. 2005 à 16:24
ooops... j'avoue... j'ai lu en diagonal

Sébastien FERRAND
[MVP C#]
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 oct. 2005 à 16:26
Je me disais aussi ;)

Surtout que la conversion du int vers le string est faite avec la concatenation, donc pas d'erreur de se coté la

Mx
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
11 oct. 2005 à 16:28
Salut salut seb,morpionMx,

Merci deja pour vos post ultra rapide ;-)!

Je test cela et je vous dis quoi ce soir !

Merci

Juste une derniere question pour seb :
comment devient on mvp c#?

A tantot

Christophe
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 oct. 2005 à 16:30
avec beaucoup de patience... et beaucoup de travail.

Sébastien FERRAND
[MVP C#]
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
12 oct. 2005 à 11:41
Salut salut,

Merci pour les infos concenrant mcp !

dis MorpionMx, je n'ai pas compris pourquoi mon code ne marchait pas alors qu'en ajoutant ton do while il liste bien le tableau avec les noms !!!!

Le menu n'intervient pas sur le listage du tableau !!!!

J'ai du mal a piger la !

Bonne semaine et encore merci

Christophe
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
12 oct. 2005 à 12:01
Merci beaucoup les gars !

Christophe
0
Rejoignez-nous