IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Création d'un logiciel de gestion séance de tir


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ouvrier
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Par défaut Création d'un logiciel de gestion séance de tir
    Bonjour,

    Je souhaiterai créer un programme en C++ permettant de gérer des séances de tir a l'arc

    avec des parametres à remplir tels que :
    - date
    - nom
    - prenom
    - niveau du tireur
    - points obtenu

    ainsi, il me donnerai des statistiques, et la liste de ceux qui n'ont pas effectuer le nombre de séance requises dans l'année. Et bien d'autre statistiques.

    J'ai commencer et j'ai déjà un bout de programme pour entrer les données. Ce que je ne sais pas c'est comment mémorisé les données au fur et a mesure comme dans un tableau pour, au final les resortir en statistique.
    Comment ajouter ou supprimer des données (ex : un tireur qui arrête le tir définitivement ou un nouveau venu, ...)

    merci pour votre aide
    cordialement

  2. #2
    Membre averti
    Homme Profil pro
    Ouvrier
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Par défaut
    Voici le début de mon travail ( attention je débute )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    #include <QApplication>
    #include <QtGui>
    #include <QCheckBox>
    #include <QSpinBox>
    #include <QFormLayout>
    #include <QVBoxLayout>
    #include <QHBoxLayout>
    #include <QGridLayout>
    #include <QLineEdit>
    #include <QPushButton>
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
        QWidget fenetre;
        fenetre.setWindowTitle("Programme de gestion des séances de tir v0.0");
        fenetre.setWindowIcon(QIcon("icone1.png"));
        // 1 : Créer le QTabWidget
        QTabWidget *onglets = new QTabWidget(&fenetre);
        onglets->setGeometry(10, 30, 600, 350);
     
        // 2 : Créer les pages, en utilisant un widget parent pour contenir chacune des pages
        QWidget *page1 = new QWidget;
        QWidget *page2 = new QWidget;
        QLabel *page3 = new QLabel; // Comme un QLabel est aussi un QWidget (il en hérite), on peut aussi s'en servir de page
        QWidget *page4 = new QWidget;
        QWidget *page5 = new QWidget;
        QWidget *page6 = new QWidget;
        QWidget *page7 = new QWidget;
        QWidget *page8 = new QWidget;
        QWidget *page9 = new QWidget;
        QWidget *page10 = new QWidget;
     
        // 3 : Créer le contenu des pages de widgets
     
            // Page 1
     
            QLineEdit *nom = new QLineEdit("Nom / Prénom");
            QLineEdit *lineEdit3 = new QLineEdit("Date");
            QPushButton *bouton1 = new QPushButton("Valider");
            QPushButton *bouton2 = new QPushButton("Annuler");
            QCheckBox *checkbox1a = new QCheckBox("Séance d'initiation", &fenetre);
            QCheckBox *checkbox2a = new QCheckBox("Séance formation continue", &fenetre);
            QCheckBox *checkbox3a = new QCheckBox("Séance de perfectionnement", &fenetre);
            QTextEdit *QTextEdit2a = new QTextEdit("Remarques sur la séance :");
     
            QComboBox *liste = new QComboBox(&fenetre);
            liste->addItem("08h00 - 10h00");
            liste->addItem("10h00 - 12h00");
            liste->addItem("14h00 - 16h00");
            liste->addItem("16h00 - 18h00");
            liste->move(30, 20);
     
            QVBoxLayout *vbox1 = new QVBoxLayout;
            vbox1->addWidget(lineEdit3);
            vbox1->addWidget(liste);
            vbox1->addWidget(checkbox1a);
            vbox1->addWidget(checkbox2a);
            vbox1->addWidget(checkbox3a);
            vbox1->addWidget(QTextEdit2a);
            vbox1->addWidget(bouton1);
            vbox1->addWidget(bouton2);
            page1->setLayout(vbox1);
     
            // Page 2
     
            QLineEdit *lineEdit2 = new QLineEdit("Date");
            QLineEdit *nom2 = new QLineEdit("Nom");
            QLineEdit *prenom2 = new QLineEdit("Prénom");
            QLineEdit *points_obtenus = new QLineEdit("Points");
            QCheckBox *checkbox1b = new QCheckBox("Résultats excellents", &fenetre);
            QCheckBox *checkbox2b = new QCheckBox("Résultats moyens", &fenetre);
            QCheckBox *checkbox3b = new QCheckBox("Résultats faibles", &fenetre);
            QTextEdit *QTextEdit4b = new QTextEdit("Remarques sur le tireur :");
     
            QProgressBar *progress = new QProgressBar;
            progress->setValue(50);
            QSlider *slider = new QSlider(Qt::Horizontal);
            QPushButton *bouton3 = new QPushButton("Valider");
     
            QVBoxLayout *vbox2 = new QVBoxLayout;
            vbox2->addWidget(lineEdit2);
            vbox2->addWidget(nom2);
            vbox2->addWidget(prenom2);
            vbox2->addWidget(points_obtenus);
            vbox2->addWidget(checkbox1b);
            vbox2->addWidget(checkbox2b);
            vbox2->addWidget(checkbox3b);
            vbox2->addWidget(QTextEdit4b);
            vbox2->addWidget(bouton3);
            page2->setLayout(vbox2);
     
            // Page 3 (je ne vais afficher qu'une image ici, pas besoin de layout)
     
            page3->setPixmap(QPixmap("icone2.PNG"));
            page3->setAlignment(Qt::AlignCenter);
     
            // Page 4 (je ne vais afficher une autre image)
     
            QLineEdit *lineEdit4 = new QLineEdit("Nom du tireur");
            QLineEdit *lineEdit5 = new QLineEdit("Prénom du Prénom");
            QPushButton *bouton4 = new QPushButton("Valider");
            QPushButton *bouton5 = new QPushButton("Annuler");
     
            QVBoxLayout *vbox4 = new QVBoxLayout;
            vbox4->addWidget(lineEdit4);
            vbox4->addWidget(lineEdit5);
            vbox4->addWidget(bouton4);
            vbox4->addWidget(bouton5);
            page4->setLayout(vbox4);
     
            // Page 5 (je ne vais afficher une autre image)
     
            QLineEdit *lineEdit6 = new QLineEdit("REMARQUES");
            QTextEdit *QTextEdit2 = new QTextEdit("Entrez l'adresse");
            QLineEdit *lineEdit7 = new QLineEdit("INTITULE");
            QPushButton *bouton6 = new QPushButton("Valider");
            QPushButton *bouton7 = new QPushButton("Annuler");
     
            QVBoxLayout *vbox5 = new QVBoxLayout;
            vbox5->addWidget(lineEdit6);
            vbox5->addWidget(QTextEdit2);
            vbox5->addWidget(lineEdit7);
            vbox5->addWidget(bouton6);
            vbox5->addWidget(bouton7);
            page5->setLayout(vbox5);
     
        // 6 : ajouter les onglets au QTabWidget, en indiquant la page qu'ils contiennent
        onglets->addTab(page1, "Gestion séance");
        onglets->addTab(page2, "Saisie des tireurs");
        onglets->addTab(page3, "Gérer une licence");
        onglets->addTab(page4, "Recherches");
     
        fenetre.show();
     
        return app.exec();
    }

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Hello,

    Avant d'aller plus loin, qu'est-ce qui te pousse vers le C++ pour faire cela ?

    — Si c'est par goût personnel pour le langage, parce que tu y es plus à l'aise, ou parce que le thème est un prétexte pour s'y mettre, pas de problème. Il y a beaucoup de choses en C++ qui te permettront d'arriver à tes fins ;

    — Si l'objectif est réellement la gestion de ton club et que ton programme n'est qu'un moyen d'y parvenir, alors peut-être faudrait-il t'orienter vers une petite base de données.

    EDIT : on vient de poster simultanément. Je lis ton code et je te redonne mon avis plus tard.

  4. #4
    Membre averti
    Homme Profil pro
    Ouvrier
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Hello,

    Avant d'aller plus loin, qu'est-ce qui te pousse vers le C++ pour faire cela ?

    — Si c'est par goût personnel pour le langage, parce que tu y es plus à l'aise, ou parce que le thème est un prétexte pour s'y mettre, pas de problème. Il y a beaucoup de choses en C++ qui te permettront d'arriver à tes fins ;

    — Si l'objectif est réellement la gestion de ton club et que ton programme n'est qu'un moyen d'y parvenir, alors peut-être faudrait-il t'orienter vers une petite base de données.

    EDIT : on vient de poster simultanément. Je lis ton code et je te redonne mon avis plus tard.

    Merci pour ta réponse.
    Pour commencer, j'ai pris le C++ car au début je n'y connaissais rien ( RIEN DU TOUT, LOL), je me suis lancer dans celui ci avec Qt
    comme les resultats etaient encourageant et que le langage n'est pas trop compliqué, j'ai continué
    le programme que j'ai édité fonctionne dans le sens ou il affiche ce que j'ai besoin (certe il y aura de modif a faire)
    je souhaite gérer un club en effet
    Je veux créer mon programme pour plusieur raisons
    1 la fièreté
    2 sa spécificité ( mes points se conmpte pas comme les autres sports)
    3 car si je réussi, je souhaiterai dévellopper d'autre logiciel de gestion tel que les désignations des arbitres, ...

    PS : Ne pas prendre en compte la page 5 ce sont des testes de champs que j'ai oublier d'enlever
    mince alors, j'en oubli la politesse : Bonjour à toi

  5. #5
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Salut,

    Je connais mal Qt, mais ton code semble n'être qu'un IHM vide! ( partie émergée de l'iceberg, mais pas de partie immergée )

    Commence par créer une class 'tireur' avec :
    - ses données membres ( non, prénom, date de naissance, cotisation à jours, séances ( avec séances qui est un tableau de stuctures : struct séance : date, nombre de point ) )
    - ses fonctions membres : constructeur, destructeur, ajout d'une nouvelle séance de tir, sauvegarde dans fichier, chargement de sauvegarde...

    Tu débug ta class dans un petit prog de test en mode console, puis là, tu l'incorpore dans ton IHM...

    PS : utilises les balises code ( c'est l'icone "#" ) pour l'affichage de ton code

  6. #6
    Membre averti
    Homme Profil pro
    Ouvrier
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Par défaut
    Citation Envoyé par bertry Voir le message
    Salut,

    Je connais mal Qt, mais ton code semble n'être qu'un IHM vide! ( partie émergée de l'iceberg, mais pas de partie immergée )

    Commence par créer une class 'tireur' avec :
    - ses données membres ( non, prénom, date de naissance, cotisation à jours, séances ( avec séances qui est un tableau de stuctures : struct séance : date, nombre de point ) )
    - ses fonctions membres : constructeur, destructeur, ajout d'une nouvelle séance de tir, sauvegarde dans fichier, chargement de sauvegarde...

    Tu débug ta class dans un petit prog de test en mode console, puis là, tu l'incorpore dans ton IHM...

    Bonjour à toi,

    Alors je suis perdu dans tes explications à partir de : commence, lol
    Je suis novis dans la programmation, j'ai peu etre du rater des étapes dans l'apprentissage car j'ai lu un peu partout sur le met les morceaux de cours que j'ai pu trouver. cela fait 1mois 1/2 que je lis le C++, j'essai de manipuler avec Qt au fur et a mesure que je trouve un cours mais c'est pas evident.

    Donc je vais avoir beaucoup de mal et surtout besoin d'aide de pro.

    L'ébauche de mon programme est vide OUI, il ne fait rien, si on clic sur le bouton valider, rien ne se pas, comme pour tout le reste du programme.
    Je ne connais pas les codes pour les actions lorsqu'un bouton est appuyer.
    Je ne sais pas faire pour que quant des champs sont rempli, l'ordi les mémorise tout au long des années pour me les ressortir en stat quand j'en ai besoin
    comment faire créer un classeur avec toutes les données ...

  7. #7
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Citation Envoyé par argon71 Voir le message
    Je suis novice
    Alors la base en c++ c'est de savoir créer des classes ( mot clé class )
    Commence peut-être par apprendre les bases du langage et tu pourras créer ton logiciel au fur et à mesure de ton apprentissage ( 1 mois 1/2 c'est vraiement le tout début de ton apprentissage!!! )

    Je te conseille cette lecture : Penser en C++ dispo gratos sur ce site en VO et en français...

Discussions similaires

  1. Création d'un logiciel de gestion des bulletins de notes de notre Lycée
    Par cheickssy dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 31/07/2006, 13h49
  2. Logiciel de gestion à distance
    Par arnaud_verlaine dans le forum Applications
    Réponses: 9
    Dernier message: 30/01/2005, 14h42
  3. Réponses: 4
    Dernier message: 07/10/2004, 20h42
  4. Réponses: 1
    Dernier message: 17/06/2004, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo