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 :
Dans mon cours normalement je devrais mettre :
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"; }
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.
Partager