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 de division (C++)

Pseudo supprimé
Pseudo supprimé 06 septembre 2003 à 00:43:01

Voilà j´ai fait un mini programme, qui, d´après votre age, calcule combien de mois/jours/secondes et minutes depuis que vous êtes nés se sont écoules, tout se passe bien jusqu´à la division donc des secondes en minutes :

Code source :

  1. include < iostream.h>

//Déclare les Variables

float Age ;
float Mois ;
float Jours ;
float Secondes ;
float Minutes ;
int Exit ;

int main()
{

cout<<"******************************************

    • *********************************"<<endl ;

cout<<"Grace a ce programme, vous pourrez savoir depuis combien de temps en secondes"<<endl<<", heures et jours vous etes ne, uniquement grace a votre age ! "<<endl ;
cout<<"Veuillez entrer votre age ( en nombre entier sans decimale) : " <<endl ;
cin > > Age ;

Mois = Age * 12 ;
Jours = Age * ( 31*6) + ( 31*5) + ( 28*1) ;
Secondes = Age * 31449600 ;
Minutes = Secondes / 60 ;

cout < < " Vous etes ne y´a " <<Mois<< " mois!"<<endl ;
cout < < " Vous etes ne y´a " < <Jours<< " jours!"<<endl ;
cout < < " Vous etes ne y´a " < <Secondes<<" secondes, soit " < <Minutes<<" minutes!"<<endl ;
cout < <
"*************************************************

    • ************************"<<endl ;

cin > > Exit ;

return 0 ;
}

Je marque par exmeple " 12" les jours et mois impec mais c´est les secondes ça marque ceci :

" Vous etes ne y´a secondes, soit 3.77395e +008 secondes, soit 6.28992e +006 minutes!"

C´ets quoi ce merdier de résultat ? ???

Helectro
Helectro
Niveau 8
06 septembre 2003 à 01:40:29

Ton programme fonctionne correctement.

Pseudo supprimé
Pseudo supprimé 06 septembre 2003 à 02:00:31

Oui je sais mais pourquoi ça marque une réponse " bizarre" aux niveau des secondes ? ????

i_am_the_law
i_am_the_law
Niveau 6
06 septembre 2003 à 02:14:02

fais Minutes = secondes / 60.0
ou bien force la conversion
Minutes = secondes / ( float)60 si par exemple le 60 etait une variable.

arnaud81
arnaud81
Niveau 7
06 septembre 2003 à 02:16:22

je pense que c´est tout simple :

il suffit de forcer la conversion en entier

cout<<"Vous etes ne y´a"<< ( int)Secondes<<" secondes, soit"<<(int)Minutes<<" minutes!"<<endl ;

et ca devrait marcher....

i_am_the_law
i_am_the_law
Niveau 6
06 septembre 2003 à 02:17:58

erf ca envoie tjrs trop tot, si ca marque e+8 ca veut dire que tu dois multiplie le nombre par 10^8

freepwood
freepwood
Niveau 5
06 septembre 2003 à 02:20:01

Heu je peux savoir pourquoi tu as fait:
Jours = Age * ( 31*6) + ( 31*5) + ( 28*1) ;
Et pas:
Jours = Age * 365

?

C´est juste un avis comme sa !

Pseudo supprimé
Pseudo supprimé 06 septembre 2003 à 02:23:47

Merci arnaud, ça marche, explique ce que tu as fait en fait stp :)

Pseudo supprimé
Pseudo supprimé 06 septembre 2003 à 02:25:44

Lol effectivement, je me suis compliqu"é la vie pour rien :) dans ma tête, 365 jours ne m´ai pas venu, en fait c´es toujours comme ça, je me complique tjrs la vie alors qu´il y´a plus simple :) !

Blawk
Blawk
Niveau 10
06 septembre 2003 à 16:31:30

Juste un GROS problème, comment veux-tu donner l´âge à la SECONDE près alors que tu n´a que comme donnée l´âge en année entière ? ????

Pseudo supprimé
Pseudo supprimé 06 septembre 2003 à 17:04:00

Effectivement, mais j´avais pensé à ce problème avant que tu le dises, c´ets pour ça que je le remake :)(mon prog)

JeanYvesYves
JeanYvesYves
Niveau 10
06 septembre 2003 à 17:05:27

déja, oublie les float, met des doubles si tu veux rester en virgule flottante.

ENsuite si c´est un nombre de secondes, pkoi mettre des virgules flottantes ?
met des int.

Pseudo supprimé
Pseudo supprimé 06 septembre 2003 à 17:15:39

Okay, Okay !

arnaud81
arnaud81
Niveau 7
06 septembre 2003 à 20:22:10

c simple :

tu affiche des float, et cout a l´habitude d´afficher les floats dans le format scientifique je crois. ( ou qqchose qui represnte ton chiffre, mais pas dans notre traditionnelle base 10).

J´ai donc forcé la convertion en INT comme propose les autres simplement pourque cout affichage la réponse correctement ( enfin, dans un format que NOUS pauvres humains, comprenons).

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