Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours programmation » Cours langage C » Applications langage c

Mini projet en langage C pour calculateur de points de championnat en tennis

Mini projet en langage C pour calculateur de points de championnat en tennis
Participez au vote ☆☆☆☆☆★★★★★
Page suivante pour Télécharger

Mini projet en langage C pour calculateur de points de championnat en tennis

Cet article propose en détaille un mini projet en langage C pour calculateur de points de championnat en tennis.

Ce programme vous permet de calculer les points que vous avez gagné ou bien perdu suite à un match en championnat de tennis de table, il se place dans le cas où vous jouez 3 matches (ou moins). Le coefficient des matches est donc de 1. Vous pouvez bien évidemment mettre moins de matches si vous le désirez. Il sera nécessaire pour l'utiliser d'avoir vos points et ceux de l'adversaire.

Vous pourrez télécharger le fichier au format zip il contient le code sources complet

Extrait du code source :

#include

#include

#include "FenetrePrincipale.h"

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

{

            QApplication app(argc,argv);

            FenetrePrincipale fenetre;

            fenetre.show();

            return app.exec();

}

… … … …

#include

#include "FenetrePrincipale.h"

using namespace std;

FenetrePrincipale::FenetrePrincipale()

{

            QWidget fenetre;      

            QVBoxLayout *layoutPrincipal = new QVBoxLayout;     

            //Definition des points          

            QFormLayout *points = new QFormLayout;

            m_points = new QLineEdit;

            points->addRow("Nombre de points du joueur :",m_points);

            QGroupBox *info = new QGroupBox;

            info->setLayout(points);

//Definition du layout du match 1

            m_match1 = new QLineEdit;

            m_v1 = new QRadioButton;

            m_d1 = new QRadioButton;

            QFormLayout *fm1 = new QFormLayout;

            fm1->addRow("Points: ",m_match1);

            fm1->addRow("Victoire: ",m_v1);

            fm1->addRow("Defaite: ",m_d1);   

            gm1 = new QGroupBox("1er match");

            gm1->setCheckable(true);

            gm1->setLayout(fm1);          

            //Definition du layout du match 2

            m_match2 = new QLineEdit;

            m_v2 = new QRadioButton;

            m_d2 = new QRadioButton;

            QFormLayout *fm2 = new QFormLayout;

            fm2->addRow("Points: ",m_match2);

            fm2->addRow("Victoire :",m_v2);

            fm2->addRow("Defaite: ",m_d2);   

            gm2 = new QGroupBox("2eme match");

            gm2->setCheckable(true);

            gm2->setLayout(fm2);          

            //Definition du layout du match 3

            m_match3 = new QLineEdit;

            m_v3 = new QRadioButton;

            m_d3 = new QRadioButton;

            QFormLayout *fm3 = new QFormLayout;

            fm3->addRow("Points: ",m_match3);

            fm3->addRow("Victoire: ",m_v3);

            fm3->addRow("Defaite: ",m_d3);

           

            gm3 = new QGroupBox("3eme match");

            gm3->setCheckable(true);

            gm3->setLayout(fm3);          

            //Defintion du layout des boutons    

            calcul = new QPushButton("Calcul !");

            quit = new QPushButton("Quitter");

            aide = new QPushButton("Aide");   

            QHBoxLayout *layoutbutton = new QHBoxLayout;

            layoutbutton->addWidget(calcul);

            layoutbutton->addWidget(quit);

            layoutbutton->addWidget(aide);

layoutPrincipal->addWidget(info);

            layoutPrincipal->addWidget(gm1);

            layoutPrincipal->addWidget(gm2);

            layoutPrincipal->addWidget(gm3);

            layoutPrincipal->addLayout(layoutbutton);

setLayout(layoutPrincipal);

            setWindowTitle("Calcul de points FFTT");

            resize(300,200);

            connect(quit,SIGNAL(clicked()),qApp,SLOT(quit()));

            connect(calcul,SIGNAL(clicked()),this,SLOT(calculpoints()));

}         

void FenetrePrincipale::calculpoints()

{

            float depart,total;

            bool ok;

            float m1=0,m2=0,m3=0;

            float var=0;

            QString chaine=NULL;

            // Acrrédiation de la variable total

            cout << "Accreditation du depart "<<endl;

            if(m_points->text().isEmpty())

            {

                        QMessageBox::critical(this,"Erreur", "Veuillez indiquer votre nombre de points initial");

                        return;

            }

            else {

                        depart = m_points->text().toFloat(&ok);

                        cout << "depart" << depart << endl;

                        }       

            if(ok == false)

            {

                        QMessageBox::critical(this,"Erreur","Veuillez mettre un nombre");

                        return;

            }

            total = depart;

            cout << "total: "<

            // Pour les 3 matches

            if(gm1->isChecked())

            {

                        if(m_match1->text().isEmpty())

                        {

                        QMessageBox::critical(this,"Erreur", "Veuillez mettre un nombre au match 1");

                        return;

               }

               else m1 = m_match1->text().toFloat(&ok);

               if(ok == false)

                        {

                                   QMessageBox::critical(this,"Erreur", "Veuillez mettre un nombre au match 1");

                                   return;

                        }

               else if(m_v1->isChecked())

               {

                                   total += variationvic(depart,m1);

                                   var+=variationvic(depart,m1);

                        }

                        else if(m_d1->isChecked())  

                        {

                           total += variationdef(depart,m1);

                           var += variationdef(depart,m1);

                        }

                        else

                        {

                                   QMessageBox::critical(this,"Erreur","Veuillez indiquer le resultat du match 1");

                                   return;

                        }

            }

            if(gm2->isChecked())

            {

                        if(m_match2->text().isEmpty())

                        {

                        QMessageBox::critical(this,"Erreur","Veuillez mettre un nombre au match 2");

                        return;

               }

               else m2 = m_match2->text().toFloat(&ok);

               if(ok == false)

                        {

                                   QMessageBox::critical(this,"Erreur","Veuillez mettre un nombre au match 2");

                                   return;

                        }

               else if(m_v2->isChecked())

               {

                                   total += variationvic(depart,m2);

                                   var += variationvic(depart,m2);

                        }

                        else if(m_d2->isChecked())  

                        {

                           total += variationdef(depart,m2);

                           var += variationdef(depart,m2);

                        }

                        else

                        {

                                   QMessageBox::critical(this,"Erreur","Veuillez indiquer le resultat du match 2");

                                   return;

                        }

            }

            if(gm3->isChecked())

            {

                        if(m_match3->text().isEmpty())

                        {

                        QMessageBox::critical(this,"Erreur","Veuillez mettre un nombre au match 3");

                        return;

               }

               else m3 = m_match3->text().toFloat(&ok);

               if(ok == false)

                        {

                                   QMessageBox::critical(this,"Erreur","Veuillez mettre un nombre au match 3");

                                   return;

                        }

               else if(m_v3->isChecked())

               {

                                   total += variationvic(depart,m3);

                                   var += variationvic(depart,m3);

                        }

                        else if(m_d3->isChecked())  

                        {

                           total += variationdef(depart,m3);

                           var += variationdef(depart,m3);

                        }

                        else

                        {

                                   QMessageBox::critical(this,"Erreur","Veuillez indiquer le resultat du match 3");

                                   return;

                        }

            }

chaine = chaine.setNum(total);

            QMessageBox::information(this,"Bilan",chaine);

}         

float FenetrePrincipale::variationvic(float depart,float pts)

{

            int e = depart - pts;

            if(e >= 500)

            return 0;

            else if(e>=400 && e < 500)

            return 0.5;

            else if(e>=300 && e < 400)

            return 1;

            else if(e>=200 && e < 300)

            return 2;

            else if(e>=150 && e < 200)

            return 3;

            else if(e>=100 && e < 150)

            return 4;

            else if(e>=50 && e < 100)

            return 5;

            else if(e>=25 && e < 50)

            return 5.5;

            else if(e>=-24 && e < 25)

            return 6;

            else if(e>=-49 && e < -24)

            return 7;

            else if(e>=-99 && e < -49)

            return 8;

            else if(e>=-149 && e < -99)

            return 10;

            else if(e>=-199 && e < -149)

            return 13;

            else if(e>=-299 && e < -199)

            return 17;

            else if(e>=-399 && e < -299)

            return 22;

            else if(e>=-499 && e < -399)

            return 28;

            else if (e<=-500)

            return 40;

}

float FenetrePrincipale::variationdef(float depart,float pts)

{

            int e = depart - pts;

            if(e >= 500)

            return -29;

            else if(e>=400 && e < 500)

            return -20;

            else if(e>=300 && e < 400)

            return -16;

            else if(e>=200 && e < 300)

            return -12.5;

            else if(e>=150 && e < 200)

            return -10;

            else if(e>=100 && e < 150)

            return -8;

            else if(e>=50 && e < 100)

            return -7;

            else if(e>=25 && e < 50)

            return -6;

            else if(e>=-24 && e < 25)

            return -5;

            else if(e>=-49 && e < -24)

            return -4.5;

            else if(e>=-99 && e < -49)

            return -4;

            else if(e>=-149 && e < -99)

            return -3;

            else if(e>=-199 && e < -149)

            return -2;

            else if(e>=-299 && e < -199)

            return -1;

            else if(e>=-399 && e < -299)

            return -0.5;

            else if(e>=-499 && e < -399)

            return 0;

            else if (e<=-500)

            return 0;

}

Decouvrir ces documents

  • Mini projet de programmation en langage C

    Mini projet de programmation en langage C

  • Code source mini projet de compilateur basic en langage C

    Code source mini projet de compilateur basic en langage C

  • Mini projet calculatrice avec JAVA

    Mini projet calculatrice avec JAVA

  • Mini projet java avec interface graphique et base de données

    Mini projet java avec interface graphique et base de données

  • Application en langage C réalisation d’un mini chat

    Application en langage C réalisation d’un mini chat

  • Application Excel calculateur les dosages de la réalisation des recettes

    Application Excel calculateur les dosages de la réalisation des recettes

  • Projet gestion des comptes bancaires en langage C

    Projet gestion des comptes bancaires en langage C

  • Projet de calculatrice scientifique en langage C

    Projet de calculatrice scientifique en langage C

Articles connexes

  • Comment établir une étude de faisabilité d'un projet informatique ?
  • Comment rédiger une lettre de motivation pour un poste de chef de projet digital?
  • Comment élaborer un projet d'établissement scolaire?
  • Comment faire l’étude de l’existant d’un projet ?
  • Ms Project : Marquer des tâches individuelles comme critiques
  • Comment gagner de l'argent pour un projet scolaire?
  • Exercice Visual Basic : Mini application de gestion de petit commerce
  • Ms Project : comment créer un nouveau projet
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02