Ciao a tutti!Sarò breve...
Perké il programma scritto qui sotto mi funziona perfettamente, mentre il secondo, la cui unica differenza è la ri-kiamata di un sottoprogramma (l'unica differenza è evidenziata in rosso) non funziona?
Aiutatemi!

PROGRAMMA FUNZIONANTE

#include <iostream>
#include <stdio.h>

using namespace std;
int NumeroLettere(int Max, int Conto);
int main(){
bool Controllo=false;//Variabile di controllo (per evitare spazi doppi)
int NumeroSpazi, Conto, Max, Indice;
char Ch;
char Frase[1024];
Max = NumeroSpazi = Conto = Indice = 0;
cout<<"Scrivi una frase e premi invio: ";
while((Ch = getchar()) != '\n' && Indice<1024){
Frase[Indice++] = Ch;
if(Ch == ' ') {
if(!Controllo)//Imposto il controllo per vedere se non ci sono spazi doppi
NumeroSpazi++;
Controllo=true;
NumeroLettere(Max,Conto);
Conto = -1;
}
else Controllo=false;//Resetto il controllo
Conto++;
if (Max < Conto) Max = Conto; }
cout<<"La frase che hai inserito e':"<<Frase<<endl;
cout<<"In questa frase ci sono " <<NumeroSpazi+1<<" parole"<<endl;
cout<<"La parola piu' lunga che hai immesso e' di lunghezza pari a: "<<Max<<endl;
system ("PAUSE");
return 0;
}
int NumeroLettere(int Max, int Conto){
if(Max < Conto) Max = Conto;}


PROGRAMMA NON FUNZIONANTE

using namespace std;
int NumeroLettere(int Max, int Conto);
int main(){
bool Controllo=false;//Variabile di controllo (per evitare spazi doppi)
int NumeroSpazi, Conto, Max, Indice;
char Ch;
char Frase[1024];
Max = NumeroSpazi = Conto = Indice = 0;
cout<<"Scrivi una frase e premi invio: ";
while((Ch = getchar()) != '\n' && Indice<1024){
Frase[Indice++] = Ch;
if(Ch == ' ') {
if(!Controllo)//Imposto il controllo per vedere se non ci sono spazi doppi
NumeroSpazi++;
Controllo=true;
NumeroLettere(Max,Conto);
Conto = -1;
}
else Controllo=false;//Resetto il controllo
Conto++;
NumeroLettere(Max,Conto) }
cout<<"La frase che hai inserito e':"<<Frase<<endl;
cout<<"In questa frase ci sono " <<NumeroSpazi+1<<" parole"<<endl;
cout<<"La parola piu' lunga che hai immesso e' di lunghezza pari a: "<<Max<<endl;
system ("PAUSE");
return 0;
}
int NumeroLettere(int Max, int Conto){
if(Max < Conto) Max = Conto;}