Cours:PooTD1 qtcreator

De troyesGEII
Révision datée du 23 novembre 2020 à 17:13 par Bjacquot (discussion | contributions) (Annulation des modifications 13776 de Bjacquot (discussion))
Aller à : navigation, rechercher

TD1 : découverte du C++ et de QT Creator

  • Suivre l’explication sur la création d’un projet C++ avec Qt Creator.
  • Modifier le fichier main.cpp avec le code suivant. Compiler et exécuter le projet.
#include <iostream>

using namespace std;

class Complexe {
    public :
        double re;
        double im;
        void affiche() {
            cout << re << "+" << im << "i" << endl;
        }
};

int main() {
    Complexe z1;
    cout << "coucou" << endl;
    cout << "z1=";
    z1.affiche();
}
  • Quels sont les attributs de la classe Complexe ainsi définie ? Quelles sont ses méthodes ?
  • Ajouter à la classe un constructeur dont voici le squelette :
Complexe (double _re, double _im) {
    // à compléter
}
  • Ajouter à la classe une méthode permettant d’ajouter un nombre complexe :
Complexe add(Complexe z) {
    // à compléter
}

qui permet de retourner un complexe correspondant à l’addition du nombre courant avec un nombrez. Exemple d’utilisation :

Complexe z1(0,1);
Complexe z2(1,0);
Complexe z3 = z1.add(z2);
  • Ajouter des getters et des setters aux attributs.
  • Ajouter des méthodes : produit de deux complexes, conjugué, …
  • Le cas échéant, vous pouvez reprendre le TD de S1 sur les nombres complexes : Cours:TdComplexe


Une correction possible

#include <iostream>
#include <math.h>

using namespace std;

class Complexe
{
public :
    double re;
    double im;

    Complexe(double r, double i)
    {
        re = r;
        im = i;
    }

    Complexe()
    {
        re = 0;
        im = 0;
    }

    void affiche()
    {
        cout << re;
        if (im >=0)
        {
             cout << "+";
        }
        cout << im << ".i"  <<endl;
     }

};


int main()
{
    Complexe z1(1,1);
    double mod;
    mod=z1.module();
    cout <<"||z1||="<<mod<<endl;
    Complexe z2;
    Complexe z3(-4,5);
    z3.affiche();
    z3.conjugue();
    z3.affiche();
    Complexe zr;
    zr=z3.add(z2);
    return 0;
}