A voir également:
- Les classes en devc++
- Devc++ - Télécharger - Langages
- Classer les applications par ordre alphabétique iphone - Guide
- Comment classer les mails dans gmail - Guide
- Logiciel pour classer les photos - Guide
- Filmer un prof en classe sanction - Forum Vos droits sur internet
13 réponses
Voici la programmation de la classe :
#include <stdio.h>
#include <stdlib.h>
class vecteur // declaration de la classe
{
private : // variables de la partie privee
float x, y, z; // coordonnees du vecteur
public : // methodes de la partie privee
vecteur(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
void modifier(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
vecteur operator + (vecteur & t)
{
printf("\n\n\n%f %f %f argument t (operande de droite)\n", t.x, t.y, t.z);
printf("%f %f %f donnee (operande de gauche)\n", x, y, z);
vecteur u; // variable interne au sous-programme
// 2 version possibles sans utilisation de la methode modifier ou avec :
// u.x = t.x + x;
// u.y = t.y + y;
// u.z = t.z + z;
u.modifier(t.x+x, t.y+y, t.z+z);
return u;
}
float operator * (vecteur & v)
{
printf("\n\n%f %f %f argument v (operande droite)\n", v.x, v.y, v.z);
printf("%f %f %f donnee (operande gauche)\n", x, y, z);
float prodScal;
prodScal = x*v.x + y*v.y + z*v.z;
return(prodScal);
}
void afficher()
{
printf("(%f , %f , %f) ", x, y, z);
}
};
#include <stdio.h>
#include <stdlib.h>
class vecteur // declaration de la classe
{
private : // variables de la partie privee
float x, y, z; // coordonnees du vecteur
public : // methodes de la partie privee
vecteur(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
void modifier(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
vecteur operator + (vecteur & t)
{
printf("\n\n\n%f %f %f argument t (operande de droite)\n", t.x, t.y, t.z);
printf("%f %f %f donnee (operande de gauche)\n", x, y, z);
vecteur u; // variable interne au sous-programme
// 2 version possibles sans utilisation de la methode modifier ou avec :
// u.x = t.x + x;
// u.y = t.y + y;
// u.z = t.z + z;
u.modifier(t.x+x, t.y+y, t.z+z);
return u;
}
float operator * (vecteur & v)
{
printf("\n\n%f %f %f argument v (operande droite)\n", v.x, v.y, v.z);
printf("%f %f %f donnee (operande gauche)\n", x, y, z);
float prodScal;
prodScal = x*v.x + y*v.y + z*v.z;
return(prodScal);
}
void afficher()
{
printf("(%f , %f , %f) ", x, y, z);
}
};
bonjour ,pour résoudre ton probléme il faut dabord me donner quelle genre de classe que vous voulez créer en c++, alors je t'attends..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici le programme en entier. Essayé de le compiler par vous mm. Mais j'ai déja essayé ce programme sur une station de travail ( unix ) et ça marche parfaitement mais sous Xp et avec Devcpp qu'il y a un pépin.
Juste pour info , cette classe permet de creer un vecteur avec 3 coordonnés et permet de réaliser quelques opérations telles qeu afficher les differentes coordonnes , additionner 2 vecteurs , en faire le produit scalaire.
voici mon programme:
#include <stdio.h>
#include <stdlib.h>
#include<unistd.h> // pas necessaire sous windows
class vecteur // declaration de la classe
{
private : // variables de la partie privee
float x, y, z; // coordonnees du vecteur
public : // methodes de la partie privee
vecteur(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
void modifier(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
vecteur operator + (vecteur & t)
{
printf("\n\n\n%f %f %f argument t (operande de droite)\n", t.x, t.y, t.z);
printf("%f %f %f donnee (operande de gauche)\n", x, y, z);
vecteur u; // variable interne au sous-programme
// 2 version possibles sans utilisation de la methode modifier ou avec :
// u.x = t.x + x;
// u.y = t.y + y;
// u.z = t.z + z;
u.modifier(t.x+x, t.y+y, t.z+z);
return u;
}
float operator * (vecteur & v)
{
printf("\n\n%f %f %f argument v (operande droite)\n", v.x, v.y, v.z);
printf("%f %f %f donnee (operande gauche)\n", x, y, z);
float prodScal;
prodScal = x*v.x + y*v.y + z*v.z;
return(prodScal);
}
void afficher()
{
printf("(%f , %f , %f) ", x, y, z);
}
};
main()
{
vecteur v1(1.0, 2.0, 3.0), v2, s;
float p;
printf("\nVecteurs v1 et v2 : ");
v1.afficher();
v2.afficher();
v2.modifier(10.0, 20.0, 30.0);
printf("\n\nNouvelle valeur de v2 : ");
v2.afficher();
s = v1 + v2;
printf("\nVecteur somme v1 + v2 : ");
s.afficher();
p = v1 * v2;
printf("\nProduit scalaire v1.v2 : %f\n", p);
}
Juste pour info , cette classe permet de creer un vecteur avec 3 coordonnés et permet de réaliser quelques opérations telles qeu afficher les differentes coordonnes , additionner 2 vecteurs , en faire le produit scalaire.
voici mon programme:
#include <stdio.h>
#include <stdlib.h>
#include<unistd.h> // pas necessaire sous windows
class vecteur // declaration de la classe
{
private : // variables de la partie privee
float x, y, z; // coordonnees du vecteur
public : // methodes de la partie privee
vecteur(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
void modifier(float a=0.0, float b=0.0, float c=0.0)
{
x = a;
y = b;
z = c;
}
vecteur operator + (vecteur & t)
{
printf("\n\n\n%f %f %f argument t (operande de droite)\n", t.x, t.y, t.z);
printf("%f %f %f donnee (operande de gauche)\n", x, y, z);
vecteur u; // variable interne au sous-programme
// 2 version possibles sans utilisation de la methode modifier ou avec :
// u.x = t.x + x;
// u.y = t.y + y;
// u.z = t.z + z;
u.modifier(t.x+x, t.y+y, t.z+z);
return u;
}
float operator * (vecteur & v)
{
printf("\n\n%f %f %f argument v (operande droite)\n", v.x, v.y, v.z);
printf("%f %f %f donnee (operande gauche)\n", x, y, z);
float prodScal;
prodScal = x*v.x + y*v.y + z*v.z;
return(prodScal);
}
void afficher()
{
printf("(%f , %f , %f) ", x, y, z);
}
};
main()
{
vecteur v1(1.0, 2.0, 3.0), v2, s;
float p;
printf("\nVecteurs v1 et v2 : ");
v1.afficher();
v2.afficher();
v2.modifier(10.0, 20.0, 30.0);
printf("\n\nNouvelle valeur de v2 : ");
v2.afficher();
s = v1 + v2;
printf("\nVecteur somme v1 + v2 : ");
s.afficher();
p = v1 * v2;
printf("\nProduit scalaire v1.v2 : %f\n", p);
}
Hello !
La déclaration de main() n'est pas "ISO". Modifie pour retourner un entier :
Take care !
La déclaration de main() n'est pas "ISO". Modifie pour retourner un entier :
int main() { vecteur v1(1.0, 2.0, 3.0), v2, s; float p; printf("\nVecteurs v1 et v2 : "); v1.afficher(); v2.afficher(); v2.modifier(10.0, 20.0, 30.0); printf("\n\nNouvelle valeur de v2 : "); v2.afficher(); s = v1 + v2; printf("\nVecteur somme v1 + v2 : "); s.afficher(); p = v1 * v2; printf("\nProduit scalaire v1.v2 : %f\n", p); return 0; }
Take care !
J'ai déclaré la fonction comme tu me l'avais dit mais ça ne marche toujours pas . Est ce que tu peux me dire si ça marche chez toi et quel compillateur tu utilise .
Merci pour tt.
Merci pour tt.
Les messages d'erreur sont les suivants:
ligne 5 : parse error before "vecteur"
ligne 6 : syntax error before '{' token
ligne 15 : `b' undeclared here (not in a function)
ligne 15 : [Warning] data definition has no type or storage class
...
Il y 35 erreurs en tout. je t'ai mise les premieres seulement. Est ce que tu conai Devcpp ? Si tu peux me conseiller un meilleur compilateur sous Xp gratuit surtout , ça serait sympa.
Merci.
ligne 5 : parse error before "vecteur"
ligne 6 : syntax error before '{' token
ligne 15 : `b' undeclared here (not in a function)
ligne 15 : [Warning] data definition has no type or storage class
...
Il y 35 erreurs en tout. je t'ai mise les premieres seulement. Est ce que tu conai Devcpp ? Si tu peux me conseiller un meilleur compilateur sous Xp gratuit surtout , ça serait sympa.
Merci.
Toujours les mm erreurs avec en plus " cstdio : No such file or directory".
qu'est ce que tu proposes ?
qu'est ce que tu proposes ?
Il semble que ton compilateur ne comprend pas le C++ ou il interprète ton fichier comme un fichier C.
Vérifie ta configuration de projet, l'extension du fichier...
Vérifie ta configuration de projet, l'extension du fichier...