Probleme d'initialisation d'un tableau de structure

Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
- - Dernière réponse : Maiku
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
- 27 avril 2005 à 11:00
Bonjour

J'aimerai créer un tableau de structure question réponse avec 10 lignes qui soit initialisé au debut du programme mais je bloque lorsqu'il faut faire l'initialisation :
[{;}] enfin je ne conné pas la structure exacte pour initialiser.
Quelqu'un pourrait-il m'aider ?

Merci d'avance
Maiku
Afficher la suite 

16 réponses

Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
42
0
Merci
Un tableau de structure, c'est quoi exactement?
Pour initialiser un tableau, on fait comme ça : string[] monTableau = new string[cells];

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
0
Merci
Rebonjour


Je vé préciser ma question.


J'ai une structure :


struct erreur


{


string questerreur;


char reperreur;


}

J'applique a un tableau cette structure :


erreur[] tab = new erreur [20] {};

J'aimerai que dans mes {} soit mises mes 20 valeurs mé je ne sé pa comment placer mes string a cause {} etc.
Donc voila si quelqu'un pouvait m'aider je lui en serait très reconnaissant.

Maiku
Commenter la réponse de Maiku
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
Par exemple :

struct erreur
{
public erreur(string quest)
{
questerreur = quest;
}

string questerreur;
char reperreur;
}

erreur[] tab = new erreur [20] {new erreur("erreur 1"), new erreur("erreur 2"), ...};

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
0
Merci
Euh dsl mé je pense pas que ca va marcher car j'ai deux champs : un string et un char donc je dois initialiser les deux "question" 'rep'.

Maiku
Commenter la réponse de Maiku
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
0
Merci
De plus je ne voudrai qu'une seule structure pour pouvoir tt initialiser ensemble non pas a l'ouverture du programme mais lorsque je tape le programme.

Maiku
Commenter la réponse de Maiku
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
42
0
Merci
La solution de coq fait ce que tu veux :

struct erreur
{
public erreur(string quest, char c)
{
questerreur = quest;
reperreur = c;
}

string questerreur;
char reperreur;
}

erreur[] tab = new erreur [20] {new erreur("erreur 1", 'o'), new erreur("erreur 2", 'u'), ...};

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
struct erreur
{
public erreur(string quest, char rep)
{
questerreur = quest;
reperreur = rep;
}

string questerreur;
char reperreur;
}

erreur[] tab = new erreur [20] {new erreur("erreur 1", '1'), new erreur("erreur 2", '2'), ...};

Par contre je ne comprend pas ce que tu veux dire par "De plus je ne voudrai qu'une seule structure pour pouvoir tt initialiser ensemble non pas a l'ouverture du programme mais lorsque je tape le programme."

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
encore trahi par le refresh ^^

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
42
0
Merci
A une seconde près cette fois!
lol

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
0
Merci
Rebonjour

Alors je ne vé pa utilisé la solution de coq car je ne suis qu'en premiere année bts ig et je ne me sens pas capable d'expliquer correctement ce que coq m'a ecrit.
Donc je reviens à mon truc de depart :

struct err
{
public string questerr;
public char reperr;
}
err [] tab = new err [1] {{"question", 'reponse'}};

Ca c'est mon code actuellement, donc mon prog me dit tableau incorrectement structuré.
Apres que mon tableau soit initialisé , je veux le reutiliser pour generer une question au hasard la aussi mon code est assez confus puis ensuite comparé ma reponse saisie avec celle dans mon tableau.
Donc si qq avé une solution un pe plus simple ^^

Maiku
Commenter la réponse de Maiku
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
C'est juste une structure avec un constructeur.

Sinon pour ton code déjà : 'reponse' ne risque pas d'aller, ça fait 7 caractères, soit 6 de trop pour un type char :-)

Tu peux faire ça, ça te permettras de garder à peu pret ce que tu fesais au depart :
// instanciation
err uneErr;
// initialisation des valeurs
uneErr.questerr = "question";
uneErr.reperr = 'r';
// création du tableau
err [] tab = new err [1] {uneErr};
// tu peux aussi faire :
//err [] tab = new err [1];
//tab[0] = uneErr;

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
Messages postés
305
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
4
0
Merci
si tu veux quelquechose de répétitif mais de facile a expliquer bah ya toujours sa ...

struct err
{
public string questerr;
public char reperr;
}
err [] tab = new err [10];
err[0].questerr = "Question 1";
err[0].reperr = 'a';
err[1].questerr = "Question 2";
err[1].reperr = 'c';
// Et ainsi de suite
err[9].questerr = "Question 10";
err[9].reperr = 'b';

Eric
Commenter la réponse de ricklekebekoi
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
0
Merci
Bonjour

La réponse de ricklekebekoi me paraît pas mal mé n'y a t'il pas moyen de mettre l'initialisation des données dans les {} de :

err [] tab = new err [10]{};

comme ca même si c'est long ca tient sur une ligne et comment pourrais je generer un question aleatoire de mon tableau de structure ?

Maiku
Commenter la réponse de Maiku
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
Sans le constructeur je ne vois pas comment ça serait possible.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
42
0
Merci
La première solution (celle de coq) est quand même meilleure, et à mon avis elle est pas très dure à expliquer !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
0
Merci
Lol vi peut etre bidou mé tu sé en premiere année on ne voit pas les procedures a l'interieur d'une structure.

Maiku
Commenter la réponse de Maiku