Buonasera ragazzi, mi sto avvicinando alla programmazione adesso perciò sto iniziando dalle basi e stavo provando a fare un programma in cui data una parola l'utente dovrà indovinare, in 10 turni, il massimo numero di lettere e in base a quante lettere l'utente avrà indovinato il programma stamperà poi un messaggio diverso. Credo di aver fatto tutto bene però nel conto finale delle lettere indovinate non mi trovo…forse perchè mi conta quelle ripetute due volte?
Vi posto il codice:
#include <stdio.h>
int main(void){
//Dichiarazione variabile
char parola[]={'b','e','n','v','e','n','u','t','o'};//Parola segreta
char lettera;//Lettera da inserire
int c_lettere=0;//contatore lettere trovate
int inserim=0;//turni
printf("BENVENUTO IN QUESTO SEMPLICE GIOCO:\n");
printf("PROVA AD INDOVINARE LE LETTERE CHE COMPONGONO LA PAROLA!!\n");
printf("INIZIAMO!\n");
do{
printf("Inserisci una lettera e vediamo se si trova nella parola:");
fflush(stdout);
scanf(" %c",&lettera);//Input lettera
inserim=inserim+1;
for(int i=0;i<9;i++){
if(parola[i] == lettera){
c_lettere = c_lettere+1;
}
}
}
while(inserim<10);
if(c_lettere>7){
printf("Sei fortissimo!!\n");
printf("Hai indovinato %d parole",c_lettere);
}
else
if(c_lettere==7){
printf("Hai vinto!!");
printf("Hai indovinato %d parole",c_lettere);
}
else
if(c_lettere>4 && c_lettere<7){
printf("Congratulazioni!!!");
printf("Hai indovinato %d parole",c_lettere);
}
else
if(c_lettere>=1 && c_lettere<4){
printf("Andrà meglio la prossima volta!");
printf("Hai indovinato %d parole",c_lettere);
}
else
if(c_lettere==0){
printf("Ritenta!Sarai più fortunato!");
printf("Hai indovinato %d parole",c_lettere);
}
return 0;
}