[HASHTAG]#include[/HASHTAG] <stdio.h>
[HASHTAG]#include[/HASHTAG] <stdlib.h>
[HASHTAG]#include[/HASHTAG] <time.h>
[HASHTAG]#include[/HASHTAG] <string.h>
[HASHTAG]#define[/HASHTAG] NUM_PALAVRAS 3 //Define o número de palavras no arquivo
int main()
{
char nome[10],
tentd,
palavra[20],vet1[20],
espaco[20],vet2[20],
teste,
aux=0,
tam,
*result;
int i,
chances,
x,
ganhou,
indexPalavra, //Variável do controle do index da palavra
j; //Variáveis de controle de loop
FILE *fp; //Ponteiro de arquivo
fp = fopen("lista.txt", "r" //Abre o arquivo
if(fp) //Se arquivo existir
{
srand(time(NULL)); //Pega a semente do número randômico
indexPalavra = rand()%NUM_PALAVRAS; //Gera o número da palavra (index)
for(i=0, j=0; j<indexPalavra; i++) //Enquanto não achar o index
{
if(fgetc(fp) == '\n' //Se achar próxima palavra
j++; //Passa para o próximo index;
/** Enquanto isso o ponteiro 'fp' armazena em si mesmo a posição do arquivo
que é navegada por 'fgetc()'. A cada consulta de caractere a posição do arquivo é passada pra frente **/
}
}
else //Se não achar arqquivo
{
printf("Lista nao encontrada.\n"
fclose(fp); //destrói o ponteiro
return 0; //Fecha o programa com sucesso
}
//Basta ler a palavra agora
i = -1;
do
{
i++;
tam++;
palavra<em> = fgetc(fp); //Lê letra por letra
if(palavra<em> == '\n' //Se caractere lido for de próxima linha
break; //Terminou a palavra
} while(palavra<em> != EOF); //Enquanto não fim do arquivo
palavra<em> = '\0'; //Substitui o último caractere da palavra para indicar fim de frase
tam=tam-1;
tentd='s';
system("cls"
printf("><><><><><><><><><><><><><>JOGO DA FORCA<><><><><><><><><><><><><><>\n"
while(tentd!='n' ){
for(i=0;i<tam;i++){
espaco<em>='_';
}
chances=6;
printf("Escreva o nome do jogador! \n"
scanf("%s",&nome);
while(chances!=0 ){
aux=0;
system("cls"
printf("O jogador(a): %s\n",nome);
printf("Chance: %d ganhou: %d",chances,ganhou);
printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍ»"
printf("\n º º"
printf("\n º Ê"
printf("\n º"if(chances<=5){printf(" |"}
printf("\n º"if(chances<=4){printf(" (xx)"}
printf("\n º"if(chances<=3){printf(" /| |\\ "}
printf("\n º"if(chances<=2){printf(" / | | \\ "}
printf("\n º"if(chances<=1){printf(" / \\ "}
printf("\n º"if(chances<=0){printf(" / \\ "}
printf("\n º"
printf("\n Ê\n"
for(i=0;i<tam;i++){
printf("%c ",espaco<em>
}
printf("\n"
setbuf(stdin,NULL);
printf("Digite uma letra! \n"
scanf("%c",&teste);
for(i=0;i<tam;i++){
if(teste==palavra<em>{
espaco<em>=teste;
aux=1;
}
}
if(aux==0){
chances--;
}
else{
ganhou++;
}
}
if(chances==0){
setbuf(stdin,NULL);
system("cls"
printf("Voce PERDEUUUU! \n"
}
if(strcmp(espaco,palavra)==0){
setbuf(stdin,NULL);
system("cls"
printf("Voce GANHOUUUU! \n"
}
else{
setbuf(stdin,NULL);
system("cls"
printf("Voce PERDEUUUU! \n"
}
printf("Voce deseja jogar novamente? 's' ou 'n' \n"
fflush(stdin);
scanf("%c",tentd);
system("cls"
}
fclose(fp);
system("pause"
} </em></em></em></em></em></em></em></em>
Matheus frot...
Novo Membro
Registrado
10 Mensagens
0 Curtidas
Programa dando erro de execução
#1 Por Matheus frot...
11/06/2015 - 23:22
Boa noite, eu estou tentando executar um programa que eu fiz, um joguinho da forca... Mas quando eu coloco para "jogar novamente no código do programa ele dá um erro de execução e para de funcionar, alguém pode me ajudar a resolver? Segue abaixo o código. OBS: CÓDIGO EM C