Enviado em 19/02/2021 - 15:46h
Estou encontrando os seguintes erros no programa#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
char banco[30][30]=
{
"notebook",
"smartphone",
"pendrive",
"computador",
"seguraça"
};
char wordSorteada[30] = {0};
char wordDigitada[30] = {0};
int sorteio()
{
srand(time(NULL));
return (rand() % 10)/2;
}
void imprimir()
{
int tam = strlen(wordSorteada);
printf("\n%d letras\n", tam);
for(int r = 0; r < strlen(wordSorteada); r++)
{
printf("%c", wordDigitada[r]);
}
}
void copia(int lin)
{
for(int r = 0; r < 30; r++)
{
wordSorteada[r] = banco[lin][r];
}
}
void limpaWord()
{
for(int r = 0; r < strlen(wordSorteada); r++)
{
wordDigitada[r] = '_';
}
}
void imprimirForca(int erro)
{
switch(erro)
{
case 0:
printf("\n-------\n");
printf("| \n");
printf("| \n");
printf("| \n");
break;
case 1:
printf("\n-------\n");
printf("| o\n");
printf("| \n");
printf("| \n");
break;
case 2:
printf("\n-------\n");
printf("| o\n");
printf("| / \n");
printf("| \n");
break;
case 3:
printf("\n-------\n");
printf("| o\n");
printf("| /| \n");
printf("| \n");
break;
case 4:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| \n");
break;
case 5:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \n");
break;
case 6://default:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \\ \n");
break;
}
}
bool verifyLetter(char letra, char vetor[26])
{
for(int i = 0; i < strlen(vetor); i++)
{
if(letra == vetor[i])
{
return true;
}
}
return false;
}
void alocandoLetra(char letra)
{
for(int i = 0; i < strlen(wordSorteada); i++)
{
if(wordSorteada[i] == letra)
{
wordDigitada[i] = letra;
}
}
}
void letrasDigitadas(char let[26], int tam)
{
printf("\nJá fora digitadas: ");
for(int r = 0; r < strlen(let); r++)
{
printf("%c,", let[r]);
}
printf("\n");
}
bool wordCompleta()
{
for(int r=0;r<strlen(wordSorteada);r++)
{
if(wordDigitada[r] == '_')
{
return false;
}
}
return true;
}
int main()
{
int palavra = sorteio();
copia(palavra);
limpaWord();
int contLetras = 0;
int contaErros = 0;
char letraDig[26] = {0};
char letter;
do
{
system("clear");
imprimirForca(contaErros);
imprimir();
letrasDigitadas(letraDig, contLetras);
printf("\n\nTentativas restantes: %d\n", 6-contaErros);
printf("\n\n");
printf("Digite uma letra: \n");
scanf("%c", &letter);
letter = tolower(letter);
if(verifyLetter(letter, letraDig))
{
printf("\nEssa letra já foi digitada\nTente novament\n");
system("pause");
} else
{
letraDig[contLetras] = letter;
contLetras++;
if(verifyLetter(letter, wordSorteada))
{
alocandoLetra(letter);
} else
{
printf("Letra incorreta\nTente novamente\n\n");
contaErros++;
system("pause");
}
}
if(contaErros>=6)
{
system("clear");
printf("Game Over for you");
system("stop");
return 0;
} else if(wordCompleta())
{
system("clear");
printf("YOU WIN");
system("stop");
return 0;
}
}while(contaErros<=6);
return 0;
}
Enviado em 20/02/2021 - 11:36h
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
char banco[30][30]=
{
"notebook",
"smartphone",
"pendrive",
"computador",
"seguraça"
};
char wordSorteada[30] = {0};
char wordDigitada[30] = {0};
int sorteio()
{
srand(time(NULL));
return (rand() % 10)/2;
}
void imprimir()
{
int tam = strlen(wordSorteada);
printf("\n%d letras\n", tam);
for(int r = 0; r < strlen(wordSorteada); r++)
{
printf("%c", wordDigitada[r]);
}
}
void copia(int lin)
{
for(int r = 0; r < 30; r++)
{
wordSorteada[r] = banco[lin][r];
}
}
void limpaWord()
{
for(int r = 0; r < strlen(wordSorteada); r++)
{
wordDigitada[r] = '_';
}
for(size_t r = strlen(wordSorteada); r-- > 0; )
wordDigitada[r]='_';
}
void imprimirForca(int erro)
{
switch(erro)
{
case 0:
printf("\n-------\n");
printf("| \n");
printf("| \n");
printf("| \n");
break;
case 1:
printf("\n-------\n");
printf("| o\n");
printf("| \n");
printf("| \n");
break;
case 2:
printf("\n-------\n");
printf("| o\n");
printf("| / \n");
printf("| \n");
break;
case 3:
printf("\n-------\n");
printf("| o\n");
printf("| /| \n");
printf("| \n");
break;
case 4:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| \n");
break;
case 5:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \n");
break;
case 6://default:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \\ \n");
break;
}
const char *const str_array[5]={produz um array com cinco elementos que são strings constantes com exatamente o mesmo conteúdo. Então você também poderia trocar algo como
"paulo1205",
"paulo""1205",
"paulo" "1205",
"paulo"
"1025",
"p" "a" "u" "l" "o" /* bla, bla, bla */ "1" "2" "0" "5"
};
printf("| o\n");pelo seguinte (economizando a quantidade de chamadas a funções, sem perder a formatação visual do código fonte).
printf("| /|\\ \n");
printf("| / \\ \n");
printf("| o\n"
"| /|\\ \n"
"| / \\ \n");
}
bool verifyLetter(char letra, char vetor[26])
{
for(int i = 0; i < strlen(vetor); i++)
{
if(letra == vetor[i])
{
return true;
}
}
return false;
}
void alocandoLetra(char letra)
{
for(int i = 0; i < strlen(wordSorteada); i++)
{
if(wordSorteada[i] == letra)
{
wordDigitada[i] = letra;
}
}
}
void letrasDigitadas(char let[26], int tam)
{
printf("\nJá fora digitadas: ");
for(int r = 0; r < strlen(let); r++)
{
printf("%c,", let[r]);
}
printf("\n");
}
bool wordCompleta()
{
for(int r=0;r<strlen(wordSorteada);r++)
{
if(wordDigitada[r] == '_')
{
return false;
}
}
return true;
}
int main()
{
int palavra = sorteio();
copia(palavra);
limpaWord();
int contLetras = 0;
int contaErros = 0;
char letraDig[26] = {0};
char letter;
do
{
system("clear");
imprimirForca(contaErros);
imprimir();
letrasDigitadas(letraDig, contLetras);
printf("\n\nTentativas restantes: %d\n", 6-contaErros);
printf("\n\n");
printf("Digite uma letra: \n");
scanf("%c", &letter);
letter = tolower(letter);
letter=tolower((unsigned char)letter);
if(verifyLetter(letter, letraDig))
{
printf("\nEssa letra já foi digitada\nTente novament\n");
system("pause");
} else
{
letraDig[contLetras] = letter;
contLetras++;
if(verifyLetter(letter, wordSorteada))
{
alocandoLetra(letter);
} else
{
printf("Letra incorreta\nTente novamente\n\n");
contaErros++;
system("pause");
}
}
if(contaErros>=6)
{
system("clear");
printf("Game Over for you");
system("stop");
return 0;
} else if(wordCompleta())
{
system("clear");
printf("YOU WIN");
system("stop");
return 0;
}
}while(contaErros<=6);
return 0;
}
Enviado em 20/02/2021 - 18:05h
O strlen e o tam foi pq tinha parado de funcionar, quando fiz assim voltou;Enviado em 20/02/2021 - 18:46h
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
char banco[30][30]=
{
"notebook",
"smartphone",
"pendrive",
"computador",
"seguraça"
};
char wordSorteada[30] = {0};
char wordDigitada[30] = {0};
void limpaWord()
{
for(int r = 0; r < strlen(wordSorteada); r++)
{
wordDigitada[r] = '_';
}
}
void imprimirForca(int erro)
{
switch(erro)
{
case 0:
printf("\n-------\n");
printf("| \n");
printf("| \n");
printf("| \n");
break;
case 1:
printf("\n-------\n");
printf("| o\n");
printf("| \n");
printf("| \n");
break;
case 2:
printf("\n-------\n");
printf("| o\n");
printf("| / \n");
printf("| \n");
break;
case 3:
printf("\n-------\n");
printf("| o\n");
printf("| /| \n");
printf("| \n");
break;
case 4:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| \n");
break;
case 5:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \n");
break;
default:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \\ \n");
}
}
bool verifyLetter(char letra, char vetor[26])
{
for(int i = 0; i < strlen(vetor); i++)
{
if(letra == vetor[i])
{
return true;
}
}
return false;
}
void alocandoLetra(char letra)
{
for(int i = 0; i < strlen(wordSorteada); i++)
{
if(wordSorteada[i] == letra)
{
wordDigitada[i] = letra;
}
}
}
void letrasDigitadas(char let[26], int tam)
{
printf("\nJá fora digitadas: ");
for(int r = 0; r < strlen(let); r++)
{
printf("%c,", let[r]);
}
printf("\n");
}
bool wordCompleta()
{
for(int r=0;r<strlen(wordSorteada);r++)
{
if(wordDigitada[r] == '_')
{
return false;
}
}
return true;
}
int main()
{
srand(time(NULL));
int palavra = rand() % 5;
strcpy(wordSorteada, banco[palavra]);
limpaWord();
int contLetras = 0;
int contaErros = 0;
char letraDig[26] = {0};
char letter;
while(contaErros<=6)
{
system("clear");
imprimirForca(contaErros);
printf("\n%d letras\n%s", strlen(wordSorteada), wordDigitada);
letrasDigitadas(letraDig, contLetras);
printf("\n\nTentativas restantes: %d\n", 6-contaErros);
printf("\n\n");
printf("Digite uma letra: \n");
scanf(" %c", &letter);
if(strchr(letraDig, letter)!=NULL)//verifyLetter(letter, letraDig)
{
printf("\nEssa letra já foi digitada\nTente novament\n");
break;
} else
{
letraDig[contLetras] = letter;
contLetras++;
if(strchr(letter, wordSorteada)!=NULL)//verifyLetter(letter, wordSorteada)
{
alocandoLetra(letter);
} else
{
printf("Letra incorreta\nTente novamente\n\n");
contaErros++;
break;
}
}
if(contaErros>=6)
{
system("clear");
printf("Game Over for you");
break;
//return 0;
} else if(wordCompleta())
{
system("clear");
printf("YOU WIN");
break;
//return 0;
}
}
return 0;
}
Enviado em 28/02/2021 - 09:35h
Quando eu salvei seu programa aqui e tentei compilá-lo, deu vários erros, como você pode ver na figura anexa.if(scanf(" %c", &ch)!=1){
fprintf(strderr, "Erro de leitura. Abortando o programa.\n");
exit(1);
}
const size_t len=strlen(string);
for(size_t index=0; index<len; ++index){ /* ... */ }
for(size_t len=strlen(string), index=0; index<len; ++index){ /* ... */ }
Enviado em 06/03/2021 - 07:01h
if(scanf(" %c", &ch)!=1){
fprintf(strderr, "Erro de leitura. Abortando o programa.\n");
exit(1);
}
const size_t len=strlen(string);
for(size_t index=0; index<len; ++index){ /* ... */ }
for(size_t len=strlen(string), index=0; index<len; ++index){ /* ... */ }
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
char banco[30][30]=
{
"notebook",
"smartphone",
"pendrive",
"computador",
"seguraça"
};
char wordSorteada[30] = {0};
char wordDigitada[30] = {0};
const size_t tam = strlen(wordSorteada);
void limpaWord()
{
for(int r = 0; r < tam; r++)
{
wordDigitada[r] = '_';
}
}
void imprimirForca(int erro)
{
switch(erro)
{
case 0:
printf("\n-------\n");
printf("| \n");
printf("| \n");
printf("| \n");
break;
case 1:
printf("\n-------\n");
printf("| o\n");
printf("| \n");
printf("| \n");
break;
case 2:
printf("\n-------\n");
printf("| o\n");
printf("| / \n");
printf("| \n");
break;
case 3:
printf("\n-------\n");
printf("| o\n");
printf("| /| \n");
printf("| \n");
break;
case 4:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| \n");
break;
case 5:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \n");
break;
default:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \\ \n");
}
}
bool verifyLetter(char letra, char vetor[26])
{
const size_t tam2 = strlen(vetor);
for(int i = 0; i < tam2; i++)
{
if(letra == vetor[i])
{
return true;
}
}
return false;
}
void alocandoLetra(char letra)
{
for(int i = 0; i < tam; i++)
{
if(wordSorteada[i] == letra)
{
wordDigitada[i] = letra;
}
}
}
void letrasDigitadas(char let[26], int tam)
{
printf("\nJá fora digitadas: ");
const size_t len = strlen(let);
for(int r = 0; r < len; r++)
{
printf("%c,", let[r]);
}
printf("\n");
}
bool wordCompleta()
{
for(int r=0;r<tam;r++)
{
if(wordDigitada[r] == '_')
{
return false;
}
}
return true;
}
int main()
{
srand(time(NULL));
int palavra = rand() % 5;
strcpy(wordSorteada, banco[palavra]);
limpaWord();
int contLetras = 0;
int contaErros = 0;
char letraDig[26] = {0};
char letter;
while(contaErros<=6)
{
imprimirForca(contaErros);
printf("\n%zu letras\n%s", tam, wordDigitada);
letrasDigitadas(letraDig, contLetras);
printf("\n\nTentativas restantes: %d\n", 6-contaErros);
printf("\n\n");
printf("Digite uma letra: \n");
scanf("%c", &letter);
if(strchr(letraDig, letter)!=NULL)//verifyLetter(letter, letraDig)
{
printf("\nEssa letra já foi digitada\nTente novament\n");
break;
} else
{
letraDig[contLetras] = letter;
contLetras++;
if(strchr(wordSorteada, letter)!=NULL)//verifyLetter(letter, wordSorteada)
{
alocandoLetra(letter);
} else
{
printf("Letra incorreta\nTente novamente\n\n");
contaErros++;
break;
}
}
if(contaErros>=6)
{
setenv("PATH", "/bin:/usr/bin", 1);
printf("Game Over for you");
break;
} else if(wordCompleta())
{
printf("YOU WIN");
break;
}
}
return 0;
}
Enviado em 08/03/2021 - 04:31h
Enviado em 08/03/2021 - 08:34h
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
char banco[30][30]=
{
"notebook",
"smartphone",
"pendrive",
"computador",
"seguraça"
};
char wordSorteada[30] = {0};
char wordDigitada[30] = {0};
void limpaWord()
{
const size_t tam = strlen(wordSorteada);
for(int r = 0; r < tam; r++)
{
wordDigitada[r] = '_';
}
}
void imprimirForca(int erro)
{
switch(erro)
{
case 0:
printf("\n-------\n");
printf("| \n");
printf("| \n");
printf("| \n");
break;
case 1:
printf("\n-------\n");
printf("| o\n");
printf("| \n");
printf("| \n");
break;
case 2:
printf("\n-------\n");
printf("| o\n");
printf("| / \n");
printf("| \n");
break;
case 3:
printf("\n-------\n");
printf("| o\n");
printf("| /| \n");
printf("| \n");
break;
case 4:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| \n");
break;
case 5:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \n");
break;
default:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \\ \n");
}
}
bool verifyLetter(char letra, char vetor[26])
{
const size_t tam2 = strlen(vetor);
for(int i = 0; i < tam2; i++)
{
if(letra == vetor[i])
{
return true;
}
}
return false;
}
void alocandoLetra(char letra)
{
const size_t tam = strlen(wordSorteada);
for(int i = 0; i < tam; i++)
{
if(wordSorteada[i] == letra)
{
wordDigitada[i] = letra;
}
}
}
void letrasDigitadas(char let[26], int tam)
{
printf("\nJá fora digitadas: ");
const size_t len = strlen(let);
for(int r = 0; r < len; r++)
{
printf("%c,", let[r]);
}
printf("\n");
}
bool wordCompleta()
{
const size_t tam = strlen(wordSorteada);
for(int r=0;r<tam;r++)
{
if(wordDigitada[r] == '_')
{
return false;
}
}
return true;
}
int main()
{
srand(time(NULL));
int palavra = rand() % 5;
strcpy(wordSorteada, banco[palavra]);
limpaWord();
int contLetras = 0;
int contaErros = 0;
char letraDig[26] = {0};
char letter;
while(contaErros<=6)
{
const size_t tam = strlen(wordSorteada);
imprimirForca(contaErros);
printf("\n%zu letras\n%s", tam, wordDigitada);
letrasDigitadas(letraDig, contLetras);
printf("\n\nTentativas restantes: %d\n", 6-contaErros);
printf("\n\n");
printf("Digite uma letra: \n");
scanf("%c", &letter);
if(strchr(letraDig, letter)!=NULL)//verifyLetter(letter, letraDig)
{
printf("\nEssa letra já foi digitada\nTente novament\n");
break;
} else
{
letraDig[contLetras] = letter;
contLetras++;
if(strchr(wordSorteada, letter)!=NULL)//verifyLetter(letter, wordSorteada)
{
alocandoLetra(letter);
} else
{
printf("Letra incorreta\nTente novamente\n\n");
contaErros++;
break;
}
}
if(contaErros>=6)
{
setenv("PATH", "/bin:/usr/bin", 1);
printf("Game Over for you");
break;
} else if(wordCompleta())
{
printf("YOU WIN");
break;
}
}
return 0;
}
Enviado em 08/03/2021 - 15:51h
Enviado em 08/03/2021 - 22:16h
Enviado em 08/03/2021 - 22:29h
Instale uma distro dentro de outra
Montando HD, Pendrive ou Pasta de Rede para Gravações de Ligações do Elastix e Módulo de Call Center
Como redimensionar o menu de aplicativos do KDE plasma 5.21
Instalando Drivers NVIDIA no Ubuntu 20.04
Torrent, Empresas começam a ir atrás de quem baixa conteúdo ilegal. (38)
Redirecionar o acesso a uma aplicação no Mikrotik (0)