Prezados(as)
Solicito auxílio no desenvolvimento de uma função onde, quando digitado seu respectivo número de alternativa, exibe dicas para solucionar "Puzzle" segue o código até o momento:
Ordem da atividade:
Teste de Einstein:
- Há 5 estabelecimentos de diferentes cores;
- Em cada estabelecimento há uma pessoa de uma diferente nacionalidade;
- Esses 5 proprietários vendem diferentes bebidas, diferentes tipos de cigarros e têm um certo animal de estimação;
- Nenhum deles têm o mesmo animal, o mesmo cigarro ou a mesma bebida.
O programa deverá disponibilizar as seguintes dicas para o usuário:
- O Norueguês vive no primeiro estabelecimento;
- O Inglês vive na casa Vermelha;
- O Sueco tem Cachorros como animais de estimação;
- O Dinamarquês vende Chá;
- A casa Verde fica do lado esquerdo da casa Branca;
- O homem que vive na casa Verde vende Café;
- O homem que vende Pall Mall cria Pássaros;
- O homem que vive na casa Amarela vende Dunhill;
- O homem que vive na casa do meio vende Leite;
- O homem que vende Blends vive ao lado do que tem Gatos;
- O homem que cria Cavalos vive ao lado do que vende Dunhill;
- O homem que vende BlueMaster vende Cerveja;
- O Alemão vende Prince;
- O Norueguês vive ao lado da casa Azul;
- O homem que vende Blends é vizinho do que vende Água.
A ideia é disponibilizar para o usuário uma matriz 5x5 de forma que a mesma seja atualizada onde cada campo seja preenchido de acordo com as informações passadas pelo usuário (linha, coluna, opção).
#include <stdio.h>
#include <stdlib.h>
#define MAX 5
int mostra_tabela (void);
void mostra_dicas (void);
int mostra_opcoes (void);
void exibe_linhas (int linha);
int matriz[MAX][MAX];
int main(void) {
int linha, coluna, opcao;
for(linha=0; linha<MAX; linha++) {
for(coluna=0; coluna<MAX; coluna++) {
matriz[linha][coluna]=-1;
}
}
puts("\n-- Teste de Einstein --");
puts("\n-- MENU --");
puts("\n1 - Mostra Tabela");
puts("\n2 - Mostra Dicas");
puts("\n3 - Sair");
fflush(stdout);
scanf("%d", &opcao);
while (opcao != 3) {
switch(opcao) {
case 1:
system("cls");
mostra_tabela();
break;
case 2:
system("cls");
mostra_dicas();
break;
}
}
return EXIT_SUCCESS;
}
int mostra_tabela(void) {
int linha, coluna, opcao;
printf("\n \tCasa 0 \t Casa 1\t Casa 2\t Casa 3\t Casa 4\n\n");
for(linha=0; linha<MAX; linha++) {
exibe_linhas(linha);
for(coluna=0; coluna<MAX; coluna++) {
printf("%d \t", matriz[linha][coluna]);
}
puts("\n");
}
mostra_opcoes();
puts("\n\n");
puts("Entre com a linha:");
fflush(stdout);
scanf("%d", &linha);
puts("Entre com a coluna:");
fflush(stdout);
scanf("%d", &coluna);
puts("Entre com a opcao:");
fflush(stdout);
scanf("%d", &opcao);
matriz[linha][coluna]=opcao;
return 0;
}
void mostra_dicas(void) {
}
void exibe_linhas(int linha) {
if (linha == 0) {
printf("%d-Cor \t", linha);
}
else if (linha == 1) {
printf("%d-Nacion. \t", linha);
}
else if (linha == 2) {
printf("%d-Bebida \t", linha);
}
else if (linha == 3) {
printf("%d-Cigarro \t", linha);
}
else {
printf("%d-Animal \t", linha);
}
}
int mostra_opcoes(void) {
printf("\nCor: \t10-Amarelo\t11-Azul\t12-Branca\t13-Verde\t14-Vermelho");
printf("\nNacion.:\t20-Alemao\t21-Dinamarques\t22-Ingles\t23-Noruegues\t24-Sueco");
printf("\nBebida: \t30-Agua\t31-Cafe\t32-Cerveja\t33-Cha\t34-Leite");
printf("\nCigarro:\t40-Blends\t41-Bluemaster\t42-Dunhill\t43-Pall Mall\t44-Prince");
printf("\nAnimal: \t50-Cachorro\t51-Gato\t52-Passaro\t53-Cavalo\t54-peixe");
return 0;
}
Por volta da linha 79, onde há um void para "dicas", nesta específica parte encontrei dificuldade para desenvolver o algoritmo, como podem ver, é bem simples o código, apenas nesta parte encontrei dificuldade. Se digitado "2" deverá aparecer as dicas, conforme for preenchida a matriz, as dicas deverão ser eliminadas, esta é minha maior dificuldade até o momento, pois sou iniciante nesta área.
Agradeço a atenção.
PS: Utilizo a versão mais recente do C++
Solicito auxílio no desenvolvimento de uma função onde, quando digitado seu respectivo número de alternativa, exibe dicas para solucionar "Puzzle" segue o código até o momento:
Ordem da atividade:
Teste de Einstein:
- Há 5 estabelecimentos de diferentes cores;
- Em cada estabelecimento há uma pessoa de uma diferente nacionalidade;
- Esses 5 proprietários vendem diferentes bebidas, diferentes tipos de cigarros e têm um certo animal de estimação;
- Nenhum deles têm o mesmo animal, o mesmo cigarro ou a mesma bebida.
O programa deverá disponibilizar as seguintes dicas para o usuário:
- O Norueguês vive no primeiro estabelecimento;
- O Inglês vive na casa Vermelha;
- O Sueco tem Cachorros como animais de estimação;
- O Dinamarquês vende Chá;
- A casa Verde fica do lado esquerdo da casa Branca;
- O homem que vive na casa Verde vende Café;
- O homem que vende Pall Mall cria Pássaros;
- O homem que vive na casa Amarela vende Dunhill;
- O homem que vive na casa do meio vende Leite;
- O homem que vende Blends vive ao lado do que tem Gatos;
- O homem que cria Cavalos vive ao lado do que vende Dunhill;
- O homem que vende BlueMaster vende Cerveja;
- O Alemão vende Prince;
- O Norueguês vive ao lado da casa Azul;
- O homem que vende Blends é vizinho do que vende Água.
A ideia é disponibilizar para o usuário uma matriz 5x5 de forma que a mesma seja atualizada onde cada campo seja preenchido de acordo com as informações passadas pelo usuário (linha, coluna, opção).
#include <stdio.h>
#include <stdlib.h>
#define MAX 5
int mostra_tabela (void);
void mostra_dicas (void);
int mostra_opcoes (void);
void exibe_linhas (int linha);
int matriz[MAX][MAX];
int main(void) {
int linha, coluna, opcao;
for(linha=0; linha<MAX; linha++) {
for(coluna=0; coluna<MAX; coluna++) {
matriz[linha][coluna]=-1;
}
}
puts("\n-- Teste de Einstein --");
puts("\n-- MENU --");
puts("\n1 - Mostra Tabela");
puts("\n2 - Mostra Dicas");
puts("\n3 - Sair");
fflush(stdout);
scanf("%d", &opcao);
while (opcao != 3) {
switch(opcao) {
case 1:
system("cls");
mostra_tabela();
break;
case 2:
system("cls");
mostra_dicas();
break;
}
}
return EXIT_SUCCESS;
}
int mostra_tabela(void) {
int linha, coluna, opcao;
printf("\n \tCasa 0 \t Casa 1\t Casa 2\t Casa 3\t Casa 4\n\n");
for(linha=0; linha<MAX; linha++) {
exibe_linhas(linha);
for(coluna=0; coluna<MAX; coluna++) {
printf("%d \t", matriz[linha][coluna]);
}
puts("\n");
}
mostra_opcoes();
puts("\n\n");
puts("Entre com a linha:");
fflush(stdout);
scanf("%d", &linha);
puts("Entre com a coluna:");
fflush(stdout);
scanf("%d", &coluna);
puts("Entre com a opcao:");
fflush(stdout);
scanf("%d", &opcao);
matriz[linha][coluna]=opcao;
return 0;
}
void mostra_dicas(void) {
}
void exibe_linhas(int linha) {
if (linha == 0) {
printf("%d-Cor \t", linha);
}
else if (linha == 1) {
printf("%d-Nacion. \t", linha);
}
else if (linha == 2) {
printf("%d-Bebida \t", linha);
}
else if (linha == 3) {
printf("%d-Cigarro \t", linha);
}
else {
printf("%d-Animal \t", linha);
}
}
int mostra_opcoes(void) {
printf("\nCor: \t10-Amarelo\t11-Azul\t12-Branca\t13-Verde\t14-Vermelho");
printf("\nNacion.:\t20-Alemao\t21-Dinamarques\t22-Ingles\t23-Noruegues\t24-Sueco");
printf("\nBebida: \t30-Agua\t31-Cafe\t32-Cerveja\t33-Cha\t34-Leite");
printf("\nCigarro:\t40-Blends\t41-Bluemaster\t42-Dunhill\t43-Pall Mall\t44-Prince");
printf("\nAnimal: \t50-Cachorro\t51-Gato\t52-Passaro\t53-Cavalo\t54-peixe");
return 0;
}
Por volta da linha 79, onde há um void para "dicas", nesta específica parte encontrei dificuldade para desenvolver o algoritmo, como podem ver, é bem simples o código, apenas nesta parte encontrei dificuldade. Se digitado "2" deverá aparecer as dicas, conforme for preenchida a matriz, as dicas deverão ser eliminadas, esta é minha maior dificuldade até o momento, pois sou iniciante nesta área.
Agradeço a atenção.
PS: Utilizo a versão mais recente do C++