Votre bout de code le mieux fait - C++ - Programmation
Marsh Posté le 03-09-2003 à 11:49:02
BlackGoddess a écrit : Bonjour, |
class trin
{
public:
trin(long double va,long double vb,long double vc);
long double Getnbsol() const { return this->nbsol; }
long double Getx1() const { return this->x1; }
long double Getx2() const { return this->x2; }
long double Getdelta() const { return this->d; }
private:
long double a;
long double b;
long double c;
long double d;
long double x1;
long double x2;
unsigned int nbsol;
void calcd();
void verif();
void calcnbsol();
void calcx();
};
trin::trin(long double va,long double vb,long double 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);
}
}
Marsh Posté le 03-09-2003 à 11:59:16
MAI CAI SUPAIR
BlackGodess ( t'es une fille ?) : ok tu débutes, tu veux voir le boulot des autres gens, etc, mais ton sujet n'a pas de sens, puisque tu n'y connais rien. Alors bien sur, on peut t'abreuver de gros moceaux de templates particulièrement astucieux et élégants, mais tu n'y comprendras rien -> lis tout ce qui se passent sur la sous-catégorie C++, regarde ce que font les gens (enfin pas tous, hum hum) et tu auras un aperçu de code de qualité. sinon tu peux lire le code de la STl de SGI par exemple. Il est pourri par des tonnes de __, mais il est beau; mais indigeste pour un débutant. alors ouvre tes yeux
Marsh Posté le 03-09-2003 à 12:21:45
Taz a écrit : MAI CAI SUPAIR |
Accessoirement, c'etait quoi l'idee geniale de coller des __ partout dans la stl ?
Marsh Posté le 03-09-2003 à 12:24:34
On a demandé le meilleur, pas le pire
Marsh Posté le 03-09-2003 à 12:32:44
chrisbk a écrit : |
ben les identifiers en __ sont définis par le standard comme réservés à l'implémentation, pour éviter tout conflit de nom. mais pense bien qu'ils ont pas codés directment avec tout ces __
Marsh Posté le 03-09-2003 à 22:53:32
regarde ce que font les gens (enfin pas tous, hum hum)
c ce que j'essaie de faire...
mais quelles gens justement ?
Marsh Posté le 03-09-2003 à 22:54:22
On a demandé le meilleur, pas le pire
-> en quoi il est pas beau son code ?
Marsh Posté le 03-09-2003 à 23:04:03
BlackGoddess a écrit : On a demandé le meilleur, pas le pire |
il est ignoble son code. ben regarde les topics C++, et si je post et que je gueule pas, c'est que ça doit être correct
Marsh Posté le 03-09-2003 à 23:20:07
Taz a écrit : il est ignoble son code. ben regarde les topics C++, et si je post et que je gueule pas, c'est que ça doit être correct |
ça va les chevilles?
Marsh Posté le 03-09-2003 à 23:40:12
ReplyMarsh Posté le 03-09-2003 à 23:40:52
BlackGoddess a écrit : On a demandé le meilleur, pas le pire |
y a pas un seul commentaire deja.
Marsh Posté le 03-09-2003 à 23:42:57
carot0 a écrit : |
vu comment il est simple, pas vraiment la peine.
moi j'attaquerais déjà par les 4 premier caractère? pas de convetion au niveau du nom, nom pas explicite ... on voit le nom de la classe, on a aucune idée de ce qui suit
Marsh Posté le 03-09-2003 à 23:43:32
BlackGoddess a écrit : Bonjour, |
Code :
|
c mon plus bo
Marsh Posté le 03-09-2003 à 23:46:58
ce topic est foireux: beaucoup ici sont incapables d'écrire un bon HelloWorld alors pour le reste ...
on passe à autre chose alors
Marsh Posté le 03-09-2003 à 23:48:18
Taz a écrit : ce topic est foireux: beaucoup ici sont incapables d'écrire un bon HelloWorld alors pour le reste ... |
tu entends koi par un bon hello word.donne plutot des exemples de bon hello word, commeca ceux ki ne save pas faire corectement apprendront
Marsh Posté le 03-09-2003 à 23:49:50
Code :
|
Marsh Posté le 03-09-2003 à 23:52:48
et pour citer un petit exemple de Stroustrup
Code :
|
Marsh Posté le 03-09-2003 à 23:54:00
Taz a écrit : ce topic est foireux: beaucoup ici sont incapables d'écrire un bon HelloWorld alors pour le reste ... |
Code :
|
si g fait des truc incorrect dis le stp
Marsh Posté le 04-09-2003 à 00:05:18
aucun. juste une remarque
beaucoup pense que std::endl est la manière C++ de faire un retour à la ligne. le retour à la ligne est et demeure le caractère '\n'
que ce soit bien claire, voilà une implémentation de std::endl
Code :
|
Marsh Posté le 04-09-2003 à 08:24:13
SchnapsMann a écrit : |
Je pense que si qq est capable de faire ce genre de remarque c bien Taz.
Il nous a suffisament montré qu'il avait un niveau plus que correct.
Sur ceux je le plussoie totalement
Marsh Posté le 04-09-2003 à 08:59:39
Code :
|
ah merde non, c'est du C ça ....
Marsh Posté le 04-09-2003 à 09:01:07
ReplyMarsh Posté le 04-09-2003 à 09:45:33
Taz a écrit : et du mauvais en plus |
à la base, je code qu'en PHP, moi
d'ailleurs, je commence à me demander ce que je fais sur ce topic
Marsh Posté le 04-09-2003 à 09:50:01
MossieurPropre a écrit : d'ailleurs, je commence à me demander ce que je fais sur ce topic |
merde, existe pas encore
Marsh Posté le 04-09-2003 à 10:05:22
carot0 a écrit : |
Peut être pourrais tu nous montrer la voie en apprenant à rédiger un message utilisant un semblant de ponctuation et n'obligeant pas ton lecteur à le relire plusieurs fois avant d'en déceler un semblant de sens ?
Marsh Posté le 04-09-2003 à 10:07:44
Harkonnen a écrit : |
et toi tu nous files des cours d'apnée, par ce qu'on pas habitué aux phrases proustiennes ici. aaaaaaaaaaaaaaahhhhhhhh
Marsh Posté le 04-09-2003 à 10:11:15
Taz a écrit : et toi tu nous files des cours d'apnée, par ce qu'on pas habitué aux phrases proustiennes ici. aaaaaaaaaaaaaaahhhhhhhh |
Marsh Posté le 04-09-2003 à 10:47:45
Citation : beaucoup pense que std::endl est la manière C++ de faire un retour à la ligne. le retour à la ligne est et demeure le caractère '\n' |
Ca tombe bien, ca fe longtemps que tu m'intrigue avec tes '\n'.
Moi j'avais lu que endl était préférable car il était plus portable que '\n' (on pense notamment eu "\r\n" sous DOS/Win).
Et ça me parraît logique qu'il n'ait pas été inventé pour rien.
De plus, au nivo génie log, je pense que c'est préférable, car la sémantique est + parlante :
"les programmeurs devraient écrire le code dans le langage du problème plutôt que le langage de la machine"
Sinon, concernant le topic et l'apprentissage en général d'un langage, je te conseille de lire quelques FAQ, en particulier :
http://www.ensta.fr/~diam/c++/onli [...] ex-fr.html
http://www.cmla.ens-cachan.fr/Util [...] s/C++/FAQ/
Je trouve que les FAQ sont une mine d'or et permettent de rapidement découvrir et mieux maîtriser un langage, de manière saine.
Marsh Posté le 04-09-2003 à 11:06:13
le '\n' est tout àf ait portable et provoque un retour à la ligne. son implémentation change puisqu'éfecctivement il n'emet pas la même séquence de caractères en fonction du système. pas d'inquiétude donc.
la sémantique n'est pas la même, il ne faut pas oublier que endl flush. je me souviens avoir fait un programme qui convertissait une image en html (le html était sacrément costaud à la sortie). y a vait pas photo entre les perfs avec et sans flush.
non vraiment, c'est pas sale du tout d'inclure un \n dans une chaine, c'est moins long à écrire
Marsh Posté le 04-09-2003 à 11:52:05
J'ai passé la nuit à le faire, et ça marche enfin :
Code :
|
Bien sur, à compiler en
-std=c++98 -Wall -W -pedantic -O3
Marsh Posté le 04-09-2003 à 11:55:46
Je savais pas endl flushait de manière explicite comme ça.
Alors alors... quand est-ce qu'il est justifié ?
Marsh Posté le 04-09-2003 à 12:05:45
HelloWorld a écrit : Je savais pas endl flushait de manière explicite comme ça. |
ben quand tu veux flusher justement
Marsh Posté le 04-09-2003 à 12:06:38
HelloWorld a écrit : Je savais pas endl flushait de manière explicite comme ça. |
quand tu veux flusher et que tu affiche un char*
cout << "Prompt\n" << flush
cout << prompt << endl
Marsh Posté le 04-09-2003 à 12:37:48
Justement lors de l'affichage a l'ecran il me semblait que le '\n' faisait office de flush...
Marsh Posté le 04-09-2003 à 12:46:16
HelloWorld a écrit : Justement lors de l'affichage a l'ecran il me semblait que le '\n' faisait office de flush... |
ça c'est une autre histoire, c'est par ce que ton terminal a un buffer de type ligne, donc dès qu'il voit un '\n', il flush son buffer en direction de l'écran
Marsh Posté le 04-09-2003 à 13:03:09
Vi. Donc le flush est pas nécessaire. Ma question étatit en fait : quand est-ce qu'il l'est ?
Marsh Posté le 04-09-2003 à 13:23:19
Ah mais cette fois pas de '\n'...
Donc, apprament, endl ne sert... jamais ? !
PS : Youhouh, mon premier split !
Marsh Posté le 03-09-2003 à 10:07:28
Bonjour,
juste p-e pour echanger des techniques, des exemples, etc, je me demandais si vous vouliez poser votre bout de code le mieux réussi, pour n'importe quel domaine ?
---------------
-( BlackGoddess )-