Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien LE LEZ
On Sun, 11 Apr 2004 12:41:38 +0200, "pascal baufre" wrote:
#include <stdio.h>
Inutile
#include <iostream.h>
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 :
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).
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 :
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).
On Sun, 11 Apr 2004 12:41:38 +0200, "pascal baufre" wrote:
#include <stdio.h>
Inutile
#include <iostream.h>
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 :
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).
-- ;-) FLL, Epagneul Breton
Loïc Joly
pascal baufre wrote:
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:
Les headers standard C++ sont <cstdio>, <iostream> et <cstdlib>. Pour 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.
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
Les headers standard C++ sont <cstdio>, <iostream> et <cstdlib>. Pour
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.
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
Les headers standard C++ sont <cstdio>, <iostream> et <cstdlib>. Pour 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.
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
Les headers standard C++ sont <cstdio>, <iostream> et <cstdlib>. Pour 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.)
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.
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.
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.
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.
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 :-). (En revanche, dans un bouquin qui utilise 20.6, ce n'est pas étonnant de voir <iostream.h> :-). 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: 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
Loïc Joly <loic.actarus.joly@wanadoo.fr> wrote in message
news:<c5b9mv$pgr$1@news-reader4.wanadoo.fr>...
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:
Les headers standard C++ sont <cstdio>, <iostream> et <cstdlib>. Pour
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.)
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.
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.
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.
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.
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 :-). (En revanche,
dans un bouquin qui utilise 20.6, ce n'est pas étonnant de voir
<iostream.h> :-). 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@gabi-soft.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
Les headers standard C++ sont <cstdio>, <iostream> et <cstdlib>. Pour 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.)
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.
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.
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.
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.
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 :-). (En revanche, dans un bouquin qui utilise 20.6, ce n'est pas étonnant de voir <iostream.h> :-). 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: 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
kanze
Fabien LE LEZ wrote in message news:...
On Sun, 11 Apr 2004 12:41:38 +0200, "pascal baufre" wrote:
#include <stdio.h>
Inutile
#include <iostream.h>
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 <iostream>
#include <ostream> #include <iostream>
#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 <iostream.h>:-).
Il ne l'a pas dit, mais c'est la seule chose où je verrai une erreur à la compilation avec un compilateur moderne.
{ AfficheTCC(1000.20);
Erreur de frappe ici
Où ? Je ne le vois pas.
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++ ?)
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: 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
Fabien LE LEZ <gramster@gramster.com> wrote in message
news:<6l9i7016poaqq8crhmd0rg5icm3jhv2eb6@4ax.com>...
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 <iostream>
#include <ostream>
#include <iostream>
#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 <iostream.h>:-).
Il ne l'a pas dit, mais c'est la seule chose où je verrai une erreur à
la compilation avec un compilateur moderne.
{
AfficheTCC(1000.20);
Erreur de frappe ici
Où ? Je ne le vois pas.
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++ ?)
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@gabi-soft.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
On Sun, 11 Apr 2004 12:41:38 +0200, "pascal baufre" wrote:
#include <stdio.h>
Inutile
#include <iostream.h>
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 <iostream>
#include <ostream> #include <iostream>
#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 <iostream.h>:-).
Il ne l'a pas dit, mais c'est la seule chose où je verrai une erreur à la compilation avec un compilateur moderne.
{ AfficheTCC(1000.20);
Erreur de frappe ici
Où ? Je ne le vois pas.
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++ ?)
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: 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
Fabien LE LEZ
On 13 Apr 2004 05:49:16 -0700, wrote:
Erreur de frappe ici
Où ? Je ne le vois pas.
TCC au lieu de TTC.
-- ;-) FLL, Epagneul Breton
On 13 Apr 2004 05:49:16 -0700, kanze@gabi-soft.fr wrote: