Ciao a tutti, innanzitutto mi scuso se non è la sezione giusta.
Sono un principiante e stavo provando a fare un programmino che ritorni il numero di parole in una stringa, utilizzando array + funzioni con le quali mi trovo sempre in difficoltà.
Vi chiedo se possibile di spiegarmi perchè non funziona come l'ho fatto, e magari di spiegarmi accorgimenti per migliorare il programma, l'ordine etc..
Grazie mille, Luca.codice:#include <cstdlib> #include <iostream> #include <string> #include <cstring> using namespace std; char stringarray[100]; std::string inputstr; int count_words(char stringarray[100]); int numpar; int main() { std::cout << "Scrivi frase: "; std::getline(std::cin, inputstr); std::strcpy(stringarray, inputstr.c_str()); numpar = count_words(stringarray); cout << "Numero parole: " << numpar; return(0); } int count_words(char str[100]){ int num; for (int i=0; str[i]=='\0'; i++){ if (str[i] == ' ' || str[i] == '\0') num++; } return(num); }