Pour une classe bigint (exo de td d'info scolaire)
je voudrais realiser un constructeur comme celui ci
Un bigint possede un entier taille et un vecteur Nt
Le but serait de rentrer les differents caracteres de chaine dans Nt
Le probleme est :
bigint.cc:23: error: le C++ ISO interdit la définition de types à
l'intérieur
de return type
bigint.cc:23: error: return type specification for constructor invalid
Voilà si vous voyez l'erreur, ou s'il vous faut plus de renseignements,
je vous remercie dejà pour votre reponse.
bigint.cc:23: error: le C++ ISO interdit la définition de types à l'intérieur de return type bigint.cc:23: error: return type specification for constructor invalid
T'es sûr que t'as déclaré le constructeur dans la classe ?
En tout cas, le code ci-dessous compile :
#include <string> #include <vector>
using std::vector; using std::string;
class BigInt { public: BigInt(string chaine);
private: int taille; vector<int> Nt; };
BigInt::BigInt(string chaine) {
taille=chaine.size();
Nt=vector<int>(taille-1); // J'ai de gros doutes sur le "-1"
class BigInt { public: BigInt (std::string const& chaine); int Taille() const { return chiffres.size(); }
private: std::vector<int> chiffres; };
using std::vector; // Si tu y tiens using std::string; // (ça peut permettre d'alléger un peu)
BigInt::BigInt (string const& chaine) { for (int i=0; i<chaine.size(); ++i) { chiffres.push_back (chaine[i]-'0'); // le coup du " -'0' " me paraît discutable, mais bon... } }
ou, mieux :
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i != chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
-- ;-)
On Sat, 02 Apr 2005 22:06:58 +0200, Jude <jude@crans.org>:
bigint.cc:23: error: le C++ ISO interdit la définition de types à
l'intérieur
de return type
bigint.cc:23: error: return type specification for constructor invalid
T'es sûr que t'as déclaré le constructeur dans la classe ?
En tout cas, le code ci-dessous compile :
#include <string>
#include <vector>
using std::vector;
using std::string;
class BigInt
{
public:
BigInt(string chaine);
private:
int taille;
vector<int> Nt;
};
BigInt::BigInt(string chaine) {
taille=chaine.size();
Nt=vector<int>(taille-1);
// J'ai de gros doutes sur le "-1"
bigint.cc:23: error: le C++ ISO interdit la définition de types à l'intérieur de return type bigint.cc:23: error: return type specification for constructor invalid
T'es sûr que t'as déclaré le constructeur dans la classe ?
En tout cas, le code ci-dessous compile :
#include <string> #include <vector>
using std::vector; using std::string;
class BigInt { public: BigInt(string chaine);
private: int taille; vector<int> Nt; };
BigInt::BigInt(string chaine) {
taille=chaine.size();
Nt=vector<int>(taille-1); // J'ai de gros doutes sur le "-1"
class BigInt { public: BigInt (std::string const& chaine); int Taille() const { return chiffres.size(); }
private: std::vector<int> chiffres; };
using std::vector; // Si tu y tiens using std::string; // (ça peut permettre d'alléger un peu)
BigInt::BigInt (string const& chaine) { for (int i=0; i<chaine.size(); ++i) { chiffres.push_back (chaine[i]-'0'); // le coup du " -'0' " me paraît discutable, mais bon... } }
ou, mieux :
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i != chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
-- ;-)
Cyrille
Bonjour
Le but serait de rentrer les differents caracteres de chaine dans Nt
Le probleme est :
bigint.cc:23: error: le C++ ISO interdit la définition de types à l'intérieur de return type bigint.cc:23: error: return type specification for constructor invalid
Voilà si vous voyez l'erreur, ou s'il vous faut plus de renseignements, je vous remercie dejà pour votre reponse.
A lui tout seul, ce code ne comporte pas de faute particulière, l'erreur est avant. Vu le message d'erreur, je pencherais pour un point-virgule manquant juste avant, genre à la fin du bloc de définition de la classe.
par exemple: class BigInt { // ... }; // ne pas oublier le point-virgule ici.
BigInt::BigInt(string){} *
si le point-virgule a été omis, le compilateur croit que le bloc précédent est le type de retour du constructeur, et il couine avec les messages d'erreurs que vous donnez: - Il ne peut y avoir une définition de type à l'intérieur d'un return type. - Un constructeur ne peut pas avoir de return type.
-- win the yes need the no to win against the no!
Bonjour
Le but serait de rentrer les differents caracteres de chaine dans Nt
Le probleme est :
bigint.cc:23: error: le C++ ISO interdit la définition de types à
l'intérieur
de return type
bigint.cc:23: error: return type specification for constructor invalid
Voilà si vous voyez l'erreur, ou s'il vous faut plus de renseignements,
je vous remercie dejà pour votre reponse.
A lui tout seul, ce code ne comporte pas de faute particulière, l'erreur
est avant. Vu le message d'erreur, je pencherais pour un point-virgule
manquant juste avant, genre à la fin du bloc de définition de la classe.
par exemple:
class BigInt
{
// ...
}; // ne pas oublier le point-virgule ici.
BigInt::BigInt(string){} *
si le point-virgule a été omis, le compilateur croit que le bloc
précédent est le type de retour du constructeur, et il couine avec les
messages d'erreurs que vous donnez:
- Il ne peut y avoir une définition de type à l'intérieur d'un return type.
- Un constructeur ne peut pas avoir de return type.
Le but serait de rentrer les differents caracteres de chaine dans Nt
Le probleme est :
bigint.cc:23: error: le C++ ISO interdit la définition de types à l'intérieur de return type bigint.cc:23: error: return type specification for constructor invalid
Voilà si vous voyez l'erreur, ou s'il vous faut plus de renseignements, je vous remercie dejà pour votre reponse.
A lui tout seul, ce code ne comporte pas de faute particulière, l'erreur est avant. Vu le message d'erreur, je pencherais pour un point-virgule manquant juste avant, genre à la fin du bloc de définition de la classe.
par exemple: class BigInt { // ... }; // ne pas oublier le point-virgule ici.
BigInt::BigInt(string){} *
si le point-virgule a été omis, le compilateur croit que le bloc précédent est le type de retour du constructeur, et il couine avec les messages d'erreurs que vous donnez: - Il ne peut y avoir une définition de type à l'intérieur d'un return type. - Un constructeur ne peut pas avoir de return type.
-- win the yes need the no to win against the no!
Matthieu Moy
Jude writes:
Bonjour
Bonsoir,
bigint.cc:23: error: le C++ ISO interdit la définition de types à l'intérieur de return type bigint.cc:23: error: return type specification for constructor invalid
Quelle est la ligne 23 dans le programme ?
-- Matthieu
Jude <jude@crans.org> writes:
Bonjour
Bonsoir,
bigint.cc:23: error: le C++ ISO interdit la définition de types à
l'intérieur
de return type
bigint.cc:23: error: return type specification for constructor invalid
bigint.cc:23: error: le C++ ISO interdit la définition de types à l'intérieur de return type bigint.cc:23: error: return type specification for constructor invalid
Quelle est la ligne 23 dans le programme ?
-- Matthieu
Jude
class BigInt { // ... }; // ne pas oublier le point-virgule ici.
BigInt::BigInt(string){} *
si le point-virgule a été omis, le compilateur croit que le bloc précédent est le type de retour du constructeur, et il couine avec les messages d'erreurs que vous donnez: - Il ne peut y avoir une définition de type à l'intérieur d'un return type. - Un constructeur ne peut pas avoir de return type.
Merci c'etait ça
-- Jude
class BigInt
{
// ...
}; // ne pas oublier le point-virgule ici.
BigInt::BigInt(string){} *
si le point-virgule a été omis, le compilateur croit que le bloc
précédent est le type de retour du constructeur, et il couine avec les
messages d'erreurs que vous donnez:
- Il ne peut y avoir une définition de type à l'intérieur d'un return type.
- Un constructeur ne peut pas avoir de return type.
class BigInt { // ... }; // ne pas oublier le point-virgule ici.
BigInt::BigInt(string){} *
si le point-virgule a été omis, le compilateur croit que le bloc précédent est le type de retour du constructeur, et il couine avec les messages d'erreurs que vous donnez: - Il ne peut y avoir une définition de type à l'intérieur d'un return type. - Un constructeur ne peut pas avoir de return type.
Merci c'etait ça
-- Jude
Jude
BigInt::BigInt (string const& chaine) { for (int i=0; i<chaine.size(); ++i) { chiffres.push_back (chaine[i]-'0'); // le coup du " -'0' " me paraît discutable, mais bon... } }
ou, mieux :
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i != chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info). Je cherche en fait juste a vouloir convertir en un entier le caractere contenue dans ma chaine. Il y a t'il une commande speciale? Merci
-- Jude
BigInt::BigInt (string const& chaine)
{
for (int i=0; i<chaine.size(); ++i)
{
chiffres.push_back (chaine[i]-'0');
// le coup du " -'0' " me paraît discutable, mais bon...
}
}
ou, mieux :
BigInt::BigInt (string const& chaine)
{
for (string::const_iterator i= chaine.begin();
i != chaine.end(); ++i)
{
chiffres.push_back (*i - '0');
// même remarque sur " -'0' ".
}
}
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche
pas (une indication de notre prof d'info).
Je cherche en fait juste a vouloir convertir en un entier le caractere
contenue dans ma chaine.
Il y a t'il une commande speciale?
Merci
BigInt::BigInt (string const& chaine) { for (int i=0; i<chaine.size(); ++i) { chiffres.push_back (chaine[i]-'0'); // le coup du " -'0' " me paraît discutable, mais bon... } }
ou, mieux :
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i != chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info). Je cherche en fait juste a vouloir convertir en un entier le caractere contenue dans ma chaine. Il y a t'il une commande speciale? Merci
-- Jude
Miguel
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Pourquoi ca marche pas??? (à lire avec un air d'enfant de 5-6 ans)
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche
pas (une indication de notre prof d'info).
Pourquoi ca marche pas??? (à lire avec un air d'enfant de 5-6 ans)
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Pourquoi ca marche pas??? (à lire avec un air d'enfant de 5-6 ans)
Cyrille
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i != chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info). Je cherche en fait juste a vouloir convertir en un entier le caractere contenue dans ma chaine. Il y a t'il une commande speciale?
Si votre prof vous a dit que ça ne marchait pas sans vous en dire plus, c'est sans doute qu'il s'attend à ce que vous fassiez ça en exercice. Aussi, réfléchissez-y, ça n'a rien de difficile, de faire une fonction qui prend un char en paramètre et qui renvoye l'entier int correspondant.
-- win the yes need the no to win against the no!
BigInt::BigInt (string const& chaine) {
for (string::const_iterator i= chaine.begin(); i !=
chaine.end(); ++i)
{
chiffres.push_back (*i - '0'); // même remarque sur "
-'0' ".
}
}
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche
pas (une indication de notre prof d'info).
Je cherche en fait juste a vouloir convertir en un entier le caractere
contenue dans ma chaine.
Il y a t'il une commande speciale?
Si votre prof vous a dit que ça ne marchait pas sans vous en dire plus,
c'est sans doute qu'il s'attend à ce que vous fassiez ça en exercice.
Aussi, réfléchissez-y, ça n'a rien de difficile, de faire une fonction
qui prend un char en paramètre et qui renvoye l'entier int correspondant.
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i != chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info). Je cherche en fait juste a vouloir convertir en un entier le caractere contenue dans ma chaine. Il y a t'il une commande speciale?
Si votre prof vous a dit que ça ne marchait pas sans vous en dire plus, c'est sans doute qu'il s'attend à ce que vous fassiez ça en exercice. Aussi, réfléchissez-y, ça n'a rien de difficile, de faire une fonction qui prend un char en paramètre et qui renvoye l'entier int correspondant.
-- win the yes need the no to win against the no!
James Kanze
Jude wrote:
BigInt::BigInt (string const& chaine) { for (int i=0; i<chaine.size(); ++i) { chiffres.push_back (chaine[i]-'0'); // le coup du " -'0' " me paraît discutable, mais bon... } }
ou, mieux :
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i ! >> chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié d'avance que la chaîne ne contient que des chiffres (isdigit() renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme ça que je ferais, parce que j'aimerais bien que le même code fonctionne aussi pour des chiffres hexadécimaux. Mais pour les chiffres décimaux, c'est garanti par la norme.)
Je cherche en fait juste a vouloir convertir en un entier le caractere contenue dans ma chaine.
S'il s'agit uniquement de convertir un seul chiffre, de '0' à '9', et qu'on sait que isdigit renvoie true, ch - '0' est la façon la plus simple à en avoir la valeur du chiffre dans un entier.
Il y a t'il une commande speciale?
Ça dépend ce que tu veux faire. Pour convertir une chaîne en entier, il existe plusieurs possibilités. Pour convertir un seul chiffre, sans en faire une chaîne, il n'y a rien de prévu, à part la soustraction de '0'.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Jude wrote:
BigInt::BigInt (string const& chaine) {
for (int i=0; i<chaine.size(); ++i)
{
chiffres.push_back (chaine[i]-'0'); // le coup du " -'0'
" me paraît discutable, mais bon...
}
}
ou, mieux :
BigInt::BigInt (string const& chaine) {
for (string::const_iterator i= chaine.begin(); i ! >> chaine.end(); ++i)
{
chiffres.push_back (*i - '0'); // même remarque sur "
-'0' ".
}
}
Oui vous avez raison de vouloir discuter sur le -'0' car cela
ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié
d'avance que la chaîne ne contient que des chiffres (isdigit()
renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme
ça que je ferais, parce que j'aimerais bien que le même code
fonctionne aussi pour des chiffres hexadécimaux. Mais pour les
chiffres décimaux, c'est garanti par la norme.)
Je cherche en fait juste a vouloir convertir en un entier le
caractere contenue dans ma chaine.
S'il s'agit uniquement de convertir un seul chiffre, de '0' à
'9', et qu'on sait que isdigit renvoie true, ch - '0' est la
façon la plus simple à en avoir la valeur du chiffre dans un
entier.
Il y a t'il une commande speciale?
Ça dépend ce que tu veux faire. Pour convertir une chaîne en
entier, il existe plusieurs possibilités. Pour convertir un seul
chiffre, sans en faire une chaîne, il n'y a rien de prévu, à
part la soustraction de '0'.
--
James Kanze mailto: james.kanze@free.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
BigInt::BigInt (string const& chaine) { for (int i=0; i<chaine.size(); ++i) { chiffres.push_back (chaine[i]-'0'); // le coup du " -'0' " me paraît discutable, mais bon... } }
ou, mieux :
BigInt::BigInt (string const& chaine) { for (string::const_iterator i= chaine.begin(); i ! >> chaine.end(); ++i) { chiffres.push_back (*i - '0'); // même remarque sur " -'0' ". } }
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié d'avance que la chaîne ne contient que des chiffres (isdigit() renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme ça que je ferais, parce que j'aimerais bien que le même code fonctionne aussi pour des chiffres hexadécimaux. Mais pour les chiffres décimaux, c'est garanti par la norme.)
Je cherche en fait juste a vouloir convertir en un entier le caractere contenue dans ma chaine.
S'il s'agit uniquement de convertir un seul chiffre, de '0' à '9', et qu'on sait que isdigit renvoie true, ch - '0' est la façon la plus simple à en avoir la valeur du chiffre dans un entier.
Il y a t'il une commande speciale?
Ça dépend ce que tu veux faire. Pour convertir une chaîne en entier, il existe plusieurs possibilités. Pour convertir un seul chiffre, sans en faire une chaîne, il n'y a rien de prévu, à part la soustraction de '0'.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Loïc Joly
Jude wrote:
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié d'avance que la chaîne ne contient que des chiffres (isdigit() renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme ça que je ferais, parce que j'aimerais bien que le même code fonctionne aussi pour des chiffres hexadécimaux. Mais pour les chiffres décimaux, c'est garanti par la norme.)
Pourrais-tu citer une référence ? J'ai jetté un oeil et n'ai rien trouvé.
-- Loïc
Jude wrote:
Oui vous avez raison de vouloir discuter sur le -'0' car cela
ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié
d'avance que la chaîne ne contient que des chiffres (isdigit()
renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme
ça que je ferais, parce que j'aimerais bien que le même code
fonctionne aussi pour des chiffres hexadécimaux. Mais pour les
chiffres décimaux, c'est garanti par la norme.)
Pourrais-tu citer une référence ? J'ai jetté un oeil et n'ai rien trouvé.
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié d'avance que la chaîne ne contient que des chiffres (isdigit() renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme ça que je ferais, parce que j'aimerais bien que le même code fonctionne aussi pour des chiffres hexadécimaux. Mais pour les chiffres décimaux, c'est garanti par la norme.)
Pourrais-tu citer une référence ? J'ai jetté un oeil et n'ai rien trouvé.
-- Loïc
kanze
Loïc Joly wrote:
Jude wrote:
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié d'avance que la chaîne ne contient que des chiffres (isdigit() renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme ça que je ferais, parce que j'aimerais bien que le même code fonctionne aussi pour des chiffres hexadécimaux. Mais pour les chiffres décimaux, c'est garanti par la norme.)
Pourrais-tu citer une référence ? J'ai jetté un oeil et n'ai rien trouvé.
Je ne sais pas où le chercher dans la norme C++ non plus.
Dans la norme C, §5.2.1/3, on a « In both the source and execution basic character sets, the value of each character after 0 in the above list of decimal digits shall be one greater than the value of the previous. » Je ne trouve pas où on le dit dans la norme C++, mais je ne crois pas que l'intention était d'être différent de C ici. (Au moins, cette différence n'apparaît pas dans l'appendice C.1.)
Est-ce qu'il faut poser la question dans comp.std.c++ ?
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Loïc Joly wrote:
Jude wrote:
Oui vous avez raison de vouloir discuter sur le -'0' car
cela ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a
vérifié d'avance que la chaîne ne contient que des chiffres
(isdigit() renvoie vrai), je ne vois pas le problème. (Ce
n'est pas comme ça que je ferais, parce que j'aimerais bien
que le même code fonctionne aussi pour des chiffres
hexadécimaux. Mais pour les chiffres décimaux, c'est garanti
par la norme.)
Pourrais-tu citer une référence ? J'ai jetté un oeil et n'ai
rien trouvé.
Je ne sais pas où le chercher dans la norme C++ non plus.
Dans la norme C, §5.2.1/3, on a « In both the source and
execution basic character sets, the value of each character
after 0 in the above list of decimal digits shall be one greater
than the value of the previous. » Je ne trouve pas où on le dit
dans la norme C++, mais je ne crois pas que l'intention était
d'être différent de C ici. (Au moins, cette différence
n'apparaît pas dans l'appendice C.1.)
Est-ce qu'il faut poser la question dans comp.std.c++ ?
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Oui vous avez raison de vouloir discuter sur le -'0' car cela ne marche pas (une indication de notre prof d'info).
Ça dépend bien du contenu de la chaîne, non ? Si on a vérifié d'avance que la chaîne ne contient que des chiffres (isdigit() renvoie vrai), je ne vois pas le problème. (Ce n'est pas comme ça que je ferais, parce que j'aimerais bien que le même code fonctionne aussi pour des chiffres hexadécimaux. Mais pour les chiffres décimaux, c'est garanti par la norme.)
Pourrais-tu citer une référence ? J'ai jetté un oeil et n'ai rien trouvé.
Je ne sais pas où le chercher dans la norme C++ non plus.
Dans la norme C, §5.2.1/3, on a « In both the source and execution basic character sets, the value of each character after 0 in the above list of decimal digits shall be one greater than the value of the previous. » Je ne trouve pas où on le dit dans la norme C++, mais je ne crois pas que l'intention était d'être différent de C ici. (Au moins, cette différence n'apparaît pas dans l'appendice C.1.)
Est-ce qu'il faut poser la question dans comp.std.c++ ?
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34