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;
} | 
Partager