El tipico juego en el cual la suma de todos los lados debe dar 15, no se puede repetir ningun numero y solo de 0-9.
/*
Nombre: KeY eSt
Copyright: 21021477 (c)
Fecha: 24/05/08 19:22
*/
#include<iostream>
#include<fstream>
using namespace std;
class cuadro
{
private:
int num[3][3];
int sin;
int l[8];
public:
void start();
void sig();
void writer();
cuadro();
};
/////////////////////////////////////////////////////////////////
cuadro::cuadro()
{
sin=0;
}
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
void cuadro::start()
{
system ("cls");
cout<<"**********************"<<endl;
cout<<"* * * *"<<endl;
cout<<"* 1 * 2 * 3 *"<<endl;
cout<<"* * * *"<<endl;
cout<<"**********************"<<endl;
cout<<"* * * *"<<endl;
cout<<"* 1 * 2 * 3 *"<<endl;
cout<<"* * * *"<<endl;
cout<<"**********************"<<endl;
cout<<"* * * *"<<endl;
cout<<"* 1 * 2 * 3 *"<<endl;
cout<<"* * * *"<<endl;
cout<<"**********************"<<endl;
cout<<endl<<endl<<"Bienvenidos al cuadro magico"<<endl<<endl<<endl;
cout<<"El juego ";
cout<<"consiste en introducir los numeros del 1 al 9, y al sumar :"<<endl;
cout<<"Horizontalmente debe dar 15"<<endl;
cout<<"Verticalmente debe dar 15"<<endl;
cout<<"Diagonalmente debe dar 15"<<endl;
cout<<"(Ningun numero debera repetirse)"<<endl;
cout<<endl<<"Estas listo para jugar ?"<<endl<<endl;
system ("pause > nul");
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
void cuadro::sig()
{
for (int a=0;a<3;++a)
{
for (int b=0;b<3;++b)
{
cout<<"Valor de la posicion "<<a<<","<<b<<","<<endl;
cin>>num[a][b];
}
}
//Suma para determinar si es 15
l[0]=num[0][0]+num[0][1]+num[0][2];
l[1]=num[1][0]+num[1][1]+num[1][2];
l[2]=num[2][0]+num[2][1]+num[2][2];
l[3]=num[0][0]+num[1][0]+num[2][0];
l[4]=num[0][1]+num[1][1]+num[2][1];
l[5]=num[0][2]+num[1][2]+num[2][2];
l[6]=num[0][0]+num[1][1]+num[2][2];
l[7]=num[0][2]+num[1][1]+num[2][0];
//linea 1
if (l[0]==15)
{cout<<endl<<"Linea #1 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #1 . . . "<<l[0]<<endl;}
//linea 2
if (l[1]==15)
{cout<<endl<<"Linea #2 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #2 . . . "<<l[1]<<endl;}
//linea 3
if (l[2]==15)
{cout<<endl<<"Linea #3 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #3 . . . "<<l[2]<<endl;}
//linea 4
if (l[3]==15)
{cout<<endl<<"Linea #4 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #4 . . . "<<l[3]<<endl;}
//linea 5
if (l[4]==15)
{cout<<endl<<"Linea #5 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #5 . . . "<<l[4]<<endl;}
//linea 6
if (l[5]==15)
{cout<<endl<<"Linea #6 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #6 . . . "<<l[5]<<endl;}
//linea 7
if (l[6]==15)
{cout<<endl<<"Linea #7 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #7 . . . "<<l[6]<<endl;}
//linea 8
if (l[7]==15)
{cout<<endl<<"Linea #8 . . . Ok"<<endl;
sin++;}
else
{cout<<endl<<"Linea #8 . . . "<<l[7]<<endl;}
cout<<endl<<endl<<endl<<"***************************************************************"<<endl<<endl;
cout<<"Gracias por participar en el cuadro magico"<<endl<<endl;
cout<<"Lineas acertadas : "<<sin<<endl;
cout<<endl;
if (sin==8)
{cout<<endl<<"Has ganado en el cuadro magico"<<endl;}
else
{cout<<"Lo sentimos has perdido, intentalo en una proxima ocasion"<<endl<<endl;}
cout<<"***************************************************************"<<endl<<endl;
system ("pause > nul");
}
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
void cuadro::writer()
{
ofstream res("Resultado.txt");
res <<"Resultado del cuadro magico"<<endl;
res <<"Total lineas acertadas : "<<sin<<endl;
if (sin==8)
{
res<<endl<<"Ganastes en el cuadro magico";
}
else
{
res<<"Perdistes en el cuadro magico";
}
res.close();
system ("pause > nul");
}
int main()
{
cuadro c;
c.start();
c.sig();
c.writer();
return 0;
}