store solution
prints out menu
gets selection
1 for game
2 for solution
3 to exit
if 1 then go to game
do{
prints board
gets row and column
store row and column
gets row2 and column2
store row2 and column2
}while(row,row2,column,column2 != 0, > 4);
prints board
if row=row2 and column = column2
prints board
match++
else
reset the value of row,row2,column,column2;
and somehow it validates twice.. after it matches then its somehow go to the next if.. and prints it did not match.
need help
here's my code
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <Windows.h>
void solBoard()
{
char solution[5][5] = {{5,2,1,67},{3,6,4,65},{1,65,2,5},{6,4,67,3}};
printf("---------\n");
printf("|%c|%c|%c|%c|\n",solution[0][0],solution[0][1],solution[0][2],solution[0][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",solution[1][0],solution[1][1],solution[1][2],solution[1][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",solution[2][0],solution[2][1],solution[2][2],solution[2][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",solution[3][0],solution[3][1],solution[3][2],solution[3][3]);
printf("---------\n");
}
void board()
{
char question[5][5] = {{63,63,63,63},{63,63,63,63},{63,63,63,63},{63,63,63,63}};
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[0][0],question[0][1],question[0][2],question[0][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[1][0],question[1][1],question[1][2],question[1][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[2][0],question[2][1],question[2][2],question[2][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[3][0],question[3][1],question[3][2],question[3][3]);
printf("---------\n");
}
void mainMenu()
{
for(int i = 0; i < 25; i++)
{
if(i == 0)
{
printf(" E. Card Matching Program");
}else if(i == 21)
{
printf("Main Menu: \n");
printf("1. Play Game\n");
printf("2. Solution\n");
printf("3. Exit\n");
i = i + 4;
}else
printf("\n");
}
}
void keyAnswer()
{
char solution[5][5] = {{5,2,1,67},{3,6,4,65},{1,65,2,5},{6,4,67,3}};
for(int i = 0; i < 25; i++)
{
if(i == 10)
{
printf("The solution is \n");
solBoard();
}else if(i == 13)
{
i = i + 9;
}else
printf("\n");
}
}
int main()
{
int select;
char solution[5][5] = {{5,2,1,67},{3,6,4,65},{1,65,2,5},{6,4,67,3}};
char question[5][5] = {{63,63,63,63},{63,63,63,63},{63,63,63,63},{63,63,63,63}};
do
{
system("cls");
mainMenu();
printf("%s","Please enter your selection[1..3]: ");
scanf("%d", &select);
fflush(stdin);
if(select == 1)
{
int column = 0;
int row = 0;
int match = 0;
for(int i = 0; i < 25; i++)
{
//do
//{
if(i == 0)
{
system("cls");
i = i + 9;
}else if(i == 24)
{
int match = 0;
int x = 0,y = 0;
int x1 = 0,y1 =0;
char solution[5][5] = {{5,2,1,67},{3,6,4,65},{1,65,2,5},{6,4,67,3}};
char question[5][5] = {{63,63,63,63},{63,63,63,63},{63,63,63,63},{63,63,63,63}};
char question2[5][5] = {{63,63,63,63},{63,63,63,63},{63,63,63,63},{63,63,63,63}};
char solution2[5][5] = {{63,63,63,63},{63,63,63,63},{63,63,63,63},{63,63,63,63}};
do
{
system("cls");
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[0][0],question[0][1],question[0][2],question[0][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[1][0],question[1][1],question[1][2],question[1][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[2][0],question[2][1],question[2][2],question[2][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[3][0],question[3][1],question[3][2],question[3][3]);
printf("---------\n");
//printf("%c",question[x][y]);
do
{
printf("%s","Please input column[1..4][0 to exit]: ");
scanf("%d", &x);
fflush(stdin);
printf("%s","Please input row[1..4][0 to exit]: ");
scanf("%d", &y);
fflush(stdin);
question[x-1][y-1] = solution[x-1][y-1];
solution2[x-1][y-1] = solution[x-1][y-1];
system("cls");
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[0][0],question[0][1],question[0][2],question[0][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[1][0],question[1][1],question[1][2],question[1][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[2][0],question[2][1],question[2][2],question[2][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[3][0],question[3][1],question[3][2],question[3][3]);
printf("---------\n");
getchar();
system("cls");
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[0][0],question[0][1],question[0][2],question[0][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[1][0],question[1][1],question[1][2],question[1][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[2][0],question[2][1],question[2][2],question[2][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[3][0],question[3][1],question[3][2],question[3][3]);
printf("---------\n");
printf("%s","Please input column to match[1..4][0 to exit]: ");
scanf("%d", &x1);
fflush(stdin);
printf("%s","Please input row to match[1..4][0 to exit]: ");
scanf("%d", &y1);
fflush(stdin);
question2[x1-1][y1-1] = solution[x1-1][y1-1];
question[x1-1][y1-1] = question2[x1-1][y1-1];
printf("\n\n Pick # 1 = %c", solution2[x-1][y-1]);
printf("\n\n Pick # 2 = %c", question[x1-1][y1-1]);
}while(x > 4 || y > 4 || x1 > 4 || y1 > 4);
if(question[x1-1][y1-1] == solution2[x-1][y-1])
{
printf("match!");
match++;
question[x-1][y-1] = '\0';
question[x1-1][y1-1] = '\0';
getchar();
system("cls");
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[0][0],question[0][1],question[0][2],question[0][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[1][0],question[1][1],question[1][2],question[1][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[2][0],question[2][1],question[2][2],question[2][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[3][0],question[3][1],question[3][2],question[3][3]);
printf("---------\n");
printf("new value qx-1 y-1 = %c\n",question[x-1][y-1]);
printf("new value qx1-1 y1-1 = %c\n",question[x1-1][y1-1]);
getchar();
}
else if(question[x1-1][y1-1] != solution[x-1][y-1])
{
printf("did not match!");
getchar();
system("cls");
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[0][0],question[0][1],question[0][2],question[0][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[1][0],question[1][1],question[1][2],question[1][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[2][0],question[2][1],question[2][2],question[2][3]);
printf("---------\n");
printf("|%c|%c|%c|%c|\n",question[3][0],question[3][1],question[3][2],question[3][3]);
printf("---------\n");
printf("before value qx-1 y-1 = %c\n",question[x-1][y-1]);
printf("before value qx1-1 y1-1 = %c\n",question[x1-1][y1-1]);
question[x1-1][y1-1] = 63;
question[x-1][y-1] = 63;
printf("new value qx1-1 y1-1 = %c\n",question[x1-1][y1-1]);
printf("new value qx-1 y-1 = %c\n",question[x-1][y-1]);
getchar();
}
getchar();
system("cls");
}while(match < 8);
} else
printf("\n");
//}while(match < 8);
}
}
if(select == 2)
{
system("cls");
keyAnswer();
getchar();
}
}while(select != 3);
//getchar();
}


Sign In
Create Account

Back to top









