Mettre mon programme dans une boucle

Flowneo Messages postés 88 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 30 août 2012 - 2 nov. 2009 à 13:38
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 2 nov. 2009 à 16:29
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

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
2 nov. 2009 à 16:29
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;
}
0
Rejoignez-nous