le c++ pour les nul
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
le c++ pour les nul

forum d'entraide pour les débutant en c++
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment :
Boutique Nike : -25% dès 50€ sur TOUT le ...
Voir le deal

 

 une petite aide en c++

Aller en bas 
3 participants
AuteurMessage
widi70




Nombre de messages : 1
Date d'inscription : 19/01/2007

une petite aide en c++ Empty
MessageSujet: une petite aide en c++   une petite aide en c++ EmptyVen 19 Jan à 6:03

Bonjour tout le monde je doit faire un programme qui compte les caractere et les mots d'un texte donné par l'utilisateur.Puis je doit reafficher ce texte en mettant un retour à la ligne tous les x caractere (x étant donné par l'utilisateur). J'ai reussi à compter les caractere et les mots à un detail pres il considere comme mot toutes les ponctuations sauf le point. Donc si vous pouviez me dire comment je doit modifier mon programme pour qu'il fonctionne correctement et comment je doit faire pour mettre les retour à la ligne.
j'ai fait ça:
#include <iostream>
#include <string>

int main()
{
// Lecture
string text;
int l;
cout << "texte ?";
getline(cin,text);
cout<<"Entrer le nombre de caractere que vous voulez pour une ligne?<<endl;
cin>>l;

// Nombre de caracteres
size_t len = text.length();
cout << "nombre de caractères = " << len <<endl;

// Nombre de mots
unsigned int nb_words=0;
for(unsigned int i=0;i<len;i++)
{
// avancer jusqu'au prochain mot
while ((isalpha(text[i]) && i<len)) i++;

// on a atteint la fin d'un mot ou de la chaine
if (i<=len) nb_words++;
}
cout << "nombre de mots = " << nb_words<<endl;

return 0;
}
merci d'avance
Revenir en haut Aller en bas
kaB




Nombre de messages : 1
Date d'inscription : 15/04/2007

une petite aide en c++ Empty
MessageSujet: Re: une petite aide en c++   une petite aide en c++ EmptyDim 15 Avr à 14:40

Voici le code que j ai fait selon tes critères et qui marche :

#include "iostream"
#include "string"
using namespace std;

int main (void)
{ string texte;
int nb_char_ligne, nb_char, cpt_mot=0, i, cpt=0;

cout<<"Saisissez votre texte.\n";
getline (cin, texte);

cout<<"Entrer le nombre de caractere que vous voulez pour une ligne ?\n";
cin>>nb_char_ligne;

nb_char = texte.size();
cout<<"Le texte comporte "<<nb_char<<" carateres.\n";

for (i=0; i<nb_char; i++)
{ do
{ i++;
}
while (isalpha(texte[i])==2);
cpt_mot++;
i++;
}
cout<<"Le texte comprend "<<cpt_mot<<" mots.\n";

for (i=0; i<nb_char; i++)
{ cout<<texte.at(i);
cpt++;
if (cpt==nb_char_ligne)
{ cout<<'\n';
cpt=0;
}
}

system ("pause");
return 0;
}


A l avenir, lorsque tu codes, essais de regrouper les déclarations des instructions, ce n est pas obligatiores, mais c est presque une norme, question de lisiblité du code.
Revenir en haut Aller en bas
Alp
modérateur
Alp


Nombre de messages : 20
Localisation : Marseille
Date d'inscription : 23/11/2005

une petite aide en c++ Empty
MessageSujet: Re: une petite aide en c++   une petite aide en c++ EmptyDim 17 Juin à 9:56

Autant à utiliser std::string, utilise la méthode size() qui renvoie le nombre de caractères ... Laughing
Revenir en haut Aller en bas
http://www.paic-team.com/
Contenu sponsorisé





une petite aide en c++ Empty
MessageSujet: Re: une petite aide en c++   une petite aide en c++ Empty

Revenir en haut Aller en bas
 
une petite aide en c++
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
le c++ pour les nul :: programmations :: questions et réponses-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser