PROGRAMME DE RÉVISION EN MATHÉMATIQUES.

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 3 juin 2008 à 19:20
 attar - 21 sept. 2014 à 17:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46852-programme-de-revision-en-mathematiques

je trouve que votre applique. est bonne car je suis débutant.
Merci
codesambinfo Messages postés 8 Date d'inscription jeudi 22 octobre 2009 Statut Membre Dernière intervention 11 novembre 2009
23 oct. 2009 à 22:13
Slt mes remerciements.
Mes je n'es pa encore
vu les codes.
Vous n'avez presente que le jar executable.
Merci!!!
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
21 sept. 2008 à 08:57
félicitation pour ton code. Continue dans cette voie.
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
5 juin 2008 à 17:21
-Egalement gère le fait de ne pas tomber en dessous de 0 pour les divisions.
-Ajout du bouton continuer par défaut.

Je crois que c'est tout, merci de me demande avant de vous approprier des morceaux du code. La majeur du temps la réponse sera oui, mais contacter moi tout de même.
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
5 juin 2008 à 17:12
Voilà la 2nd version du programme de révision en mathématiques.

Les améliorations :

-Ajout des soustractions.
-Ajout des divisions.
-Ajout du choix du niveau(facile, moyen, difficile)
-Interface plus simple
-Code commenté !!

Voilà, merci de laisser vos commentaires.
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
4 juin 2008 à 15:39
Donc cela me ferait 7 classes !

Merci à toi,

Si le besoin d'aide se fait sentir, je te contacterais.

Merci encore
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
4 juin 2008 à 15:35
J'ai pas lu ton code, mais ok pour tout sinon que l'interface n'est pas le main. L'interface c'est un niveau encore au dessus de la classe abstraite qui ne va rien faire du tout, juste définir les méthodes que devront implémenter les différentes fenêtre d'opérations.

Dans un premier temps, ça n'est pas vraiment utile dans ton cas ;) Par contre la classe abstraite est très utile.
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
4 juin 2008 à 15:30
Voilà ma main :

import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JWindow;

public class MainClass extends JWindow
{
JPanel panel, imge;
JLabel image;
ImageIcon img;

public MainClass()
{
super();
build();

}

private void build() {

setSize(400,250);
setContentPane(contentPane());
setLocationRelativeTo(null);

}

private JPanel contentPane()
{
panel = new JPanel();
panel.setLayout(new FlowLayout());

JLabel image = new JLabel();

ImageIcon img = new ImageIcon("images/splash.gif");
image.setIcon(img);

panel.add(image);

return panel;
}

public static void main(String[] args)
{

MainClass splash = new MainClass();
splash.setVisible(true);

try {
Thread.sleep(5000);

} catch (InterruptedException e) {
System.exit(0);
}

splash.setVisible(false);
RevisionIhm frame = new RevisionIhm();
frame.setVisible(true);

}
public void paintComponent(Graphics g)
{
Image image = new ImageIcon("").getImage();
g.drawImage(image,0,0,null);
}

}
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
4 juin 2008 à 15:30
La première étant la main, si j'ai tout compris ?

Au niveau de l'héritage j'ai ma petite idée.
Merci, je ne pensais pas à l'héritage. Mais c'est un choix judicieux.

Ça donnerait :
- un classe main (je veux faire un splash) qui envoi ensuite la deuxième classe.
- 2ème : L'IHM, héritant de JFrame, abstraite ?.
- et les 4 autres spécifiques au mode de jeu (multi, add, ...) héritant de l'abstract class au dessus ?

C'est bon, un truc dans ce style ?
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
4 juin 2008 à 15:19
Oui c'est l'idée. Mais la mise en œuvre peut être légèrement différente. Une des bonnes pratiques de la programmation orientée objet est l'héritage.

J'aurais tendance à faire : 6 classes.

1 interface (interface) décrivant les méthodes utilisables par les 4 types de fenêtre :

public void validerReponse();
public void nouvelleQuestion();
public void afficherIncorrect();
public void afficherCorrect();
public void setCorrection(String correction);
public String getReponse();
...

1 classe abstraite (abstract class) implémentant une partie de ces méthodes (celles qui sont communes aux 4 types de fenêtre). Cette classe doit implémenter l'interface et hériter de JFrame.

Et enfin, les 4 classes correspondant aux 4 types de fenêtre.

Au final, ça donnerait un mix de tes deux idées :

* bien séparer les différentes catégories d'objet (addition, soustraction, ...)
* factoriser les points commun grâce à l'héritage en particulier

Si tu n'es pas d'accord n'hésite pas à le dire, je pense que c'est une bonne solution et je changerai probablement pas d'avis, mais il ne faut que tu fasses aussi selon ton idée..!
Et si tu as des questions, ben n'hésite pas on est là pour ça!
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
4 juin 2008 à 14:48
Quoi-que !

j'ai une idée, il n'y aurait que deux classes, la classe de base (mainclass), et une où suivant le choix de l'utilisateur, ça créer, une fenêtre (qui sera toujours la même), mais avec un texte et des options différentes (en l'occurrence, additions, soustractions, multiplications, et divisions) plutôt que 1 classe pour chaque mode !!

Est-ce une bonne idée ?
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
4 juin 2008 à 14:37
Ce n'est pas bête!

Je vais essayer, au niveau du bouton par défaut, je sais comment faire, je l'ai déjà fait sur un autre programme (cf: mon message sur le Forum), mais pour la factorisation, il y a quelques subtilités qui m'échappent ! :D
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
4 juin 2008 à 14:24
Effectivement, le style c'est vague. Ce que je voulais dire c'est que ça manque de panache (c'est un avis personnel, j'aime bien les trucs en plus qui rendent les appli plus fun), mais c'est un détail, l'important étant d'abord un appli robuste et fonctionnelle.

Pour ce qui est des soustractions et des divisions, essaie d'imaginer comment tu peux faire pour factoriser un maximum de code entre les différentes opérations (au niveau de l'interface par exemple, mais pas seulement).

Exemple : si je trouve qu'il faudrait que quand on appuie sur [entrée] la réponse soit validée. Dans l'état actuel des choses, tu vas devoir modifier ton code à deux endroits (multiplications et additions) et bientôt 4 endroits. La factorisation d'une partie du code te permettrait d'apporter des modifications à un seul endroit.
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
4 juin 2008 à 13:55
Merci pour ces informations, et ces encouragements !! :)

Pour un premier "vrai" programme, car suivre un tuto pour créer une JFrame, on n'appelle pas ça un programme.

Effectivement, le nom d'une fenêtre est erroné. Merci j'y remédierais.

Au niveau du code, à la création, je ne comptais pas le partager, donc je me suis abstenu des commentaires.

En ce moment, je suis entrain de l'améliorer, en rajoutant soustractions et divisions.

Qu'entends-tu par "style"(l.7) ??

Merci,

Cordialement,
Sarathai
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
3 juin 2008 à 19:20
Avant tout, bravo pour avoir commencé si jeune!
Remarques :
L'ensemble est fonctionnel, mais il n'y a pas grand-chose. On aimerait choisir le niveau, pourquoi pas avoir des statistiques sur les résultats.
Le must : une IA qui propose des techniques pour résoudre le plus facilement possible les opérations (mais bon, ça peut être assez costaud à faire, si on le fait bien).

Concernant l'interface, c'est très sobre et ça manque de style (à part l'image de la fenêtre principale qui est sympa,). Le titre sur la fenêtre des additions est erroné.

Le code est plutôt beau et facile à comprendre, mais il n'est pas commenté du tout.

Voilà, bonne chance pour la suite! continue de pratiquer!
Rejoignez-nous