Meu problema: estou terminando um quadrado magico e meu ultimo problema é que não consigo usar o case 9 sem que o programa faça as somas e aplique as regras do jogo. já sei que meu problema é no laço for necessario para o continue em cada case. Alguma sugestao?
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void impMat(void)
{
int i,j;
int M[3][3];
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
M[i][j] = (i*3)+j+1;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
printf("\tP%d", M[i][j]);
printf("\n\n\n");
}
}
void alteraMat(int N[3][3])
{
for(int i=0; i<3; i++)
{
printf("\t\t\t\t");
for(int j=0; j<3; j++)
printf("\t%d", N[i][j]);
printf("\n\n\n");
}
}
void iniciaMat(int X[3][3])
{
int i, j;
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
X[i][j] = 0;
}
int main(void)
{
int i, j, n, num[3][3];
int opcao;
int contl1, contl2, contl3, contc1, contc2, contc3, contdp, contds;
iniciaMat(num);
impMat();
for(opcao=0; opcao<10; opcao++)
{
printf("\n\tEscolha uma posicao entre 1 e 9: ");
scanf("%d",&opcao);
switch(opcao)
{
case 1:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[0][0]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 2:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[0][1]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 3:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[0][2]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 4:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[1][0]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 5:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[1][1]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 6:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[1][2]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 7:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[2][0]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 8:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[2][1]=n;
system("cls");
impMat();
alteraMat(num);
continue;
case 9:
printf("\n\tDigite o valor: ");
scanf("%d", &n);
num[2][2]=n;
system("cls");
impMat();
alteraMat(num);
continue;
default:
system ("cls");
printf("\n\n\n\t\t ESTA OPCAO não EXISTE");
printf("\n\n\n\n\t\tNinguem mandou digitar errado! O programa sera fechado!");
getch();
exit(0);
}
}
contl1=num[0][0]+num[0][1]+num[0][2];
contl2=num[1][0]+num[1][1]+num[1][2];
contl3=num[2][0]+num[2][1]+num[2][2];
contc1=num[0][0]+num[1][0]+num[2][0];
contc2=num[0][1]+num[1][1]+num[2][1];
contc3=num[0][2]+num[1][2]+num[2][2];
contdp=num[0][0]+num[1][1]+num[2][2];
contds=num[0][2]+num[1][1]+num[2][0];
{
if(contl1==contl2 && contl3==contc1 && contc2==contc3 && contdp==contds)
printf("\n\n\tPARABENS. Voce formou um quadrado magico!\n\n\t");
else
printf("\n\tVoce perdeu!\n\n\t");
}
getch();
}
Pergunta
RZatti
Boa noite..
Meu problema: estou terminando um quadrado magico e meu ultimo problema é que não consigo usar o case 9 sem que o programa faça as somas e aplique as regras do jogo. já sei que meu problema é no laço for necessario para o continue em cada case. Alguma sugestao?
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.