School-Coding-Cpp/sfusi/es1B.cpp

42 lines
732 B
C++

/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 07/03/2025
es1B: Scrivere una funzione che, ricevuta una stringa,
conti il numero di parole contenute in essa
Prototipo richiesto:
unsigned wordcount(const char *str);
Esempio:
"nel mezzo del cammin di nostra vita" --> 7
*/
#include <iostream>
#define SIZE 100+1
using namespace std;
unsigned wordcount(const char *str);
int main(void) {
char str[SIZE];
cin.getline(str, SIZE);
cout << wordcount(str);
return 0;
}
unsigned wordcount(const char *str) {
int contaWord = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (isalnum(str[i]) && (i == 0 || !isalnum(str[i - 1]))) {
contaWord++;
}
}
return contaWord;
}