This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
in204:tds:sujets:td5:part2 [2020/11/01 10:45] bmonsuez |
in204:tds:sujets:td5:part2 [2022/11/18 10:48] (current) |
||
---|---|---|---|
Line 90: | Line 90: | ||
</code> | </code> | ||
+ | Il serait cependant préférable de pouvoir effectuer un affichage minimaliste des nombres complexes. Ainsi, nous nous contentons d'afficher la partie réelle si la partie imaginaire et nulle ou la seule partie imaginaire si la partie réelle est nulle. Cet affichage plus proche de l'affiche courant peut être fourni pas le code suivant : | ||
+ | |||
+ | <code cpp> | ||
+ | template<class charT, class charTraits> | ||
+ | std::basic_ostream<charT>& operator <<( | ||
+ | std::basic_ostream<charT, charTraits>& aStream, | ||
+ | const Complex& aValue) | ||
+ | { | ||
+ | if(aValue.mRealPart != 0 && | ||
+ | aValue.mImaginaryPart != 0) | ||
+ | aStream << aValue.mRealPart << "+" << aValue.mImaginaryPart << "i"; | ||
+ | else if(aValue.mImaginaryPart != 0) | ||
+ | aStream << aValue.mImaginaryPart << "i"; | ||
+ | else | ||
+ | aStream << aValue.mRealPart; | ||
+ | } | ||
+ | </code> | ||
</hidden> | </hidden> | ||
Line 103: | Line 120: | ||
x | x | ||
</code> | </code> | ||
+ | |||
Définissez une opération de lecture d’un flux effectuant cette lecture d’un objet de type ''Complex''. | Définissez une opération de lecture d’un flux effectuant cette lecture d’un objet de type ''Complex''. | ||
Line 132: | Line 150: | ||
---- | ---- | ||
+ | |||
+ | <hidden Correction> | ||
+ | |||
+ | Nous començons à nous intéresser à l'affichage selon le format: | ||
+ | |||
+ | </hidden> | ||
==== Question n°1.3 (En dehors du cours !) ==== | ==== Question n°1.3 (En dehors du cours !) ==== |