#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char senha [4], numeros[4], existe[5], mesmapos[5], opcao = 'S';
int i = 0, j = 0, k = 0, indice_existe = 0, indice_mesmapos = 0;
existe[5] = '\0';
mesmapos[5] = '\0';
while ( opcao == 'S' )
{
//Zera vetores
memset(existe, '\0', sizeof(existe) );
memset(mesmapos, '\0', sizeof(mesmapos) );
memset(senha, '\0', sizeof(senha) );
// Numero de tentativas
for ( i = 1; i <= 10; i++ )
{
printf("\n\t\t\tJogo da Senha\n\nsenha jogador1 : ");
fflush(stdin);
for (i=0;i<4;i++)
scanf("%s" , &senha [i]);
// Zera controladores de indice
indice_existe = 0;
indice_mesmapos = 0;
// Valores do segundo jogador
printf("Tentativa numero %d\nsenha jogador2 :\n", i);
fflush( stdin );
scanf("%s", numeros);
for ( j = 0; j < 4; j++ ) // Para numeros[]
{
for ( k = 0; k < 4; k++ ) // Para senha[]
{
if ( ( numeros[j] == senha[k] ) && ( indice_existe < 4 ) ) // Se existir, insere na lista existe[]
{
existe[indice_existe] = numeros[j];
indice_existe++;
if ( j == k ) // E se estiver na mesma posicao, insere na lista mesmapos[]
{
mesmapos[indice_mesmapos] = numeros[j];
indice_mesmapos++;
}
}
}
}
// Lista valores do usuario que existem na senha
for ( j = 0; existe[j] != '\0'; j++ )
printf("Tem na senha: %c\n", existe[j] );
// Lista valores do usuario que existem na senha e estão na mesma posicao
for ( j = 0; mesmapos[j] != '\0'; j++ )
{
printf("Mesma posicao: %c\n", mesmapos[j] );
if ( j == 3 )
{
printf("Parabens, acertou!!\n");
return 0;
}
}
}
printf("Infelizmente voce errou!\n");
printf("Deseja jogar novamente? (S/N)\n");
fflush(stdin);
scanf("%c", &opcao );
opcao = toupper( opcao );
}
return 0;
}
adicionado 5 minutos depois
Galera meu código precisa que salve a senha digitada pelo jogador 1 e o jogador 2 tente descobrir, mas quando acabo de digitar a senha do jogador 1 o codigo não segue para pedir a senha do jogador 2.