Bonjour,

J'ai un Devoir à rendre en Algo et c'est en C++

Alors voilà mon 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
#include <iostream>
#include <string>
#include <cctype>
 
using namespace std;
 
const int nbMaxMotsClefs=10;
const int tailleMaxMotClef=40;
 
typedef
  struct
  {
    bool Tous; // si vrai, indique qu'on recherche tous les mots-clefs
               // si faux, indique qu'on recherche au moins l'un des mots-clefs
    int nbMotsClefs; // nombre de mots clefs dans le tableau liste
    char liste[nbMaxMotsClefs][tailleMaxMotClef];
  } RechercheComplexe;
 
void lireRechercheComplexe(RechercheComplexe &rech) // R
{
  string s;
  int i=0,j=0;
 
  cout << "Rechercher tous les mots-clefs ou un seul : ";
  do
  {
    cin >> s;
  } while (s != "un" && s != "tous");
  if (s == "un")
    rech.Tous = false;
  else
    rech.Tous = true;
  cout << "Vos mots-clefs terminés par un point : ";
  getline(cin,s);
  while (s[i] != '.' && i<s.length())
  {
    if (s[i] != 32)
    {
      rech.liste[j][i]=s[i];
      i++;
    }
    else
    {
      rech.liste[j][i]='\0';
      i++;
      j++;
    }
  }
  rech.nbMotsClefs=j;
} 
 
int main()
{
  RechercheComplexe recherchecomplexe;
  lireRechercheComplexe(recherchecomplexe);
  cout << recherchecomplexe.nbMotsClefs;
}
Alors le but de cette procédure est de demander à l'utilisateur si il souhaite rechercher dans une chaine de caractère un ou tous les mot-clefs qu'il tape par la suite. Les mot-clefs sont tapés l'un après l'autre avec un espace entre chaque et un point pour dire qu'il n'y a plus de mot-clefs.

Le prob c'est que quand je lance le programme il marche bien mais quitte après la saisit des mot-clefs... Je sais pas d'où vient l'erreur... je galère depusi déjà un bon moment

Merci d'avance