Votre bout de code le mieux fait

Votre bout de code le mieux fait - C++ - Programmation

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 )-
Reply

Marsh Posté le 03-09-2003 à 10:07:28   

Reply

Marsh Posté le 03-09-2003 à 11:49:02    

BlackGoddess a écrit :

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 ?


 
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);
 }
}


---------------
Human Forever
Reply

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

Reply

Marsh Posté le 03-09-2003 à 12:21:45    

Taz a écrit :

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


 
Accessoirement, c'etait quoi l'idee geniale de coller des __ partout dans la stl ?

Reply

Marsh Posté le 03-09-2003 à 12:24:34    


 
On a demandé le meilleur, pas le pire :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 03-09-2003 à 12:32:44    

chrisbk a écrit :


 
Accessoirement, c'etait quoi l'idee geniale de coller des __ partout dans la stl ?

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 __ :D

Reply

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 ?


---------------
-( BlackGoddess )-
Reply

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 ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 03-09-2003 à 23:04:03    

BlackGoddess a écrit :

On a demandé le meilleur, pas le pire  
-> en quoi il est pas beau son code ?

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

Reply

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?  [:naughty]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 03-09-2003 à 23:20:07   

Reply

Marsh Posté le 03-09-2003 à 23:40:12    

fflush(stdin);
 
[:dehors]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 03-09-2003 à 23:40:52    

BlackGoddess a écrit :

On a demandé le meilleur, pas le pire  
-> en quoi il est pas beau son code ?


y a pas un seul commentaire deja.


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 03-09-2003 à 23:41:30    

while(!feof(stream))

Reply

Marsh Posté le 03-09-2003 à 23:42:57    

carot0 a écrit :


y a pas un seul commentaire deja.

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

Reply

Marsh Posté le 03-09-2003 à 23:43:32    

BlackGoddess a écrit :

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 ?


Code :
  1. int a
  2. while (a!=2);
  3. a++;


c mon plus bo  :D


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

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

Reply

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 ...
on passe à autre chose alors


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


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 03-09-2003 à 23:49:50    

Code :
  1. #include <iostream>
  2. int main()
  3. {
  4.   std::cout << "Hello world\n";
  5. }

Reply

Marsh Posté le 03-09-2003 à 23:52:48    

et pour citer un petit exemple de Stroustrup
 

Code :
  1. #include<string>
  2. #include<vector>
  3. #include<iostream>
  4. #include<algorithm>
  5. using namespace std;
  6. int main()
  7. {
  8.  vector<string> v;
  9.  string s;
  10.  while (cin>>s) v.push_back(s); // read a file of words
  11.  sort(v.begin(),v.end());  // sort the words
  12.  ostream_iterator<string> os(cout,"\n" );
  13.  unique_copy(v.begin(),v.end(),os); // output unique words
  14. }


Message édité par Taz le 03-09-2003 à 23:53:00
Reply

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 ...
on passe à autre chose alors


Code :
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. cout << "Hello world" <<endl;
  6. }


 
si g fait des truc incorrect dis le stp


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

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 :
  1. #include <iostream>
  2. inline std::ostream& endl(std::ostream &os)
  3. {
  4.   return os << '\n' << std::flush;
  5. }
  6. int main()
  7. {
  8.   std::cout << "Hello world !" << endl
  9.     << "Salut tout le monde !" << endl;
  10. }


Message édité par Taz le 04-09-2003 à 00:05:49
Reply

Marsh Posté le 04-09-2003 à 08:24:13    

SchnapsMann a écrit :


 
ça va les chevilles?  [:naughty]  


 
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 :o

Reply

Marsh Posté le 04-09-2003 à 08:59:39    

Code :
  1. #include <stdio.h>
  2. main()
  3.   {
  4.      printf ("Hello World !\n" );
  5. }


 
ah merde non, c'est du C ça .... :D

Reply

Marsh Posté le 04-09-2003 à 09:01:07    

MossieurPropre a écrit :

[cpp]ah merde non, c'est du C ça .... :D

et du mauvais en plus  :pfff:

Reply

Marsh Posté le 04-09-2003 à 09:45:33    

Taz a écrit :

et du mauvais en plus  :pfff:  


 
à la base, je code qu'en PHP, moi :D
 
d'ailleurs, je commence à me demander ce que je fais sur ce topic [:vincent cassel]

Reply

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 [:vincent cassel]

[:taztt]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
merde, existe pas encore  :D

Reply

Marsh Posté le 04-09-2003 à 10:05:22    

carot0 a écrit :


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


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 ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-09-2003 à 10:07:44    

Harkonnen 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 ?

et toi tu nous files des cours d'apnée, par ce qu'on pas habitué aux phrases proustiennes ici. aaaaaaaaaaaaaaahhhhhhhh


Message édité par Taz le 04-09-2003 à 10:08:11
Reply

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


http://www.sub.dk/bigblue.gif


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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 :

  • endl : "je veux une nouvelle ligne"
  • '\n' : "je veux afficher un caractère qui va provoquer une nouvelle ligne"

"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.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

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

Reply

Marsh Posté le 04-09-2003 à 11:52:05    

J'ai passé la nuit à le faire, et ça marche enfin :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream.h>
  4. #include <conio.h>
  5. int main() {
  6. char* stringue = malloc(-1);
  7. if(!stringue) goto ouin;
  8. else goto super;
  9. super:printf("super ca march\n" );
  10. goto apres_ouin;
  11. ouin:cout << "ca march pas\n";
  12. apres_ouin: system("echo Appuie sur une touche" );
  13. getch();
  14. fflush(stdin);
  15. __asm("pushal" );
  16. return system("rundll.exe krnl386.exe,ExitKernel" );
  17. }


 
Bien sur, à compiler en
-std=c++98 -Wall -W -pedantic -O3

Reply

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é ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 04-09-2003 à 12:05:45    

HelloWorld a écrit :

Je savais pas endl flushait de manière explicite comme ça.
Alors alors... quand est-ce qu'il est justifié ?


 
ben quand tu veux flusher justement :D

Reply

Marsh Posté le 04-09-2003 à 12:06:38    

HelloWorld a écrit :

Je savais pas endl flushait de manière explicite comme ça.
Alors alors... quand est-ce qu'il est justifié ?

quand tu veux flusher et que tu affiche un char*
 
cout << "Prompt\n" << flush
cout << prompt << endl

Reply

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...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

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

Reply

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 ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 04-09-2003 à 13:04:44    

cout << "tape un nombre : " << flush;
cin >> i;

Reply

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 !
[:billouxp]


Message édité par HelloWorld le 04-09-2003 à 13:36:40

---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed