Probleme d'initialisation d'un tableau de structure

Signaler
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
-
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007
-
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

16 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
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
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007

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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
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#
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007

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
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007

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
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
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#
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
encore trahi par le refresh ^^

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
A une seconde près cette fois!
lol

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

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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
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#
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
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
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007

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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Sans le constructeur je ne vois pas comment ça serait possible.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
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
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2007

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