CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

question sur le c++

madame-soleil
madame-soleil
Niveau 3
29 juin 2003 à 09:41:52

est ce qu´on peut apprendre le c++ sans avoir rien appris avant?

EDell
EDell
Niveau 8
29 juin 2003 à 10:35:16

Connaitres les maths serait déjà un bon début.

rei-games
rei-games
Niveau 5
29 juin 2003 à 10:41:11

C´est possible d´apprendre le C++ directement mais vau mieu commencer par le C : ) enfin bon c´est pas tres difficile a aprendre ^^ ( les bases)

http://perso.wanadoo.fr/mesprog/

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 13:15:06

oui, commence par le C

nicoprog
nicoprog
Niveau 1
30 juin 2003 à 13:38:55

" est ce qu´on peut apprendre le c++ sans avoir rien appris avant?"
--> non, apprend a lire lol

nicoprog
nicoprog
Niveau 1
30 juin 2003 à 13:40:30

sans rigoler : c´est vrai que commencer par le C c´est mieu
en fait c´est les bases du C++ qui apporte en plus les classes et les surchages de fonctions ( le C le permet p-e)

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 14:19:50

Jean Yves poete :

commencer par le C++, sans commencer par le C :

c´est :

commencer par Broodar, sans commencer par starcraft...
c´est commencer par the warcraft 3 frozen throne, sans commencer par warcraft 3 : reign of chaos...

PS : vive blizzard.

VictorVVV
VictorVVV
Niveau 6
30 juin 2003 à 14:28:41

" JeanYvesYves Posté le 30 juin 2003 à 14:19:50
Jean Yves poete :

commencer par le C++, sans commencer par le C :

c´est : "

ce que j´ai fait

DevilHunterX
DevilHunterX
Niveau 10
30 juin 2003 à 14:56:12

Super la carte de visite...

VictorVVV
VictorVVV
Niveau 6
30 juin 2003 à 15:00:56

petit correctif : c´est pas ce que j´ai fait, c´est ce que je fait.

Quest-ce qu´elle a ma carte de visite ?

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 15:09:29

VictorVVV, tu ne le sais peut etre pas, mais ce que tu fais, c´est du C, pas du C++ : )

si, tu mets juste des cout a la place des printf. c´est le seul pied que tu mets dans le C++.
mais cette syntaxe te dit elle quelque chose ?

class truc:public bidule
{
private:
int a;
public:
truc();
truc(int x):a=x; {}
~truc();
int& modify();
virtual plouf(int a,int b)=0;
friend arf(float& x);
ostream operator<<(ostream& k);
int& operator+(const truc&,const truc&);
};

int& truc::modify()
{
return a;
}

etc...

ça, c´est du C++ ! ! ce que tu fais est encore tres procédurale, donc tu fais du C avec des cout...

VictorVVV
VictorVVV
Niveau 6
30 juin 2003 à 15:16:16

non, je me suis mis à faire des structures :

  1. include < stdio.h>
  2. include < math.h>
  3. ifndef M_PI

/* Not defined on MacOS.9 : -( */

  1. define M_PI 3.14159265358979323846
  2. endif
  3. include < iostream.h>
  4. include < stdlib.h>

float racar(float A, float J)
{
float i;
float Xj1;
float Xj;
float flag;
float m;
do
{
if(A>=0)
{
if(J<51)
{
Xj=A;
for(i=0;i<J;i++)
{
Xj1=(Xj+(A/Xj))/2;
Xj=Xj1;
m=i+1;
//printf("La %.0f approximation de la racine carree de %.2f est %.4f\n",m,A,Xj1);
}
//printf("la racine carré de %f vaut %f\n",A,Xj1);
flag=1;
}
else
{
//printf("Entrer la precision J\n");
//scanf("%f",&);
return 0;
}
}
else
{
//printf("Entrer une valeur POSITIVE pour A\n");
//scanf("%f",&);
return 0;
}
}
while(flag==0);
return Xj1;
}

float puissance(float x, int y)
{
float valeur = 1;
for ( int i=0; i < y;i++)
{
valeur = valeur*x;
}
return valeur;
}

struct operation
{
float num_un;
float num_de;
char op[100];
char deter[12];
float calcul ( )
{
float resultat = 1;
int resultat2 = 1;
int num_un2;
int num_de2;
if ( strcmp(op,"+")==0) resultat = num_un + num_de;
if ( strcmp(op,"-")==0) resultat = num_un - num_de;
if ( strcmp(op,"*")==0) resultat = num_un * num_de;
if ( strcmp(op,"/")==0) resultat = num_un / num_de;
if ( strcmp(op,":")==0) resultat2 = int(num_un / num_de);
if ( strcmp(op,"modulo")==0)
{
//cout < < " test";
num_un2 = int(num_un);
num_de2 = int(num_de);
resultat = num_un2 % num_de2;
}
if ( strcmp(op,">")==0) resultat = ( num_un > num_de);
if ( strcmp(op,"<")==0) resultat = ( num_un < num_de);
if ( strcmp(op,"puissance")==0)
{
//cout < < " test";
num_de2 = int(num_de);
resultat = puissance(num_un, num_de2);
}
if ( strcmp(op,"racine_carre")==0) resultat = racar(num_un, num_de);
if ( strcmp(op,"cosinus")==0) resultat = cos((num_un / 180.0) * M_PI);
if ( strcmp(op,"sinus")==0) resultat = sin((num_un / 180.0 ) * M_PI);
if ( strcmp(op,"tangeante")==0) resultat = tan((num_un / 180.0) * M_PI);
if ( strcmp(op,"cotangeante")==0) resultat = tan(((90 - num_un) / 180.0) * M_PI);
if ( strcmp(op,"pythagore")==0) resultat = racar(num_un*num_un+num_de*num_de,50 ) ;
if ( strcmp(op,"%")==0) resultat = num_un*(100/num_de);
if ( strcmp(op,"==")==0) resultat = ( num_un == num_de);

if ( resultat)
{
return resultat;
}
return float(resultat2);
}
operation(float numun, float numde, char operation2[2])
{
num_un = numun;
num_de = numde;
//op = operation2;
}
operation(float numun, float numde)
{
num_un = numun; num_de = numde;
}
operation(float numun)
{
num_un = numun;
}
int test()
{
if ( strcmp(op,"+")==0) return 1;
if ( strcmp(op,"-")==0) return 1;
if ( strcmp(op,"*")==0) return 1;
if ( strcmp(op,"/")==0) return 1;
if ( strcmp(op,":")==0) return 1;
if ( strcmp(op,"modulo")==0) return 1;
if ( strcmp(op,">")==0) return 1;
if ( strcmp(op,"<")==0) return 1;
if ( strcmp(op,"puissance")==0) return 1;
if ( strcmp(op,"pythagore")==0) return 1;
if ( strcmp(op,"%")==0) return 1;
if ( strcmp(op,"==")==0) return 1;
if ( strcmp(op,"racine_carre")==0) return 0;
if ( strcmp(op,"cosinus")==0) return 0;
if ( strcmp(op,"sinus")==0) return 0;
if ( strcmp(op,"tangeante")==0) return 0;
if ( strcmp(op,"cotangeante")==0) return 0;
return 2;
}
char determinant()
{
char deter1[12] = " le";
char deter2[12] = " la";
if ( strcmp(op,"cosinus")==0) deter = deter1;
else if ( strcmp(op,"sinus")==0) deter = deter1;
else deter = deter2;
}
};

//int testnombre(char chainombre[])
//{
//int value;
//value = strlen(chainombre);
//int nombre;
//for ( int i = 0;i < value; i++)
//{
//nombre += int(chainombre)*int(puissance(10,(value-i)-1));
//}
//return nombre;
//}

int main(int argc, char *argv[])
{
//char nombre1[12];
//char nombre2[12];
float nombre_un;
float nombre_de;
char peration[100];
while ( 1)
{
cout < < " entrez un nombre : ";
cin > > nombre_un;
cout < < " \nmarquer un operateur : \n+ = +\n- = -\n* = x\n/ = /\n: = / euclidienne\nm = %\n> = > \n< = < \npuissance = puissance\nracine_carre = racine caree\ncosinus = cosinus\nsinus = sinus\ntangeante = tangeante\ncotangeante = cotangeante\npythagore = theoreme de pythagore\n% = pourcentage\n== = ==\nvotre choix : ";
cin > > peration;
//nombre_un = float(testnombre(nombre1));
operation opera(nombre_un);
//operation opera;
opera.op = peration;
if ( opera.test())
{
if ( opera.test() == 1)
{
cout < < " entrez un nombre : ";
cin > > nombre_de;
opera.num_de = nombre_de;
cout < < opera.num_un < < opera.op < < opera.num_de < < " =" < < opera.calcul();
}
else cout < < " erreur";
}
else
{
opera.determinant();
cout < < opera.deter < < " " < < opera.op < < " de " < < opera.num_un < < " = " < < opera.calcul();
}
cout < < " \n\n\n\n\n";
}
system ( "PAUSE");
return 0;
}

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 15:28:26

struct, c´est du C par excellence.

VictorVVV
VictorVVV
Niveau 6
30 juin 2003 à 16:14:43

Et çà :

  1. include < stdio.h>
  2. include < math.h>
  3. ifndef M_PI

/* Not defined on MacOS.9 : -( */

  1. define M_PI 3.14159265358979323846
  2. endif
  3. include < iostream.h>
  4. include < stdlib.h>

float racar(float A, float J)
{
float i;
float Xj1;
float Xj;
float flag;
float m;
do
{
if(A>=0)
{
if(J<51)
{
Xj=A;
for(i=0;i<J;i++)
{
Xj1=(Xj+(A/Xj))/2;
Xj=Xj1;
m=i+1;
//printf("La %.0f approximation de la racine carree de %.2f est %.4f\n",m,A,Xj1);
}
//printf("la racine carré de %f vaut %f\n",A,Xj1);
flag=1;
}
else
{
//printf("Entrer la precision J\n");
//scanf("%f",&);
return 0;
}
}
else
{
//printf("Entrer une valeur POSITIVE pour A\n");
//scanf("%f",&);
return 0;
}
}
while(flag==0);
return Xj1;
}

float puissance(float x, int y)
{
float valeur = 1;
for ( int i=0; i < y;i++)
{
valeur = valeur*x;
}
return valeur;
}

struct operation
{
float num_un;
float num_de;
char op[100];
char deter[12];
float calcul ( )
{
float resultat = 1;
int resultat2 = 1;
int num_un2;
int num_de2;
if ( strcmp(op,"+")==0) resultat = num_un + num_de;
if ( strcmp(op,"-")==0) resultat = num_un - num_de;
if ( strcmp(op,"*")==0) resultat = num_un * num_de;
if ( strcmp(op,"/")==0) resultat = num_un / num_de;
if ( strcmp(op,":")==0) resultat2 = int(num_un / num_de);
if ( strcmp(op,"modulo")==0)
{
//cout < < " test";
num_un2 = int(num_un);
num_de2 = int(num_de);
resultat = num_un2 % num_de2;
}
if ( strcmp(op,">")==0) resultat = ( num_un > num_de);
if ( strcmp(op,"<")==0) resultat = ( num_un < num_de);
if ( strcmp(op,"puissance")==0)
{
//cout < < " test";
num_de2 = int(num_de);
resultat = puissance(num_un, num_de2);
}
if ( strcmp(op,"racine_carre")==0) resultat = racar(num_un, num_de);
if ( strcmp(op,"cosinus")==0) resultat = cos((num_un / 180.0) * M_PI);
if ( strcmp(op,"sinus")==0) resultat = sin((num_un / 180.0 ) * M_PI);
if ( strcmp(op,"tangeante")==0) resultat = tan((num_un / 180.0) * M_PI);
if ( strcmp(op,"cotangeante")==0) resultat = tan(((90 - num_un) / 180.0) * M_PI);
if ( strcmp(op,"pythagore")==0) resultat = racar(num_un*num_un+num_de*num_de,50 ) ;
if ( strcmp(op,"%")==0) resultat = num_un*(100/num_de);
if ( strcmp(op,"==")==0) resultat = ( num_un == num_de);

if ( resultat)
{
return resultat;
}
return float(resultat2);
}
operation(float numun, float numde, char operation2[2])
{
num_un = numun;
num_de = numde;
//op = operation2;
}
operation(float numun, float numde)
{
num_un = numun; num_de = numde;
}
operation(float numun)
{
num_un = numun;
}
int test()
{
if ( strcmp(op,"+")==0) return 1;
if ( strcmp(op,"-")==0) return 1;
if ( strcmp(op,"*")==0) return 1;
if ( strcmp(op,"/")==0) return 1;
if ( strcmp(op,":")==0) return 1;
if ( strcmp(op,"modulo")==0) return 1;
if ( strcmp(op,">")==0) return 1;
if ( strcmp(op,"<")==0) return 1;
if ( strcmp(op,"puissance")==0) return 1;
if ( strcmp(op,"pythagore")==0) return 1;
if ( strcmp(op,"%")==0) return 1;
if ( strcmp(op,"==")==0) return 1;
if ( strcmp(op,"racine_carre")==0) return 0;
if ( strcmp(op,"cosinus")==0) return 0;
if ( strcmp(op,"sinus")==0) return 0;
if ( strcmp(op,"tangeante")==0) return 0;
if ( strcmp(op,"cotangeante")==0) return 0;
return 2;
}
char determinant()
{
char deter1[12] = " le";
char deter2[12] = " la";
if ( strcmp(op,"cosinus")==0) deter = deter1;
else if ( strcmp(op,"sinus")==0) deter = deter1;
else deter = deter2;
}
friend ostream& operator<<(ostream& os, operation oper)
{
if ( oper.test())
{
if ( oper.test() == 1)
{
return os < < oper.num_un < < oper.op < < oper.num_de < < " =" < < oper.calcul();
}
else return os < < " erreur";
}
else
{
oper.determinant();
return os < < oper.deter < < " " < < oper.op < < " de " < < oper.num_un < < " = " < < oper.calcul();
}
}
};

//int testnombre(char chainombre[])
//{
//int value;
//value = strlen(chainombre);
//int nombre;
//for ( int i = 0;i < value; i++)
//{
//nombre += int(chainombre)*int(puissance(10,(value-i)-1));
//}
//return nombre;
//}

int main(int argc, char *argv[])
{
//char nombre1[12];
//char nombre2[12];
float nombre_un;
float nombre_de;
char peration[100];
while ( 1)
{
cout < < " entrez un nombre : ";
cin > > nombre_un;
cout < < " \nmarquer un operateur : \n+ = +\n- = -\n* = x\n/ = /\n: = / euclidienne\nm = %\n> = > \n< = < \npuissance = puissance\nracine_carre = racine caree\ncosinus = cosinus\nsinus = sinus\ntangeante = tangeante\ncotangeante = cotangeante\npythagore = theoreme de pythagore\n% = pourcentage\n== = ==\nvotre choix : ";
cin > > peration;
//nombre_un = float(testnombre(nombre1));
operation opera(nombre_un);
//operation opera;
opera.op = peration;
if ( opera.test() == 1)
{
cout < < " entrez un nombre : ";
cin > > nombre_de;
opera.num_de = nombre_de;
cout < < opera;
}
else cout < < opera;
cout < < " \n\n\n\n\n";
}
system ( "PAUSE");
return 0;
}

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 16:21:33

ben c´est encore du C, mais faut pas s´enerver ! ! je trouve ça tres bien ce que tu fais ! !
d´ailleurs, moi je programme en C/C++, c´est a dire que je suis a cheval sur les 2.
faut pas dire que le C est nul, loin de la !

enfin bref, voili, ne t´enerve pas, mais a part iostream, ce que tu m´indiques, c´est purement du C.

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 16:23:34

mais euh ? ? d´un autre coté, ton programme marche ? ?
quand tu fais :

struct truc
{
. ...
float calcul()
{
. ..
}}

ça marche ça ? ??
j´en doute fort ! !!

VictorVVV
VictorVVV
Niveau 6
30 juin 2003 à 16:23:50

Ok, mais est-ce que çà c´est du C++ ?

friend ostream& operator<<(ostream& os, operation oper)
{
if ( oper.test())
{
if ( oper.test() == 1)
{
return os < < oper.num_un < < oper.op < < oper.num_de < < " =" < < oper.calcul();
}
else return os < < " erreur";
}
else
{
oper.determinant();
return os < < oper.deter < < " " < < oper.op < < " de " < < oper.num_un < < " = " < < oper.calcul();
}
}

VictorVVV
VictorVVV
Niveau 6
30 juin 2003 à 16:24:39

oui il marche, mais c´est peut-être DevC++ qui corrige mes erreurs.

spook2
spook2
Niveau 7
30 juin 2003 à 17:09:26

non je ne pence pas qu´un compilo corige les erreur lol surtout dev c++ qui est gratos...

JY² tu jou encore a BW sur bnet? ou a war3? que je te mette ta taule ( lol)

lag-it
lag-it
Niveau 10
30 juin 2003 à 17:32:20

Uhm VictorVVV, ne nous abreuve pas de codes sources qui se ressemblent à chaque fois.
La où JY² essaie d´attirer ton attention, ce n´est pas sur les mots clé, headers, etc . .. : remplacer cout par printf ce n´est pas programmer en C++, il veut simplement te faire comprendre que tu te contente d´écrire des programmes en C enrobé de C++.
La programmation C++ à 100% passe par l´usage des classes et de tous le concepts liés à la programmation orientée objet ( héritage, encapsulation,...).

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment