#include #include const int NMaxChars = 255; typedef char TFrase[NMaxChars]; int ContaParole(const TFrase frase); int main() { TFrase f; cout << "Inserisci una frase: "; cin.getline(f, NMaxChars); //oppure: gets(f); cout << "\nLa frase\n\n" << f << "\n\ncontiene " << strlen(f) << " caratteri e " << ContaParole(f) << " parole.\n"; system("PAUSE"); return 0; } int ContaParole(const TFrase frase) { int n = 0; int len; int indice = 0; len = strlen(frase); while (indice < len) { //porta indice al successivo carattere diverso da spazio o alla fine while ( (indice < len) && (frase[indice] == ' ') ) indice++; //se indice non supera len allora inizia una nuova parola: n++ if (indice < len) n++; //porta indice al successivo spazio o alla fine while ( (indice < len) && (frase[indice] != ' ') ) indice++; } return n; }