Aller au contenu

Le truc dont tout le monde se branle...


ClarkGaybeul

Messages recommandés

Posté(e)

Faudrait qu'ils vous apprenent comment bien indenter votre code, parceque là :ninja:

Donc bah lis un document qui parle du style K&R et je songerais à lire la première ligne de ton code <_< . Je sais pas torp ce que ça fait mais 6/7 boucles embriquées ça doit faire du n^10 en complexité ça au moins :ninja:

Posté(e)
Faudrait qu'ils vous apprenent comment bien indenter votre code, parceque là :ninja:

Donc bah lis un document qui parle du style K&R et je songerais à lire la première ligne de ton code <_< . Je sais pas torp ce que ça fait mais 6/7 boucles embriquées ça doit faire du n^10 en complexité ça au moins :ninja:

Je sais, faut que je refasse cette partie du programme, ça a une sale gueule. J'my penche taleur. Sinon, le reste n'est pas bordélique, si?

K&R?

Posté(e) (modifié)
Je sais, faut que je refasse cette partie du programme, ça a une sale gueule. J'my penche taleur. Sinon, le reste n'est pas bordélique, si?

K&R?

The C Programming Language (sometimes referred to as K&R) is a well-known computer science book written by Brian Kernighan and Dennis Ritchie.

K&R pour le 2 inventeurs du C, Kernighan & Ritchie. <_<

K&R style

Modifié par BenBDF
Posté(e)
The C Programming Language (sometimes referred to as K&R) is a well-known computer science book written by Brian Kernighan and Dennis Ritchie.

K&R pour le 2 inventeurs du C, Kernighan & Ritchie. :ninja:

K&R style

okaych

Au passage, si quelqu'un a pris le codage du jeu le compte est bon, autant qu'il le remplace par ma dernière version:

//************************ Application console (C++)****************************

//******************************************************************************

//  PROGRAMME : Le compte est bon

//  DATE	  : 02/05/07

//  OBJET	 : ou pas

//  LIMITES   : ou pas

//  AUTEUR(S) : bluejark

//******************************************************************************

/* si vous construisez un projet et si vous utilisez une des bibliothèques de 

   iutupadte (cf. aide en ligne) : -1- décommentez la ligne suivante et cliquez 

   sur [projet|options du projet|parametre|editeur de lieus|ajouter fichier] 

   puis rechercher la(les) bibliothèque(s) *.a sous ...\dev-cpp\lib\iut_tlse3

   -2- dans le paragraphe suivant décommentez le(s) fichiers(s) d'entête *.h ou

   *.hpp qui permet(tent) d'inclure les déclaration des fonctions utilisées */

//#define _IUT_TLSE3_PROJ			   


/* Ce paragraphe permet de déclarer les fonctions des fichiers suivants : 

   conio-bis - gestion de fenêtres dos, de couleurs, lecture sans écho...

   dos-bis   - gestion du temps, attentes... 

   frame	 - tracé de cadres, grilles, traits, flèches... 

   transcode - affichage avec accents ou sans accent sous dos ou windows

   keys-fr   - liste des clés sous forme de noms symboliques 

   iutupdate - inclut tous les fichiers précédents en une seule fois

	  (cf le fichier de présentation iutupdate.pdf dans l'aide en ligne)

=> pour utiliser les bibliothèques "décommenter" les lignes correspondantes */

//#include <iut_tlse3\iutupdate.hpp>  //inclut en une fois tous les fichiers 

//#include <iut_tlse3\frame.hpp>	  //inclut en outre conio-bis  

//#include <iut_tlse3\conio-bis.h>   

//#include <iut_tlse3\dos-bis.h>

//#include <iut_tlse3\transcode.hpp>

//#include <iut_tlse3\keys-fr.h>



#include <iostream>	// flux d'entrée sortie

#include <iomanip>	 // manipulateurs de flux			  

#include <cstdlib>	 // bibliothèque c standart

#include <stdlib.h>

#include <string.h>

#include <stdio.h>

#include <fstream>

#include <iut_tlse3\iutupdate.hpp>


using namespace std;   // permet d'utiliser les flux cin et cout


//*************************** Déclaration globale ******************************

/***** constante *****/


/******* type ********/

typedef int tabobjets [15];

typedef char regles[500];

/***** fonction ******/

void choix_menu (int &choixmenu)

{

	//Décla


	//Actions

	do{cout<<"1.Regles"<<endl<<"2.Le but defini"<<endl<<"3.Objets definis"<<endl<<"4.Random"<<endl;

	cin>>choixmenu;

	if(choixmenu!=1 && choixmenu!=2 && choixmenu!=3 && choixmenu!=4)

	cout<<endl<<"Mauvais choix."<<endl<<endl;

	}while(choixmenu!=1 && choixmenu!=2 && choixmenu!=3 && choixmenu!=4);

}


void choisirbut (int &lebut)

{

	//Décla


	//Actions

	do{

	cout<<"Donnez moi un chiffre entre 100 et 999"<<endl;

	cin>>lebut;

	}

	while (lebut<100 or lebut>999);

}


void choisirobjets (tabobjets &objets)

{

	//Décla

	int i,j;

	int etat;

	int a;

	//Actions

	for (i=0;i<6;i++)

	objets[i]=0;

	for (i=0;i<6;i++)

	{

	 do

	 {

	 etat=0;

	 cout<<endl<<"Donnez votre chiffre n°"<<i+1<<" :"<<endl;

	 cin>>objets[i];

	 if (objets[i]==1 or objets[i]==2 or objets[i]==3 or objets[i]==4 or objets[i]==5 or

	 objets[i]==6 or objets[i]==7 or objets[i]==8 or objets[i]==9 or objets[i]==10 or

	 objets[i]==25 or objets[i]==50 or objets[i]==75 or objets[i]==100)

		  {for (j=0;j<i;j++)

		   if (objets[i]!=objets[j])

		   {

		   etat=etat+0;

		   }

		   else etat=1;

		   }

	 else etat=1;

	 }

	 while (etat==1);

	 }

}

void creerbut (tabobjets objects, int &lebut)

{


	//Décla

	int i,j,k,inter;

	tabobjets objets;

	//Actions

	srand(time(NULL)); 

	do

	{

	for (k=0;k<6;k++)

	{objets[k]=objects[k];}

	i=rand()%6;

	lebut=objets[i];

	for (j=i;j<5;j++)

		objets[j]=objets[j+1];

	i=rand()%5;

	lebut=lebut*objets[i];

	for (j=i;j<4;j++)

		objets[j]=objets[j+1];

	i=rand()%4;

	inter=objets[i];

	for (j=i;j<3;j++)

		objets[j]=objets[j+1];

	i=rand()%3;

	lebut=lebut+objets[i]*inter;

	for(j=i;j<2;j++)

		objets[j]=objets[j+1];

	i=rand()%2;

	lebut=lebut*objets[i];

	for(j=i;j<1;j++)

		objets[j]=objets[j+1];

	lebut=lebut+objets[0];

	}

	while (lebut<100 || lebut>999);

}

void creerobjets (tabobjets &objets, int &possibilite, int lebut)

{

	//Décla

	tabobjets liste={1,2,3,4,5,6,7,8,9,10,25,50,75,100};

	int i,j,k,l,m,n,a,op;

	//Actions

	possibilite=0;

	for (i=0;i<14;i++)

		{for(j=0;j<14;j++)

			{for(k=0;k<14;k++)

				{for(l=0;l<14;l++)

					{for(m=0;m<14;m++)

						{for(n=0;n<14;n++)

							{if (i!=j && i!=k && i!=l && i!=m && i!=n && j!=k && j!=l && j!=m && j!=n && k!=l && k!=m && k!=n && l!=m && l!=n && m!=n)

								{srand(time(NULL));

								 op=rand()%4;

								 if(op==0)

								 {a=(liste[i]*liste[j])/(liste[k]+liste[l])-liste[m]+liste[n];}

								 else if(op==1)

								 {a=(liste[i]+liste[j])/(liste[k]*liste[l])+liste[m]-liste[n];}

								 else if (op==2)

								 {a=liste[i]*(liste[j]+(liste[k]*liste[l]))-(liste[m]*liste[n]);}

								 else

								 {a=(liste[i]-liste[j])*(liste[k]+liste[l])+liste[m]+liste[n];}

								 if(a==lebut)

									{possibilite=possibilite+1;

									 if (possibilite==1)

									{objets[0]=liste[i];

									 objets[1]=liste[j];

									 objets[2]=liste[k];

									 objets[3]=liste[l];

									 objets[4]=liste[m];

									 objets[5]=liste[n];

									 }

									 }

								}

							}

						}

					}

				}

			}

		}

} 

void genererbut(int &lebut)

{

	//Décla


	//Actions

	srand(time(NULL));	

	lebut=rand()%900+100;

}

void affichageobjetsbut (tabobjets &objets, int attempt)

{

	//Décla

	int i;

	//Actions

	  cout<<endl<<"Vos 6 nombres sont: "<<endl;

	  for (i=0;i<6;i++)

	  {cout<<objets[i]<<" ";

	  }

	  cout<<endl<<"Le but est: ";

	  cout<<attempt<<endl;

}

void traitement (tabobjets objects, int &lebut, int butreel)

{

	//Décla

	char op;

	int choix,a,b,i,test,valobjet;

	tabobjets objets;

	int testm,testd;

	//Actions

	do{

	for(i=0;i<6;i++)

	{objets[i]=objects[i];}

	testm=0;

	testd=0;

	cout<<endl<<"Faites votre premier calcul (validez à chaque étape)"<<endl;

	do{

	test=0;

	cin>>a;

	for(i=0;i<6;i++)

		{if (a==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<5;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	do{

	cin>>op;

	if (op!='+' && op!='-' && op!='/' && op!='*')

	cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;

	}

	while (op!='+' && op!='-' && op!='/' && op!='*');

	do{

	test=0;

	cin>>b;

	for(i=0;i<5;i++)

		{if (b==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<4;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	if(op=='*')

		{objets[4]=a*b;

		}

	else if(op=='/')

		objets[4]=a/b;

	else if (op=='+')

		objets[4]=a+b;

	else if (op=='-')

		objets[4]=a-b;

	if (objets[4]<0)

		{testm=1;}

	if(op=='/')

	{

	if((objets[4]*b)!=a)//Regarde si a/b ==  (a/b)*b, pour voir s'il n'y a pas troncature

		{testd=1;}

	}

	}while(testm==1 || testd==1);

	for(i=0;i<5;i++)

	cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];

	cout<<endl<<"Le but est: "<<butreel;

	do{

	cout<<endl<<"Voulez vous arrêter ici?0/1: ";

	cin>>choix;

	}

	while(choix!=0 && choix!=1);

	if (choix==1)

		{

		 do{

		 test=0;

		 cout<<endl<<"Entrez votre nombre";

		 cin>>lebut;

		 for(i=0;i<5;i++)

			 {if(lebut==objets[i])

				 {test=test+1;}

			  else test=test;

			 }

		 }while(test==0);

	cout<<endl<<"Votre total est "<<lebut;

	}

	else

	{

	do{

	testm=0;

	testd=0;

	cout<<endl<<"Faites votre deuxième calcul (validez à chaque étape)"<<endl;

	do{

	test=0;

	cin>>a;

	for(i=0;i<5;i++)

		{if (a==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<4;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	do{

	cin>>op;

	if (op!='+' && op!='-' && op!='/' && op!='*')

	cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;

	}

	while (op!='+' && op!='-' && op!='/' && op!='*');

	do{

	test=0;

	cin>>b;

	for(i=0;i<4;i++)

		{if (b==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<3;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	if(op=='*')

		{objets[3]=a*b;

		}

	else if(op=='/')

		objets[3]=a/b;

	else if (op=='+')

		objets[3]=a+b;

	else if (op=='-')

		objets[3]=a-b;

	if (objets[3]<0)

		{testm=1;}

	if(op=='/')

	{

	if((objets[3]*b)!=a)//Regarde si a/b ==  (a/b)*b, pour voir s'il n'y a pas troncature

		{testd=1;}

	}

	}while(testm==1 || testd==1);

	for(i=0;i<4;i++)

	cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];

	cout<<endl<<"Le but est: "<<butreel;

	do{

	cout<<endl<<"Voulez vous arrêter ici?0/1: ";

	cin>>choix;

	}while(choix!=0 && choix!=1);

	if (choix==1)

		{

		 do{

		 test=0;

		 cout<<endl<<"Entrez votre nombre";

		 cin>>lebut;

		 for(i=0;i<4;i++)

			 {if(lebut==objets[i])

				 {test=test+1;}

			  else test=test;

			 }

		 }while(test==0);

	cout<<endl<<"Votre total est "<<lebut<<endl;

	}

	else

	{

	do{

	testm=0;

	testd=0;

	cout<<endl<<"Faites votre troisième calcul (validez à chaque étape)"<<endl;

	do{

	test=0;

	cin>>a;

	for(i=0;i<4;i++)

		{if (a==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<3;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	do{

	cin>>op;

	if (op!='+' && op!='-' && op!='/' && op!='*')

	cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;

	}

	while (op!='+' && op!='-' && op!='/' && op!='*');

	do{

	test=0;

	cin>>b;

	for(i=0;i<3;i++)

		{if (b==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<2;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	if(op=='*')

		{objets[2]=a*b;

		}

	else if(op=='/')

		objets[2]=a/b;

	else if (op=='+')

		objets[2]=a+b;

	else if (op=='-')

		objets[2]=a-b;

	if (objets[2]<0)

		{testm=1;}

	if(op=='/')

	{

	if((objets[2]*b)!=a)//Regarde si a/b ==  (a/b)*b, pour voir s'il n'y a pas troncature

		{testd=1;}

	}

	}while(testm==1 || testd==1);

	for(i=0;i<3;i++)

	cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];

	cout<<endl<<"Le but est: "<<butreel;

	do{

	cout<<endl<<"Voulez vous arrêter ici?0/1: ";

	cin>>choix;

	}while(choix!=0 && choix!=1);

	if (choix==1)

		{

		 do{

		 test=0;

		 cout<<endl<<"Entrez votre nombre";

		 cin>>lebut;

		 for(i=0;i<3;i++)

			 {if(lebut==objets[i])

				 {test=test+1;}

			  else test=test;

			 }

		 }while(test==0);

	cout<<endl<<"Votre total est "<<lebut<<endl;

	}

	else

	{

	do{

	testm=0;

	testd=0;

	cout<<endl<<"Faites votre quatrième calcul (validez à chaque étape)"<<endl;

	do{

	test=0;

	cin>>a;

	for(i=0;i<3;i++)

		{if (a==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<2;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	do{

	cin>>op;

	if (op!='+' && op!='-' && op!='/' && op!='*')

	cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;

	}

	while (op!='+' && op!='-' && op!='/' && op!='*');

	do{

	test=0;

	cin>>b;

	for(i=0;i<2;i++)

		{if (b==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<1;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	if(op=='*')

		{objets[1]=a*b;

		}

	else if(op=='/')

		objets[1]=a/b;

	else if (op=='+')

		objets[1]=a+b;

	else if (op=='-')

		objets[1]=a-b;

	if (objets[1]<0)

		{testm=1;}

	if(op=='/')

	{

	if((objets[1]*b)!=a)//Regarde si a/b ==  (a/b)*b, pour voir s'il n'y a pas troncature

		{testd=1;}

	}

	}while(testm==1 || testd==1);

	for(i=0;i<2;i++)

	cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];

	cout<<endl<<"Le but est: "<<butreel;

	do{

	cout<<endl<<"Voulez vous arrêter ici?0/1: ";

	cin>>choix;

	}while(choix!=0 && choix!=1);

	if (choix==1)

		{

		 do{

		 test=0;

		 cout<<endl<<"Entrez votre nombre";

		 cin>>lebut;

		 for(i=0;i<2;i++)

			 {if(lebut==objets[i])

				 {test=test+1;}

			  else test=test;

			 }

		 }while(test==0);

	cout<<endl<<"Votre total est "<<lebut<<endl;

	}

	else

	{

	do{

	testm=0;

	testd=0;

	cout<<endl<<"Faites votre dernier calcul (validez a chaque etape)"<<endl;

	do{

	test=0;

	cin>>a;

	for(i=0;i<2;i++)

		{if (a==objets[i])

			{test=test+1;

			 valobjet=i;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}

	else {for(i=valobjet;i<1;i++)

			{objets[i]=objets[i+1];}

		 }

	}

	while (test==0);

	do{

	cin>>op;

	if (op!='+' && op!='-' && op!='/' && op!='*')

	cout<<"Mauvais choix d'operateur. Choix: +,-,*,/"<<endl;

	}

	while (op!='+' && op!='-' && op!='/' && op!='*');

	do{

	test=0;

	cin>>b;

	for(i=0;i<1;i++)

		{if (b==objets[i])

			{test=test+1;}

		else test=test;

		}

	if (test==0)

		{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}

	}

	while (test==0);

	if(op=='*')

		{objets[0]=a*b;

		}

	else if(op=='/')

		objets[0]=a/b;

	else if (op=='+')

		objets[0]=a+b;

	else if (op=='-')

		objets[0]=a-b;

	if (objets[0]<0)

		{testm=1;}

	if(op=='/')

	{

	if((objets[0]*b)!=a)//Regarde si a/b ==  (a/b)*b, pour voir s'il n'y a pas troncature

		{testd=1;}

	}

	}while(testm==1 || testd==1);

	lebut=objets[0];

	cout<<endl<<"Votre total est: "<<lebut<<endl;

	}

	}}}

}

void comparaison (int lebutreel, int lebututil, int &redemarrer)

{

	if (lebutreel==lebututil)

		{cout<<endl<<"Bravo! Le compte est bon.";

		 redemarrer=0;}

	else {cout<<endl<<"Dommage.. le compte est mauvais. Aha..";

		  do{

		  cout<<endl<<"Voulez vous refaire ce calcul?0/1: ";

		  cin>>redemarrer;

		  }while(redemarrer!=0 && redemarrer!=1);}

}	

//*************************** Programme principal ******************************

int main (int argc, char *argv[])

{

   // Declaration locale

   int choixdumenu, but, bututil;

   tabobjets six;

   int i;

   int reboot;

   int redemarrage;

   int victoire, defaite;

   int possible;

   // Action

   victoire=0;

   defaite=0;

   do

   {

   choix_menu(choixdumenu);

   if (choixdumenu==2) 

	  {do{

	  choisirbut(but);

	  creerobjets(six,possible,but);

	  if (possible==0)

			cout<<endl<<"Choisissez un autre but"<<endl;

	  }while(possible==0);

	  }

	  else if (choixdumenu==3)

		 {choisirobjets(six);

		  creerbut(six,but);

		 }

		 else if (choixdumenu==4)

			   {do{

				genererbut(but);

				creerobjets(six,possible,but);

				}while(possible==0);

			   }

   do{

   affichageobjetsbut (six, but);

   cout<<"Proposez votre solution";

   traitement(six,bututil,but);

   if (but==bututil)

	  {victoire=victoire+1;}

   else {defaite=defaite+1;}

   cout<<endl<<"Victoire";

   if(victoire>1)

   {cout<<"s: "<<victoire<<endl;}

   else {cout<<": "<<victoire<<endl;}

   cout<<"Defaite";

   if(defaite>1)

   {cout<<"s: "<<defaite<<endl;}

   else {cout<<": "<<defaite<<endl;}

   comparaison (but,bututil,redemarrage);

   }while(redemarrage==1);

   do{

   cout<<endl<<"Voulez vous recommencer un nouveau calcul?0/1: ";

   cin>>reboot;

   }while(reboot!=0 && reboot!=1);

   }

   while (reboot==1);

   // retour au sytème d'exploitattion 

   cout << endl;

   system("pause");

   return (0);

}

//****************************  Fin du programme *******************************

A également voté.

Posté(e) (modifié)

Ca m'étonnerait que ce soit du K&R ...

void affichageObjetsBut (tabobjets &objets, int attempt){


	   //Décla

		int i;


		//Actions

		cout<<endl<<"Vos 6 nombres sont: "<<endl;


		for (i=0;i<6;i++){

			  cout<<objets[i]<<" ";

		}


		cout<<endl<<"Le but est: ";

		cout<<attempt<<endl;


} // Fin AffichageObjetsBut

Voilà un exemple.

Modifié par eiK
Posté(e)
Ca m'étonnerait que ce soit du K&R ...

void AffichageObjetsBut (tabobjets &objets, int attempt){


	   //Décla

		int i;


		//Actions

		cout<<endl<<"Vos 6 nombres sont: "<<endl;


		for (i=0;i<6;i++){

			  cout<<objets[i]<<" ";

		}


		cout<<endl<<"Le but est: ";

		cout<<attempt<<endl;


} // Fin AffichageObjetsBut

Voilà un exemple.

Ya quoi qui change, hormis le "// Fin AffichageObjetsBut" ?

Posté(e) (modifié)
Ya quoi qui change, hormis le "// Fin AffichageObjetsBut" ?

L'indentation, plus lisible, plus standard on va dire. De même que les noms de méthodes on met des majuscules, ah merde au temps pour moi c'est une minuscule la première lettre des méthodes et majuscule pour les classes.

Classe FenetreGraphique

/**

 * Crée une JFrame contenant un menuBar, le panel PanelDessin et PanelIcones.

 * @author ------------------------

 * @author ------------------------

 * @version TP-6, 07/03/2007

 */


package interfaceGraphique;


import javax.swing.*;

import java.awt.*;

import java.awt.event.*;


public class FenetreGraphique {


	private JFrame frame;


	private PanelDessin panelDessin;


	private PanelIcones panelIcones;


	/**

	 * Classe interne MonMenu qui contient les éléments du menu classe qui

	 * hérite de JMenuBar.

	 */


	private class MonMenu extends JMenuBar {

		private static final long serialVersionUID = 1L;


		private JMenu menuEdition;


		private JMenuItem menuEltAligner;


		private JMenuItem menuEltSupprimer;


		MonMenu() {

			menuEdition = new JMenu("Edition");

			menuEltAligner = new JMenuItem("Aligner");

			menuEltSupprimer = new JMenuItem("Supprimer");


			DelegueMenuItems deleguemenu = new DelegueMenuItems();

			menuEltAligner.addActionListener(deleguemenu);

			menuEltSupprimer.addActionListener(deleguemenu);


			menuEdition.add(menuEltAligner);

			menuEdition.add(menuEltSupprimer);


			this.add(menuEdition);

		}


		/**

		 * Classe interne DelegueMenuItems qui est le delégué des actions du

		 * MenuBar classe qui implémente ActionListener.

		 */


		private class DelegueMenuItems implements ActionListener {


			public void actionPerformed(ActionEvent e) {

				Object source = e.getSource();

				if (source == menuEltAligner)

					panelDessin.aligner();

				else if (source == menuEltSupprimer)

					panelDessin.supprimer();

			}


		}

	}


	/**

	 * Constructeur de FenetreGraphique qui crée la JFrame.

	 */

	public FenetreGraphique() {

		frame = new JFrame("TP6 (P.-A. Bugnard, S. Castiel)");

frame.setSize(400, 100);


		panelIcones = new PanelIcones();

		panelDessin = new PanelDessin(panelIcones);


		frame.setJMenuBar(new MonMenu());


//		frame.getContentPane().setLayout(new GridLayout(1, 2));

//		frame.getContentPane().add(panelIcones);

//		frame.getContentPane().add(panelDessin);


		frame.getContentPane().setLayout(new BorderLayout());

		frame.getContentPane().add("West", panelIcones);

		frame.getContentPane().add("Center", panelDessin);


		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame.pack();

		frame.setVisible(true);

	}


	public static void main(String args[]) {

		new FenetreGraphique();

	}


}

C'est plus clair, plus lisible, plus facile à relire pour quelqu'un qui passe après. Bon avec Java ya la Javadoc qui va avec aussi...

Modifié par eiK
Posté(e)
okaych

Au passage, si quelqu'un a pris le codage du jeu le compte est bon, autant qu'il le remplace par ma dernière version:

Tu peux utiliser des "case of" à la place des "if, else if, else if" ...

Posté(e)
L'indentation, plus lisible, plus standard on va dire. De même que les noms de méthodes on met des majuscules, ah merde au temps pour moi c'est une minuscule la première lettre des méthodes et majuscule pour les classes.

Classe FenetreGraphique

....

	}


}

C'est plus clair, plus lisible, plus facile à relire pour quelqu'un qui passe après. Bon avec Java ya la Javadoc qui va avec aussi...

C'est un peu anarchique au niveau de mes "{..}", mais j'avoue que je suis peu ordonné, et j'ai eu la flemme de tout aligner..

Tu peux utiliser des "case of" à la place des "if, else if, else if" ...

C'est clair.. un bon vieux switch case ferait moins moche.

J'verrai ça avec le prof'. :ninja:

Posté(e)
C'est un peu anarchique au niveau de mes "{..}", mais j'avoue que je suis peu ordonné, et j'ai eu la flemme de tout aligner..

Disons que c'est plus agréable pour celui qui passe derrière toi sur ton code...

Posté(e) (modifié)
Le couple en or Laure Manaudou - Philippe Lucas serait-il sur la voie du divorce ? En tout cas, c'est ce qu'a annoncé l'émission Stade 2 sur France Télévisions dimanche. La nageuse française, quadruple championne d'Europe, championne du monde et détentrice du record du monde du 400 m libre, serait en froid avec Lucas et pourrait quitter Canet en Roussillon, club où elle est arrivée avec son entraîneur en septembre 2006 pour s'installer en Italie et se rapprocher ainsi de son fiancé, le nageur transalpin Luca Marin.

La semaine derniere elle était chez Drucker avec Lucas et disait "j'espere que notre collaboration durera encore longtemps" :ninja:

Modifié par Jneb
Posté(e)
Shuis pas pd enflure :blink:

:ninja:

c'est pas de moi, juste une petite cartographie des clichés du français :grin: :blagounette: :ninja:

les grecques n'étaient pas hhomos il vouaient seulement un culte au corps humain c'est tout.

Yoda pourra confirmer

Posté(e)
A ce sujet, dorénavant, j'exige une juste rétribution pour mon effort à cet honneur. Une rémunération à la hauteur de mes apports serait fortement souhaitable. C'est fini le temps de l'assistanat sans contrepartie.

C'est du donnant/ donnant. Je te donne mon score, tu me donnes quelque chose en échange.

:ninja:

C'est quand même un forum de gauchiste ici. :blush:

J'ai remarqué que tu faisais de jolis scores oui, je t'en remercie d'ailleurs. Mais tu fais ça pour l'amour que tu portes au TFC, ça s'arrête là, il n'y aura donc aucune rétribution de ma part. ;)

Je répond à gnafron, ça n'a rien à voir avec les élections, donc j'me le permet..

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.