Bonjour,
J'ai fais une recherche et je n'ai pas trouvé de solution, en choisissant les résultats que de la partie C et C++, il y a énormément de topics et les noms ne sont pas toujours explicite.
J'espère ne pas créer un topic, alors qu'il y en existe déjà un.

Je voudrais faire une espèce d'agenda, avec un tableau à 3 dimensions.
Je voudrais par exemple que les caractères du nom du premier enregistré soit en [0][0][i].
[0][1][i] pour l'adresse e-mail (par exemple)
[0][2][i] pour l'adresse (par exemple)
[1][0][i] Nom de l'utilisateur du 2ième enregistré.
etc...

Je déjà fait ça avec un tableau 2d ont ne peut qu'ajouter les noms de contacts :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
using namespace std;
#include <string.h>
 
void AjouterContact(char Tab[][20], int* NbContacts);
void AfficherContact(char Tab[][20], int NbContacts);
void SupprimerContact(int* NbContacts);
 
int main()
{
char Tab[10][20];
int NbContacts=0;
int Choix;
 
while(Choix!=4)
{
cout <<"1- Ajouter un contact" << endl;
cout <<"2- Afficher tout les contacts" << endl;
cout <<"3- Vider l'agenda" << endl;
cout <<"4- Quitter" << endl;
cout <<"Taper votre choix : ";
cin >> Choix;
cout << endl;
getchar();
 
 
	switch(Choix)
	{
	case 1:
		AjouterContact(Tab, &NbContacts);
  cout<<endl;
		break;
	case 2:
		AfficherContact(Tab, NbContacts);
		cout << endl;
		break;
	case 3:
		SupprimerContact(&NbContacts);
		break;
	case 4:
		return 0;
		break;
	default:
		cout <<"erreur de saisie" << endl;
	}
}
 
 
} 
 
void AjouterContact(char Tab[][20], int* NbContacts)
{
	char Nom[20];
 
	cout<<"Veuillez entrer votre Nom et Prenom :\n";
	cin.getline(Nom, 20);
	strcpy(Tab[*NbContacts], Nom);
	(*NbContacts)++;
 
 
}
 
void AfficherContact(char Tab[][20], int NbContacts)
{
int i=0;
 
cout<<"Affichage de l'agenda :\n";
 
	while(i<NbContacts)
	{
	cout<<i+1<<" - "<<Tab[i]<<endl;
	i++;
	}
 
	if(NbContacts==0)
	cout<<"L'agenda est vide.\n";
 
}
 
void SupprimerContact(int* NbContacts)
{
	*NbContacts=0;
	cout<<"Contacts supprime.\n\n";
}
Dans mon cours normalement je devrais mettre :
void AjouterContact(char** Tab, int* NbContacts);
Et :
AjouterContact(&&Tab, &NbContacts);

Mais là c'est :
AjouterContact(Tab[][20], &NbContacts);
Et :
AjouterContact(Tab, &NbContacts);

Ça doit venir du fait que je met des caractères ou autre chose...

J'ai éssayé de mettre dans le main :
char Tab[10][20][20];
Et ensuite :
void AjouterContact(char Tab[][][20], int* NbContacts);
Et là déjà ça compile plus.

Mais de toute façon, j'aurais :
strcpy(Tab[*NbContacts], Nom);
De faux.
Je sais pas exactement ce que je dois mettre pour remplit en [0][1][i].
Surement un truc du genre :
*(*(Tab+1)+0)
Ça ferait :
strcpy(*(*(Tab+1))[*NbContacts], Nom);

Vous n'auriez pas une solution ?
Merci, d'avance.
Au revoir.