Pb tableau de poniteur pointant sur un autre tableau ?

telecomakram Messages postés 14 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 2 décembre 2007 - 16 nov. 2007 à 06:49
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 - 5 déc. 2007 à 19:03
Bonjour,

J'ai besoin d'un coup de main pour resoudre ce petit probleme de gestion, voila j'ai 2 tableaux:

char* cours[100][5];
// tableau de pointeurs d’un étudiant, chaque pointeur pointant sur le nom du cours auquel l’étudiant est inscrit.

char nomsCours[50][51];
// tableau des noms des cours offerts par l’Université

J'ai 100 étudiants chacun à le droit à s'inscrir aux max 5 cours parmis 50 .

je veux afficher les noms des cours pour chaque étudiant aux quel il est inscrit.

Pour cela, j'ai besoin tout d'abord d'écrire une fonction qui permette de retrouver l'adresse d'une chaîne de caractères dans un tableau de chaînes de caractères (cette fonction est nécessaire pour pouvoir initialiser facilement le tableau de pointeurs cours).

Son prototype sera:

char* trouveAdresse(char tabCh[50][51], char ch[51]);

Merci  pour tout vos réponses

7 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
16 nov. 2007 à 08:05
salut,

l'adresse des noms de cours etant: (char*) &nomsCours[X][0]
(a voir si "nomsCours[X]" ne donnerai pas le meme resultat tout simplement.)

tu dois pouvoir utiliser un strcmpi(&nomsCours[i][0],ch) dans une boucle pour ta fonction trouveAdresse

@++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 nov. 2007 à 09:13
int e, c;
for(e = 0; e < 100; e++) {
  for(c = 0; c < 5; e++) MessageBox(0, cours[e][c], "cour", 0);
}

ciao...
BruNews, MVP VC++
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
16 nov. 2007 à 18:32
Y'aurait pas une erreur ?

int e, c;
for(e = 0; e < 100; e++) {
  for(c = 0; c < 5; e++) MessageBox(0, cours[e][c], "cour", 0);
}

C++ (@++)<!--
0
telecomakram Messages postés 14 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 2 décembre 2007
16 nov. 2007 à 18:43
bonjour

le tableau char *cours est un tableau de pointeurs  et chaque pointeur peut pointer sur n importe quel ligne du taaleau nomsCours

comment je peut affecter a chaque pointeur l'adresse d'un cours a partir du tableau nomsCours[50][51]

merci
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 nov. 2007 à 18:59
oui oui SAK, faudrait le temps de se relire...

cours[1][2] = nomsCours[2];
faudrait ouvrir un bouquin de C.

ciao...
BruNews, MVP VC++
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
5 déc. 2007 à 19:02
Bonjour,
char* cours[100][5];


char nomsCours[50][51];




char* trouveAdresse(char tabCh[50][51], char ch[51])

{

    for(int i=50;--i>=0;)

       if(!memcmp(
tabCh[i],ch,51))return (char*)ch;

    return 0;

}

je suis heureux de faire partie d'une grande famille ...!
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
5 déc. 2007 à 19:03
Bonjour, petite erreur :
char* cours[100][5];


char nomsCours[50][51];




char* trouveAdresse(char tabCh[50][51], char ch[51])

{

    for(int i=50;--i>=0;)

       if(!memcmp(
tabCh[i],ch,51))return (char*)
tabCh[i]
;

    return 0;

}

je suis heureux de faire partie d'une grande famille ...!
0
Rejoignez-nous