// headers
#ifndef FENPRINCIPALE_H
#define FENPRINCIPALE_H
#include <QtGui>
class FenPrincipale
: public QWidget{
Q_OBJECT
public:
FenPrincipale();
private slots:
void genererCC(int **);
private:
int M [10][10];
};
#endif
/////////////////Second Header//////////////////
#ifndef FENCC_H
#define FENCC_H
#include <QtGui>
{
public:
private:
private slots:
};
#endif
///FenPrincipale.cpp
#include "FenPrincipale.h"
#include "FenCC.h"
FenPrincipale::FenPrincipale()
{ int o,p;
for (o=0; o<10; o++)
{
for (p=0; p<10; p++)
{
M[o][p]=0;
}
}
M[0][3]=1;
M[0][9]=1;
M[2][6]=1;
M[3][5]=1;
M[5][3]=1;
M[2][4]=1;
M[4][2]=1;
paintEvent(e,M);
connect(generer, SIGNAL(clicked()), this, SLOT(genererCC(M)));
}
void FenPrincipale::genererCC(int **M)
{
FenCC *fenetreCC = new FenCC( this , M);
fenetreCC->exec();
}
void FenPrincipale
::paintEvent(QPaintEvent *e,
int **M
) {
int tour=0;
int x=10;
int y=10;
int Num_Sommet=0;
int T_Coordonnees [10][3];
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
(T_Coordonnees[Num_Sommet][0])=x;
(T_Coordonnees[Num_Sommet][1])=y;
(T_Coordonnees[Num_Sommet][2])=tour;
if (tour==0)
{
x+=35;
tour=1;
}
else
{
y+=55;
tour=0;
}
}
int w1=0;
int w2=0;
int cpt=10;
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
if ((T_Coordonnees[Num_Sommet][2])==1)
{
if(w1==0)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
w1=1;
}
else
{
if(w1==1)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
w1=0;
cpt=cpt+15;
}
}
if (Num_Sommet==9)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
else
{
if(w2==0)
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
w2=1;
}
else
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
w2=0;
cpt=cpt+15;
}
if (Num_Sommet==4)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
}
int i,j;
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if (M[i][j]==1)
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
}
}
}
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if ((M[i][j]==1) && (M[j][i]==1))
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
if( (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45) )
{
painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
}
else
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
}
}
}
}
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
QPoint point
= QPoint( (((T_Coordonnees
[Num_Sommet
][0])+15)),
((T_Coordonnees
[Num_Sommet
][1])+15) );
str.setNum(Num_Sommet);
painter.drawText( point,str);
}
}
///////FenCC.cpp
#include "FenCC.h"
{
paintEvent(c,M);
connect(fermer, SIGNAL(clicked()), this, SLOT(accept()));
}
{
int tour=0;
int x=10;
int y=10;
int Num_Sommet=0;
int T_Coordonnees [10][3];
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
(T_Coordonnees[Num_Sommet][0])=x;
(T_Coordonnees[Num_Sommet][1])=y;
(T_Coordonnees[Num_Sommet][2])=tour;
if (tour==0)
{
x+=35;
tour=1;
}
else
{
y+=55;
tour=0;
}
}
int w1=0;
int w2=0;
int cpt=10;
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
if ( (T_Coordonnees[Num_Sommet][2])==1)
{
if(w1==0)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
w1=1;
}
else
{
if(w1==1)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
w1=0;
cpt=cpt+15;
}
}
if (Num_Sommet==9)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
else
{
if(w2==0)
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
w2=1;
}
else
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
w2=0;
cpt=cpt+15;
}
if (Num_Sommet==4)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
}
int i,j;
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if (M[i][j]==1)
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
}
}
}
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if ((M[i][j]==1) && (M[j][i]==1))
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
if( (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45) )
{
painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
}
else
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
}
}
}
}
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
QPoint point
= QPoint( (((T_Coordonnees
[Num_Sommet
][0])+15)),
((T_Coordonnees
[Num_Sommet
][1])+15) );
str.setNum(Num_Sommet);
painter.drawText( point,str);
}
}
///////////////////main.cpp
#include <QApplication>
#include "FenPrincipale.h"
int main(int argc, char* argv[])
{
FenPrincipale fenetre;
fenetre.show();
return app.exec();
}
// headers
#ifndef FENPRINCIPALE_H
#define FENPRINCIPALE_H
#include <QtGui>
class FenPrincipale : public QWidget
{
Q_OBJECT
public:
FenPrincipale();
private slots:
void genererCC(int **);
void paintEvent(QPaintEvent *,int **);
private:
QPainter *painter;
int M [10][10];
QPushButton *generer;
};
#endif
/////////////////Second Header//////////////////
#ifndef FENCC_H
#define FENCC_H
#include <QtGui>
class FenCC : public QDialog
{
public:
FenCC ( QWidget *parent , int **);
private:
QPushButton *fermer;
QPainter *painter;
private slots:
void paintEvent (QPaintEvent *, int **);
};
#endif
///FenPrincipale.cpp
#include "FenPrincipale.h"
#include "FenCC.h"
FenPrincipale::FenPrincipale()
{ int o,p;
for (o=0; o<10; o++)
{
for (p=0; p<10; p++)
{
M[o][p]=0;
}
}
M[0][3]=1;
M[0][9]=1;
M[2][6]=1;
M[3][5]=1;
M[5][3]=1;
M[2][4]=1;
M[4][2]=1;
QPaintEvent *e;
paintEvent(e,M);
generer = new QPushButton("&Générer !",this);
connect(generer, SIGNAL(clicked()), this, SLOT(genererCC(M)));
}
void FenPrincipale::genererCC(int **M)
{
FenCC *fenetreCC = new FenCC( this , M);
fenetreCC->exec();
}
void FenPrincipale::paintEvent(QPaintEvent *e, int **M)
{
QPainter painter(this);
int tour=0;
int x=10;
int y=10;
int Num_Sommet=0;
int T_Coordonnees [10][3];
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
(T_Coordonnees[Num_Sommet][0])=x;
(T_Coordonnees[Num_Sommet][1])=y;
(T_Coordonnees[Num_Sommet][2])=tour;
if (tour==0)
{
x+=35;
tour=1;
}
else
{
y+=55;
tour=0;
}
}
int w1=0;
int w2=0;
int cpt=10;
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
if ((T_Coordonnees[Num_Sommet][2])==1)
{
if(w1==0)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
w1=1;
}
else
{
if(w1==1)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
w1=0;
cpt=cpt+15;
}
}
if (Num_Sommet==9)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
else
{
if(w2==0)
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
w2=1;
}
else
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
w2=0;
cpt=cpt+15;
}
if (Num_Sommet==4)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
}
int i,j;
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if (M[i][j]==1)
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
}
}
}
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if ((M[i][j]==1) && (M[j][i]==1))
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
if( (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45) )
{
painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
}
else
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
}
}
}
}
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
QPoint point = QPoint( (((T_Coordonnees[Num_Sommet][0])+15)), ((T_Coordonnees[Num_Sommet][1])+15) );
QString str;
str.setNum(Num_Sommet);
painter.drawText( point,str);
}
}
///////FenCC.cpp
#include "FenCC.h"
FenCC::FenCC( QWidget *parent = 0 , int **M) :QDialog(parent)
{
QPaintEvent *c;
paintEvent(c,M);
fermer = new QPushButton("Fermer",this);
connect(fermer, SIGNAL(clicked()), this, SLOT(accept()));
}
void FenCC::paintEvent(QPaintEvent *c ,int **M)
{
QPainter painter(this);
int tour=0;
int x=10;
int y=10;
int Num_Sommet=0;
int T_Coordonnees [10][3];
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
(T_Coordonnees[Num_Sommet][0])=x;
(T_Coordonnees[Num_Sommet][1])=y;
(T_Coordonnees[Num_Sommet][2])=tour;
if (tour==0)
{
x+=35;
tour=1;
}
else
{
y+=55;
tour=0;
}
}
int w1=0;
int w2=0;
int cpt=10;
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
if ( (T_Coordonnees[Num_Sommet][2])==1)
{
if(w1==0)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
w1=1;
}
else
{
if(w1==1)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
w1=0;
cpt=cpt+15;
}
}
if (Num_Sommet==9)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
else
{
if(w2==0)
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
w2=1;
}
else
{
(T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
w2=0;
cpt=cpt+15;
}
if (Num_Sommet==4)
{
(T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
}
}
painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
}
int i,j;
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if (M[i][j]==1)
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
}
}
}
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
if ((M[i][j]==1) && (M[j][i]==1))
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
if( (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45) )
{
painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
}
else
{
painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
}
}
}
}
Num_Sommet=0;
for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
{
QPoint point = QPoint( (((T_Coordonnees[Num_Sommet][0])+15)), ((T_Coordonnees[Num_Sommet][1])+15) );
QString str;
str.setNum(Num_Sommet);
painter.drawText( point,str);
}
}
///////////////////main.cpp
#include <QApplication>
#include "FenPrincipale.h"
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
FenPrincipale fenetre;
fenetre.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
I respectly repeat that the most important is not this code , but only how to declare the two dimensionned array in the headers and use it in the ".cpp" extensionned files.
Bookmarks