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

Probleme avec C++

ps2M
ps2M
Niveau 6
01 novembre 2004 à 00:47:48

Salut,

J´ai ( encore ) un probleme avec le C++, j´ai fai nu petit code qui nous propose de marquer notre age et le n° de notre mois de naissance puis qui le repette apres.

Mais il ne fonctionne pas et je ne comprend pas pourquoi

Voici le code :
---------------------------------

/ / Code perso
/ / C´est partit !

  1. include < iostream>

using namespace std;

int main()
{
double age(0);
double mois(0);

int AA(0);
int BB(0);
int bientot(AA++);

cout < < endl;
cout < < " Voyez entrez votre age : " ;
cin > > age;

cout < < endl;
cout < < " Entrez maintenant le numéro de votre mois de naissance ( Janvier = 1 ) : " ;
cin > > mois;

AA = age;
BB = mois;

cout > > endl;
cout > > " Vous avez " < < AA < < " ans, votre mois de naissance est " < < BB < < " et aurez bientot " < < bientot < <" ans.";
cout > > endl;

return 0;

}

---------------------------------

Pour double, je ne sais absolument pas à quoi ça sert mais en fait je me suis servis du code de mon bouquin et je l´ai modifier :-)

Voila

ps2M
ps2M
Niveau 6
01 novembre 2004 à 00:52:14

légerement modifié :

--------------------------------------
/ / Code perso
/ / C´est partit !

  1. include < iostream>

using namespace std;

int main()
{
double age(0);
double mois(0);

int AA(age);
int BB(mois);
int bientot(AA++);

cout < < endl;
cout < < " Voyez entrez votre age : " ;
cin > > age;

cout < < endl;
cout < < " Entrez maintenant le numéro de votre mois de naissance ( Janvier = 1 ) : " ;
cin > > mois;

cout > > endl;
cout > > " Vous avez " < < AA < < " ans, votre mois de naissance est le numéro " < < BB < < " et vous aurez bientot " < < bientot < <" ans.";
cout > > endl;

return 0;

}
--------------------------------------

Vpoila

dnob700
dnob700
Niveau 10
01 novembre 2004 à 00:57:01

a quoi sers AA et BB ?
et même problème que la dernière fois :

si tu dit au prog que b vaut 1 que a prend la valeur de b puis que b vaut 2 alors a vaudra 1 car même si tu a dit qu´il prenait la valeur de b, tu l´a dit AVANT que b ne change de valeur.

rien n´est retroactif en ce bas monde. le bon code est donc :

/ / Code perso
/ / C´est partit !

  1. include < iostream>

using namespace std;

int main()
{
double age;
double mois;

cout < < endl;
cout < < " Voyez entrez votre age : " ;
cin > > age;

cout < < endl;
cout < < " Entrez maintenant le numéro de votre mois de naissance ( Janvier = 1 ) : " ;
cin > > mois;

cout > > endl;
cout > > " Vous avez " < < age < < " ans, votre mois de naissance est le numéro " < < mois < < " et vous aurez bientot " < < age+1 < < " ans."; / /il ne faut pas utilisez age++ sinon age est modifié, en règle général il ne faut pas utiliser ++ sauf quand c´est vraiment nécessaire.
cout > > endl;

return 0;

}

ps2M
ps2M
Niveau 6
01 novembre 2004 à 01:11:14

Ca ne fonctionne toujours pas... voici ce qu´on me dit :

--------------------Configuration: age - Win32 Debug--------------------
Compiling...
age.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\age.cpp(20) : error C2676: binary ´>>´ : ´class std::basic_ostream<char,struct std::char_traits<char> > ´ does not define this operator or a conversion to a type acceptable to the predefined op
erator
C:\Program Files\Microsoft Visual Studio\MyProjects\Marc\age.cpp(21) : error C2676: binary ´>>´ : ´class std::basic_ostream<char,struct std::char_traits<char> > ´ does not define this operator or a conversion to a type acceptable to the predefined op
erator
C:\Program Files\Microsoft Visual Studio\MyProjects\Marc\age.cpp(22) : error C2676: binary ´>>´ : ´class std::basic_ostream<char,struct std::char_traits<char> > ´ does not define this operator or a conversion to a type acceptable to the predefined op
erator
Error executing cl.exe.

age.exe - 3 error(s), 0 warning(s)

Mais moi je sais pas ce que ça signifie -__-

ps2M
ps2M
Niveau 6
01 novembre 2004 à 01:18:46

a non c´est bon, il y avait > > qui était inversé donc c´est pour ça..

Merci j´ai compris maintenant, je vais essayer de l´améliorer :-)

Voila

Lapintade
Lapintade
Niveau 30
01 novembre 2004 à 12:31:51

double c´est un reel en 64 bits je crois.
D´une maniere general, vaut mieux utiliser un " float" plutot qu´un " double", ca suffit souvent.

Dans ton cas, ca sert a rien du tout la :), utilise un int tout simplement.

0[0]7
0[0]7
Niveau 6
01 novembre 2004 à 14:02:16

Ca fait bizarre de demander l´âge et le mois de naissance Ôô

Demande plutôt l´âge et l´ ANNÉE de naissance, ça le fera plus ; )

(
" cout < < " Voyez entrez votre age : " ; "

C´EST VEUILLEZ PAS VOYEZ :lol:

)

LeSalaud
LeSalaud
Niveau 5
01 novembre 2004 à 14:06:21

Une fonction main n´accepte pas de retour de valeur ( ce que je trouve d´une logique assez limpide vu que je vois pas a qui elle l´enverrais) il faut donc faire void main() et pas de return.

Mouuh
Mouuh
Niveau 6
01 novembre 2004 à 15:48:55

La fonction main accepte une valeure de retour ( ce que je trouve d´une logique assez limpide parce que sinon cela ne saurait pas une fonction mais une procédure) il faut donc faire int main(void) et un return 0.

LGV
LGV
Niveau 28
01 novembre 2004 à 19:53:01

ça va plaire à kUfa ça, s´il passe ici... Depuis le temps qu´il s´evertue à repeter que rien n´impose la signature du main... Au passage il n´y a de différence entre fonction et procédure que dans les langage qui la font.

tant qu´à y etre, pour les types primitifs on évite généralement la forme " constructeur" pour se contenter d´un opérateur d´affectation standard ( autrement dit, ne pas écrire int AA(0); mais int AA = 0; les caps pour une var n´étant d´ailleurs pas tres indiquées)

dnob700
dnob700
Niveau 10
01 novembre 2004 à 20:35:08

mais même si rien n´oblige à donner une valeur de retour à la fonction main ( c´est ce que dit kufa ? ) rien n´oblige non plus à ne pas en donner.

donc ce que dit LeDebile l´est.
La fonction main renvoie une valeur à l´OS ce qui permet de savoir si elle s´est correctement terminée ou non.

briac
briac
Niveau 6
01 novembre 2004 à 21:17:01

Retourner une valeur à la fonction main est standard AINSI. Donc si tu le fais pas, tu n´es pas conforme au standard.

dnob700
dnob700
Niveau 10
01 novembre 2004 à 22:35:43

c´est vrai, en tout cas pour le AINSI, je sais pas trop pour les autre norme ( les iso je sais as quoi).

mais come si tu mets pas int main() mais main() tout court le compilo va supposer que c´est int quand même et qu´en plus si tu mets pas de return il supposera que c´est return 0 alors finalement en ne mettant rien on n´y perd pas.

briac
briac
Niveau 6
02 novembre 2004 à 10:26:23

Il n´y a pas plusieurs normes pour le C++ ( enfin les normes ont été fait au fur et à mesure).

Le standard du C++ a été finalisé et adopté par l´ISO ( International Organization for Standardization) et par d´autres organismes de normalisation tels que l´ANSI ( The American National Standards Institute), le BSI ( The British Standards Institute), le DIN ( The German National Standards Organization).
L´adoption du standard s´est faite à l´unanimité le 14 novembre 1997.

Le comité ANSI C++ est appelé " X3J16". Le groupe de travail de l´ISO se nomme " WG21". Le processus de normalisation implique un grand nombre d´acteurs : des représentants de l´Australie, du Canada, du Danemark, de la France, de l´Allemangne, de l´Irelande, du Japon, de la Hollande, de la Nouvelle-Zélande, de la Suède, du Royaume-Uni, et des Etats-Unis ainsi que des représentants d´une centaine de sociétés, ansi que de nombreux particuliers impliqués. Les acteurs majeurs incluent AT&, Ericsson, Digital, Borland, Hewlett Packard, IBM, Mentor Graphics, Microsoft, Silicon Graphics, Sun Microsystems et Siemens. Après 8 ans de travaux, le standard est maintenant finalisé. Le standard à été approuvé par un vote à l´unanimité des représentants présents à Morristown le 14 novembre 1997.

http://c.developpez.com/faq/cpp/?page=generalites#GENERALITE_parfait

Mouuh
Mouuh
Niveau 6
02 novembre 2004 à 10:30:31

dnoob700>Cela était valable en C90. En C99 une fonction non typée n´est plus considérée comme retournant un int.

LGV
Posté le 01 novembre 2004 à 19:53:01
Au passage il n´y a de différence entre fonction et procédure que dans les langage qui la font.

La distiction se fait-elle en C/C++ ?

dnob700
dnob700
Niveau 10
02 novembre 2004 à 12:04:17

en C toute les fonction/procédure sont des fonctions.

même si le fait qu´on puisse déclarer certaine fonction comme void est très proche du fait qu´il s´agisse d´une procédure. Il n´y a pas vraiment de différence fondamentale.

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