Programme C probleme
jason-live
Messages postés
218
Statut
Membre
-
Pilow Messages postés 410 Statut Membre -
Pilow Messages postés 410 Statut Membre -
Bonjour,
voici mon mini programme :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombreEnMillimetre, nombreEnCentimetre = 0 ;
printf("***** BIENVENUE DANS CE MINI PROGRAMME DE CONVERSION *****\n\n");
printf (" Entrez un nombre avec unite le millimetre pour le convertir en centimetre \n\n");
scanf ("%d", &nombreEnMillimetre);
nombreEnCentimetre = nombreEnMillimetre * 10;
printf ("%d millimetre est egal a %d centimetre \n\n", nombreEnMillimetre, nombreEnCentimetre);
system ("PAUSE");
return 0;
}
quand je fais 10 millimetre sa me dit 10 millimetre est egal a 100 centimetre
il ya un probleme, comment pourais-je faire pour avoir une vrai conversion???????
voici mon mini programme :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombreEnMillimetre, nombreEnCentimetre = 0 ;
printf("***** BIENVENUE DANS CE MINI PROGRAMME DE CONVERSION *****\n\n");
printf (" Entrez un nombre avec unite le millimetre pour le convertir en centimetre \n\n");
scanf ("%d", &nombreEnMillimetre);
nombreEnCentimetre = nombreEnMillimetre * 10;
printf ("%d millimetre est egal a %d centimetre \n\n", nombreEnMillimetre, nombreEnCentimetre);
system ("PAUSE");
return 0;
}
quand je fais 10 millimetre sa me dit 10 millimetre est egal a 100 centimetre
il ya un probleme, comment pourais-je faire pour avoir une vrai conversion???????
A voir également:
- Programme C probleme
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
59 réponses
essaye plutot ca:
nombreEnCentimetre = nombreEnMillimetre /10;
Mais tu risque de rencontrer des problèmes d'arrondis.
Les nombres en virgulle flottante seraient plus appropriés.
nombreEnCentimetre = nombreEnMillimetre /10;
Mais tu risque de rencontrer des problèmes d'arrondis.
Les nombres en virgulle flottante seraient plus appropriés.
Le seul problème, c'est qu'il n'aura aucun arrondi, uniquement la partie entière de NombreenCentimètre.
Il faut passer ta variable de int en float. Pense à changer les conversions dans tes printf.
Il faut passer ta variable de int en float. Pense à changer les conversions dans tes printf.
ok merci pour tout les gens =)
ça veut dire que de millimetre on veut passer par les unité vers la droite il faut diviser par 10 a chaque fois ?
et aussi par exemple je tape 93 et ca me met 93.000000 millimetre est egal a 9.300000 centimetre ;;; comment je fais pour réduire le nombre de zéro ?
voici mon code :
#include <stdio.h>
#include <stdlib.h>
int main()
{
float nombreEnMillimetre, nombreEnCentimetre = 0 ;
printf("***** BIENVENUE DANS CE MINI PROGRAMME DE CONVERSION *****\n\n");
printf (" Entrez un nombre avec unite le millimetre pour le convertir en centimetre \n\n");
scanf ("%f", &nombreEnMillimetre);
nombreEnCentimetre = nombreEnMillimetre / 10;
printf ("%f millimetre est egal a %f centimetre \n\n", nombreEnMillimetre, nombreEnCentimetre);
system ("PAUSE");
return 0;
}
ça veut dire que de millimetre on veut passer par les unité vers la droite il faut diviser par 10 a chaque fois ?
et aussi par exemple je tape 93 et ca me met 93.000000 millimetre est egal a 9.300000 centimetre ;;; comment je fais pour réduire le nombre de zéro ?
voici mon code :
#include <stdio.h>
#include <stdlib.h>
int main()
{
float nombreEnMillimetre, nombreEnCentimetre = 0 ;
printf("***** BIENVENUE DANS CE MINI PROGRAMME DE CONVERSION *****\n\n");
printf (" Entrez un nombre avec unite le millimetre pour le convertir en centimetre \n\n");
scanf ("%f", &nombreEnMillimetre);
nombreEnCentimetre = nombreEnMillimetre / 10;
printf ("%f millimetre est egal a %f centimetre \n\n", nombreEnMillimetre, nombreEnCentimetre);
system ("PAUSE");
return 0;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok merci bon je vais en rester là avec les fonction round je reste a la fonction normal de départ merci beaucoup ;)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float nombreEnMillimetre, nombreEnCentimetre = 0 ;
printf("***** BIENVENUE DANS CE MINI PROGRAMME DE CONVERSION *****\n\n");
printf (" Entrez un nombre avec unite le millimetre pour le convertir en centimetre \n\n");
scanf ("%f", &nombreEnMillimetre);
nombreEnCentimetre =nombreEnMillimetre / 10, 2;
printf ("%f millimetre est egal a %f centimetre \n\n", round(nombreEnMillimetre, 2), round(nombreEnCentimetre, 2));
system ("PAUSE");
return 0;
}
#include <stdlib.h>
#include <math.h>
int main()
{
float nombreEnMillimetre, nombreEnCentimetre = 0 ;
printf("***** BIENVENUE DANS CE MINI PROGRAMME DE CONVERSION *****\n\n");
printf (" Entrez un nombre avec unite le millimetre pour le convertir en centimetre \n\n");
scanf ("%f", &nombreEnMillimetre);
nombreEnCentimetre =nombreEnMillimetre / 10, 2;
printf ("%f millimetre est egal a %f centimetre \n\n", round(nombreEnMillimetre, 2), round(nombreEnCentimetre, 2));
system ("PAUSE");
return 0;
}
il y a un probleme a cette ligne : printf ("%f millimetre est egal a %f centimetre \n\n", round(nombreEnMillimetre, 2), round(nombreEnCentimetre, 2));
Pour moi le prototype de round c'est :
Et cette fonction renvoi la partie entière du nombre envoyé non ?
Donc pas de precision sur le nombre de decimale ?
En clair moi j'aurai mis :
Mais en ce cas tu n'as plus les chiffres après la virgule
Donne nous le message d'erreur pour + d'infos
double
round(double x);
Et cette fonction renvoi la partie entière du nombre envoyé non ?
Donc pas de precision sur le nombre de decimale ?
The round() functions return the integral value nearest to x rounding
half-way cases away from zero, regardless of the current rounding direc-
tion.
En clair moi j'aurai mis :
printf ("%f millimetre est egal a %f centimetre \n\n", round(nombreEnMillimetre), round(nombreEnCentimetre));
Mais en ce cas tu n'as plus les chiffres après la virgule
Donne nous le message d'erreur pour + d'infos
Le fonctionnement que tu viens de citer est celui de la fonction mathématique "Tronquer"... Il me semble que ce n'est pas le seul fonctionnement de round()
Il me semble, de mémoire, que round est surchargée.
non?
Il me semble, de mémoire, que round est surchargée.
double round(double x, int y);
non?
nan mais laisser c'est pas grave de toute facon je suis la lecon grace au site du 0 donc on en est pas encore au fontion math et tout laissez ...
des surcharges en C ??? oula...
en fait, j'ai confondu la fonction round() du C avec celle de php ><
en fait, j'ai confondu la fonction round() du C avec celle de php ><
Un des apports les plus intéressants du C++ par rapport au C, hormis l'ajout du concept objet, est la possibilité d'appeler plusieurs fonctions avec le même nom, pour peu que celle-ci aient leurs arguments différents (en type et/ou en nombre). Ce principe est appelé surcharge de fonction.
ça doit vouloir dire que non, pas en C ^^
sinon vous avez pas des petit exo que vous me dites de faire comme ce que je viens de faire mais pas des truc duure hin ^^ parce que je débute dans le C !!
merci a vous
merci a vous