Estou tentando montar o jogo da forca na linguagem C, mas meu programa vem dando falhas na contagem dos erros, mesmo eu acertando ele decrementa 1 da variável das vidas, e quando ocorre realmente um erro ele decrementa 2, o programa faz o laço duas vezes aparentemente, e não consigo entender como.
Já modifiquei as condições para ocorrer o decremento e afins, mas esse erro persiste.
Pergunta
ytalordsp
Bom Dia,
Estou tentando montar o jogo da forca na linguagem C, mas meu programa vem dando falhas na contagem dos erros, mesmo eu acertando ele decrementa 1 da variável das vidas, e quando ocorre realmente um erro ele decrementa 2, o programa faz o laço duas vezes aparentemente, e não consigo entender como.
Já modifiquei as condições para ocorrer o decremento e afins, mas esse erro persiste.
Aqui o programa feito:
#include<stdio.h>
#include<time.h>
#include<string.h>
#include<stdlib.h>
main(){
int i,random,vidas=5;
char letra,anterior[30],acertos[30],cidades[5][30]={"ISTAMBUL","DUBAI","são PETESBURGO","PALESTINA","LISBOA"};
srand(time(NULL));
random=rand()%5;
for(i=0;i<strlen(cidades[random]);i++){
acertos='_';
}
strcpy(anterior,acertos);
for(;vidas>0;){
printf("A FORCA\n");
printf("VIDAS: %d\n\t",vidas);
puts(acertos);
if(strcmp(cidades[random],acertos)){
printf("\nDigite a letra:\n");
letra=getchar();
letra=toupper(letra);
system("cls");
for(i=0;i<strlen(cidades[random]);i++){
if(letra==cidades[random]){
acertos=letra;
}
}
}
else{
printf("\n\nVC GANHOU");
break;
}
if(strcmp(acertos,anterior)){
strcpy(anterior,acertos);
}
else vidas--;
}
if(vidas<1){
printf("\n\nVC MORREU!");
}
}
Desde já agradeço!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.