C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

pourquoi ça ne se compile pas ??

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
pascal baufre
Guest





PostPosted: Sun Apr 11, 2004 10:41 am    Post subject: pourquoi ça ne se compile pas ?? Reply with quote



Salut tout le monde,



J'ai un programme de rien du tout mais il me met une erreur de compliation.
Le programme qu j'ai recopier est issu du livre:

Le langage C++

aux édition CampusPress


Merci a tous

Pascal
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>

void AfficheTTC(float HT,float TauxTVA=0.206)
{

float TTC =HT *(1+TauxTVA );
cout<<"TTC :" < }

main()
{

AfficheTCC(1000.20);
AfficheTTC(1000.20, 0.055);
}


Back to top
Fabien LE LEZ
Guest





PostPosted: Sun Apr 11, 2004 11:10 am    Post subject: Re: pourquoi ça ne se compile pas ?? Reply with quote



On Sun, 11 Apr 2004 12:41:38 +0200, "pascal baufre"
<pascal.baufre (AT) free (DOT) fr> wrote:

Quote:
#include <stdio.h

Inutile

Quote:
#include

Problème assez compliqué -- on en a parlé et reparlé ici, mais je ne
suis toujours pas trop sûr du fonctionnement de ce header suivant les
compilos.
Quoi qu'il en soit, si tu as un compilo récent, mieux vaut écrire :

#include
Quote:
#include

Inutile

Quote:
void AfficheTTC(float HT,float TauxTVA=0.206)

Un peu vieux, ton taux de TVA...

Quote:
{

float TTC =HT *(1+TauxTVA );
cout<<"TTC :" <

std::cout

Quote:
}

main()

int main()

Quote:
{

AfficheTCC(1000.20);

Erreur de frappe ici

Quote:
AfficheTTC(1000.20, 0.055);
}

Si l'auteur du livre a vraiment écrit "main" sans le "int" devant,
change de livre.
J'ai la nette impression que la majorité des auteurs de "livres sur le
C++" sont des gens qui connaissent bien le C, et qui commencent à
tenter une vague reconversion vers le C++, avec plus ou moins de
succès (plutôt moins que plus).

--
Wink
FLL, Epagneul Breton

Back to top
Loïc Joly
Guest





PostPosted: Sun Apr 11, 2004 11:25 am    Post subject: Re: pourquoi ça ne se compile pas ?? Reply with quote



pascal baufre wrote:

Quote:
Salut tout le monde,



J'ai un programme de rien du tout mais il me met une erreur de compliation.
Le programme qu j'ai recopier est issu du livre:

Le langage C++

aux édition CampusPress

Oh, la belle cale pour armoire bancale....

Quote:
#include <stdio.h
#include #include

Les headers standard C++ sont des raisons historiques, les headers que tu utilise sont encore
disponible dans tous les compilateurs, mais si tu apprend le langage,
autant utiliser du C++ actuel et non par du C++ des grand-pères.

Quote:
void AfficheTTC(float HT,float TauxTVA=0.206)

Pourquoi float et pas double ? A moins de vraiment s'y connaître là dans
l'arithmétique de flottants, je conseillerai d'utiliser des doubles. Ca
ne garanti par de ne pas avoir de mauvaises surprises, mais au moins, on
en a moins souvent.

Et puis surtout, float et double sont tous deux inadaptés pour faire du
calcul financier, puisque les règles d'arrondi ne sont pas celles
spécifiées dans les diverses lois.

De plus, question de style, j'exprimmerai plutôt le taux TVA sous la
forme 20.6

Quote:
{

float TTC =HT *(1+TauxTVA );
cout<<"TTC :" < }

main()

main doit retourner un int.

Quote:
{

AfficheTCC(1000.20);
AfficheTTC(1000.20, 0.055);
}

--
Loïc

Back to top
Alain Naigeon
Guest





PostPosted: Sun Apr 11, 2004 7:18 pm    Post subject: Re: pourquoi ça ne se compile pas ?? Reply with quote

"Loïc Joly" <loic.actarus.joly (AT) wanadoo (DOT) fr> a écrit dans le message news:
c5b9mv$pgr$1 (AT) news-reader4 (DOT) wanadoo.fr...

Quote:
De plus, question de style, j'exprimmerai plutôt le taux TVA sous la
forme 20.6

Qui plus est, question de fond, j'irais jusqu'à préférer 19.6 ;-)

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - [email]anaigeon (AT) free (DOT) fr[/email] - Strasbourg, France



Back to top
kanze@gabi-soft.fr
Guest





PostPosted: Tue Apr 13, 2004 12:13 pm    Post subject: Re: pourquoi ça ne se compile pas ? ? Reply with quote

Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> wrote

Quote:
pascal baufre wrote:

J'ai un programme de rien du tout mais il me met une erreur de
compliation. Le programme qu j'ai recopier est issu du livre:

Le langage C++

aux édition CampusPress

Oh, la belle cale pour armoire bancale....

#include <stdio.h
#include #include
Les headers standard C++ sont des raisons historiques, les headers que tu utilise sont encore
disponible dans tous les compilateurs, mais si tu apprend le langage,
autant utiliser du C++ actuel et non par du C++ des grand-pères.

D'abord, <stdio.h> et <stdlib.h> font bien partie de la nouvelle norme
aussi. Quant à <iostream.h>, si c'est vrai que la plupart des
compilateurs fournissent un en-tête de ce nom, ce n'est sûrement pas
pour des raisons historiques, au moins dans le cas de g++, parce que le
contenu de cet en-tête chez eux n'a pas grand chose à voir avec son
contenu historique. (Mais c'est une manie chez g++ -- les anciennes
versions du compilateur fournissait un <iostream> qui n'avait rien à
voir avec le <iostream> standard non-plus.)

Quote:
void AfficheTTC(float HT,float TauxTVA=0.206)

Pourquoi float et pas double ?

Pourquoi pas ? D'après les noms, il s'agit de la comptabilité. Donc,
float ou double, il ne peut s'agir que des calculs approximatifs, qui ne
peuvent pas servir légalement à la comptabilité ou à la facturation.

Quote:
A moins de vraiment s'y connaître là dans l'arithmétique de flottants,
je conseillerai d'utiliser des doubles.

À moins de vraiment s'y connaître dans l'arithmétique de flottants, je
conseillerais de les éviter complètement.

Quote:
Ca ne garanti par de ne pas avoir de mauvaises surprises, mais au
moins, on en a moins souvent.

Ça dépend ce qu'on en fait. Moi, je n'utilise les flottants que pour
caluler des percentages, pour des affichages grosso modo. J'utilise les
double, parce que c'est le type par défaut de C++, mais les résultats
seraient tout aussi bons avec des float. En revanche, si tu cherches à
calculer des prix avec TVA pour la facturation, tu vas avoir des
surprises avec des double aussi. Peut-être moins souvent, c'est vrai --
peut-être ça ne serait qu'une facture en mille qui est faux, à la place
d'une en cinq cents. Mais en matière de facturation, tu n'as normalement
pas droit à l'erreur -- ni une fois en cinq cent, ni une fois en mille.

Mais c'est vrai que même sur des choses assez quotidiennes, comme des
voitures, l'erreur avec float serait flagrante. Tandis qu'avec double,
elle risque de passer inaperçue jusqu'au contrôl fiscal.

Quote:
Et puis surtout, float et double sont tous deux inadaptés pour faire
du calcul financier, puisque les règles d'arrondi ne sont pas celles
spécifiées dans les diverses lois.

Exactement.

Quote:
De plus, question de style, j'exprimmerai plutôt le taux TVA sous la
forme 20.6

Question de substance, je préfèrerais la forme 19.6 Smile. (En revanche,
dans un bouquin qui utilise 20.6, ce n'est pas étonnant de voir
<iostream.h> Smile. Voire même l'int implicit.)

Question de style, je n'accepterais pas un programme où la valeur
apparaissait comme une constante, plutôt que d'être lue d'un fichier de
configuration.

Mais j'imagine que c'est plutôt un exercise de style que de la
programmation concrète. Et que si on peut bien poser certaines questions
(pourquoi float, quand double est plus idiomatique en C++ ?), certains
problèmes sont bien à mettre sur l'âge du livre.

--
James Kanze GABI Software mailto:kanze (AT) gabi-soft (DOT) fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Back to top
kanze@gabi-soft.fr
Guest





PostPosted: Tue Apr 13, 2004 12:49 pm    Post subject: Re: pourquoi ça ne se compile pas ?? Reply with quote

Fabien LE LEZ <gramster (AT) gramster (DOT) com> wrote

Quote:
On Sun, 11 Apr 2004 12:41:38 +0200, "pascal baufre"
[email]pascal.baufre (AT) free (DOT) fr[/email]> wrote:

#include <stdio.h

Inutile

#include
Problème assez compliqué -- on en a parlé et reparlé ici, mais je ne
suis toujours pas trop sûr du fonctionnement de ce header suivant les
compilos.
Quoi qu'il en soit, si tu as un compilo récent, mieux vaut écrire :

#include

#include #include <iostream>

Quote:
#include <stdlib.h

Inutile

void AfficheTTC(float HT,float TauxTVA=0.206)

Un peu vieux, ton taux de TVA...

Ce qui explique peut-être aussi le coup de .

Quote:
{
float TTC =HT *(1+TauxTVA );
cout<<"TTC :" <
std::cout

Pas s'il a inclu
Quote:
}

main()

int main()

Il ne l'a pas dit, mais c'est la seule chose où je verrai une erreur à
la compilation avec un compilateur moderne.

Quote:
{
AfficheTCC(1000.20);

Erreur de frappe ici

Où ? Je ne le vois pas.

Quote:
AfficheTTC(1000.20, 0.055);
}

Si l'auteur du livre a vraiment écrit "main" sans le "int" devant,
change de livre.

En effet. Bien avant que l'int implicit a été interdit, c'était mal vue.
(D'ailleurs, est-ce qu'il a jamais été légal en C++ ?)

Quote:
J'ai la nette impression que la majorité des auteurs de "livres sur le
C++" sont des gens qui connaissent bien le C, et qui commencent à
tenter une vague reconversion vers le C++, avec plus ou moins de
succès (plutôt moins que plus).

C'est le prix de la réussite. Quand j'ai commencé le C++, j'ai
l'impression qu'il n'y avait que de bons livres : Stroustrup, Murray,
Lippman, Cargil, Lucas (tous de AT&T, d'ailleurs)... Depuis, Meyers,
Sutter et dernièrement Vandevoorde et Josuttis sont venus s'y joindre,
mais il y en a tellement d'autres...

--
James Kanze GABI Software mailto:kanze (AT) gabi-soft (DOT) fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Back to top
Fabien LE LEZ
Guest





PostPosted: Tue Apr 13, 2004 6:32 pm    Post subject: Re: pourquoi ça ne se compile pas ?? Reply with quote

On 13 Apr 2004 05:49:16 -0700, [email]kanze (AT) gabi-soft (DOT) fr[/email] wrote:

Quote:
Erreur de frappe ici

Où ? Je ne le vois pas.

TCC au lieu de TTC.

--
Wink
FLL, Epagneul Breton

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.