Cours:PooTD1 qtcreator
Révision datée du 23 novembre 2020 à 17:13 par Bjacquot (discussion | contributions) (Annulation des modifications 13776 de Bjacquot (discussion))
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;
}