Mettre mon programme dans une boucle

Signaler
Messages postés
88
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
30 août 2012
-
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
-
bonjour,

ce programme permet de donner le nombre de "e" dans un mot grâce à une fonction, mais il faudrait que je fasse une boucle pour qu'a chaque fois que le résultat est affiché l'utilisateur puisse à nouveau saisir un autre mot, et que si il saisi "sortie" le programme s'arréte....

merci pour ceux qui vont m'aider !



#include <string>
#include
using namespace std;
float lesE (int);

int main (){

int nbe;
cout<< lesE (nbe);



system ("pause");
return 0;
}
float lesE(int nbe){
nbe=0;
int i;
string extrait;
int longueurChaine;
string maChaine; //defini maChaine comme chaine de caractere

cout<< "entrez un mot"<<endl;
cin>>maChaine;
longueurChaine = maChaine.length();//calcul la longueur du mot
for(i=0;i<longueurChaine;i++){
nbe += (maChaine[i]=='e');
}


return (nbe);

}

1 réponse

Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
Je t'invite a vraiment réviser les bases, car tu sembles avoir quelques difficultés avec la notions de fonctions, de portée des variables, et de boucle.

Néanmoins, voici ce qu'il faut modifier:
#include <string>
#include 

int lesE(const std::string& maChaine)
{
  int nbe = 0;
  int longueurChaine = maChaine.length();
  for (int i = 0; i < longueurChaine;i++)
    nbe +(maChaine[i] 'e');
  return (nbe);
}

int main()
{
  std::string chaine = "";

  while (chaine != "sortie")
  {
    std::cout<< "Entrez un mot: " << std::endl;
    std::cin >> chaine;
    if (chaine != "sortie")
      std::cout << lesE(chaine) << std::endl;
  }

  return 0;
}