Bonjour !

Pour commencer, je suis novice en C++, j'ai lu des cours en C mais n'ai jamais tenu de réel projet, manque d'idée. Cependant, ayant assez de connaissances en C, je me suis intéressé au C++ près d'un an après et me voici aux structures de données.

J'ai un lèger souci avec ce code:

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
#include <iostream>
#include <string>
using namespace std;
 
struct foo{
  string x;
  string y;
} *pointer;
 
int main ()
{
  short i, a;
 
  cout << "Longueur du tableaux : ";
  cin >> a;
  pointer = new foo [a];
 
  for(i = 0 ; i < a ; i++){
    cout << "Entrez une phrase pour tableau 1 array " << i << " : ";
    getline(cin, pointer[i].x);
  }
 
  for(i = 0 ; i < a ; i++){
    cout << "Entrez une phrase pour tableau 2 array " << i << " : ";
    getline(cin, pointer[i].y);
  }
 
  for(i = 0 ; i < a ; i++){
    cout << pointer[i].x << endl;
  }
 
  for(i = 0 ; i < a ; i++){
    cout << pointer[i].y << endl;
  }
  return 0;
}
Comme vous pouvez le voir, je créer un objet pointer qui est donc un pointeur.

Par la suite, je demande à l'utilisateur quelle taille doivent faire les tableaux de string pointer[].x et pointer[].y

Ensuite on remplit les tableaux.
Et on finit par afficher leur contenu.

Seulement, voici ce que j'obtient en sortie, lors des tests:

Entrez une phrase pour tableau 1 array 0 : Entrez une phrase pour tableau 1 array 1 : 0
Entrez une phrase pour tableau 2 array 0 : 1
Entrez une phrase pour tableau 2 array 1 : 2

0
1
2

Ce qui m'embête c'est qu je ne peux pas entrer quelquechose dans la première case du premier tableau...

Merci d'avance.