Sera!
Qualcuno potrebbe gentilmente spiegarmi perché il seguente programma in linguaggio C non funziona minimamente, nonostante a me sinceramente paia tutto corretto?
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(void)
{
char frase[100];
char nuova[100];
int i=0;
int lun;
gets(frase);
lun = strlen(frase);
while(i<10) {
nuova = toupper(frase);
i+=1;
while(frase != ' ') {
nuova = tolower(frase);
i+=1;
}
i+=1;
}
nuova[lun] = '\0';
printf("%s", nuova);
return 0;
}
Questo programma dovrebbe visualizzare la frase immessa dall'utente in modo tale che il primo carattere di ciascuna parola nella frase di partenza è stato reso maiuscolo, e tutti i restanti resi minuscoli. Si ipotizza inoltre che il primo carattere della frase non sia uno spazio o altro. Lo compila correttamente, ma quando lo lancio, immetto la frase e premo invio mi vedo soltanto lampeggiare davanti il cursore senza esito alcuno.
Qualcuno potrebbe darmi una mano?
Grazie in anticipo a tutti quelli che mi aiuteranno.