POLYNOME DU SECOND DEGRE EN C++ (COMMENTÉ)

cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 - 2 déc. 2003 à 14:00
Ifrit235 Messages postés 30 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 17 juin 2004 - 7 déc. 2003 à 22:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18357-polynome-du-second-degre-en-c-commente

Ifrit235 Messages postés 30 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 17 juin 2004
7 déc. 2003 à 22:28
Ok merci a tous pour vos suggestion
VISUALSNAKE Messages postés 41 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 17 avril 2004
4 déc. 2003 à 19:20
Lol lambda c'est la longueur d'onde, et on ne mets jamais des couts et cin dans les fonctions de calcul.
Il y a un moment de cela j'avais fait une classe qui faisait ca :

class trin
{
public:
trin(float va,float vb,float vc);
float Getnbsol() const { return this->nbsol; }
float Getx1() const { return this->x1; }
float Getx2() const { return this->x2; }
float Getdelta() const { return this->d; }
private:
float a;
float b;
float c;
float d;
float x1;
float x2;
unsigned int nbsol;
void calcd();
void verif();
void calcnbsol();
void calcx();
};

trin::trin(float va,float vb,float vc)
{
a=va;
b=vb;
c=vc;
calcd();
verif();
if(nbsol!=0)
{
calcnbsol();
calcx();
}
}

void trin::calcd()
{
d = (b*b)-(4*a*c);
}

void trin::verif()
{
if(d<0 || a==0)
{
nbsol=0;
}
else
{
nbsol=1;
}
}

void trin::calcnbsol()
{
if(d==0)
{
nbsol=1;
}
if(d>0)
{
nbsol=2;
}
}

void trin::calcx()
{
if(nbsol==1)
{
x1=x2=(-b-sqrt(d))/(2*a);
}
if(nbsol==2)
{
x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
}
}
vince1415 Messages postés 88 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 24 janvier 2006
3 déc. 2003 à 19:02
les caractére pour remplacer les endl, sont pas passer , ils ont du être interpréter, il fo comprendre cout << "Ton Texte(antislash n)"
vince1415 Messages postés 88 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 24 janvier 2006
3 déc. 2003 à 18:58
comme la déjà dit garslouche c'est delta, mais c'est pas trés important, c'est juste un nom de variable. Le truc c'est surtout que lorsque delta < 0 il y a bien deux solutions parmis les complexes, enfin bon tu a peu être pas encore vu les complexes, tu sais i² = -1.
autre truc, le using namespace std, tu le déclare pas dans chaque fonction tu le déclare une fois pour toute au début, en dessous de tes include.
Deplus, généralement on met le main a la fin, et les fonctions qu'il appelle avant dans un namespace anonyme.
Tu peut également "allégeré ton programme en metant '
' à la place de endl, en plus tu peut l'injecter avec ton texte par exemple : cout << "Tontexte

"; tu peut en injecter autant ke tu veut, c'est moins lourd.
sinon c'est pas mal pour un premier programme, essaie de faire des lignes ki font 72 caractéres max, c'est mieux.
Bonne continuation, bonne chance pour la suite.
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
3 déc. 2003 à 16:33
et d'ailleurs traditionnellement ce n'est pas lambda mais delta qu'on utilise pour le discriminant
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
2 déc. 2003 à 14:31
Si on met a = 0, il risqur d'avoir des pb. Il faudrait ce test pour éviter une division par 0.
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
2 déc. 2003 à 14:00
Certes c'est commenté, mais pas au bon endroit ! C'est la résolution qui présente un intérêt pas "l'utilisation de cout..."
Sinon c'est 'lambda' et pas 'landa'
bonne continuation
Rejoignez-nous