Rechercher : dans
Par :

Programme C probleme

Dernière réponse le 21 oct 2009 à 09:57:47 jason-live, le 19 oct 2009 à 13:14:28 
 Signaler ce message aux modérateurs

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???????

Configuration: Windows Vista
Firefox 3.5.3

Meilleures réponses pour « programme C probleme » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...
Caractéristiques du langage C VoirLe fichier source Le fichier source d'un programme écrit en langage C est un simple fichier texte dont l'extension est par convention .c. Note d'un visiteur (J.Grondin) : L'extension est en minuscules. Le .C (majuscule) est interprété par...

1

swoog42, le 19 oct 2009 à 13:20:07

NombreEnCentimetre = nombreEnMillimetre * 10;
FAUX...

nombreEnCentimetre = nombreEnMillimetre / 10; Il a free, il a tout compris !

Répondre à swoog42

2

scaravenger, le 19 oct 2009 à 13:20:15

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.

Répondre à scaravenger

3

swoog42, le 19 oct 2009 à 13:23:55

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 a free, il a tout compris !

Répondre à swoog42

4

jason-live, le 19 oct 2009 à 13:36:04

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;
}

Répondre à jason-live

5

swoog42, le 19 oct 2009 à 13:39:46

Va voir du coté de la fonction round(), bibliotheque math.h il me semble Il a free, il a tout compris !

Répondre à swoog42

6

jason-live, le 19 oct 2009 à 13:43:55

Ok merci bon je vais en rester là avec les fonction round je reste a la fonction normal de départ merci beaucoup ;)

Répondre à jason-live

7

swoog42, le 19 oct 2009 à 13:52:32

#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;
} Il a free, il a tout compris !

Répondre à swoog42

8

jason-live, le 19 oct 2009 à 14:07:28

Explique moi ce que u as fais avec précision , j'ai du mal stp ;)

Répondre à jason-live

9

swoog42, le 19 oct 2009 à 14:08:44

J'ai inséré la fonction round() dans ton affichage, avec seulement 2 décimales Il a free, il a tout compris !

Répondre à swoog42

10

jason-live, le 19 oct 2009 à 14:09:04

Ah ok ok merci

Répondre à jason-live

11

swoog42, le 19 oct 2009 à 14:09:33

Essaye et dis moi si ca marche Il a free, il a tout compris !

Répondre à swoog42

12

jason-live, le 19 oct 2009 à 14:12:31

Il y a un probleme a cette ligne : printf ("%f millimetre est egal a %f centimetre \n\n", round(nombreEnMillimetre, 2), round(nombreEnCentimetre, 2));

Répondre à jason-live

13

Pilow, le 19 oct 2009 à 14:25:01

Pour moi le prototype de round c'est :

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 « Informatique : Alliance d'une science inexacte et d'une activité humaine faillible.»
« Si le déboguage est l’art d’enlever les bogues, alors la programmation doit être l’art de les créer.»

Répondre à Pilow

14

feadin91, le 19 oct 2009 à 14:33:00

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.

double round(double x, int y);


non? La cuillère n'existe pas!

Répondre à feadin91

15

Pilow, le 19 oct 2009 à 14:38:30

C'est fort possible.
« Informatique : Alliance d'une science inexacte et d'une ac­tivité humaine faillible.»
« Si le déboguage est l’art d’enlever les bogues, alors la p­rogrammation doit être l’art de les créer.»

Répondre à Pilow

16

jason-live, le 19 oct 2009 à 15:19:08

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 ...

Répondre à jason-live

17

swoog42, le 19 oct 2009 à 15:24:33

Des surcharges en C ??? oula...
en fait, j'ai confondu la fonction round() du C avec celle de php >< Il a free, il a tout compris !

Répondre à swoog42

19

feadin91, le 19 oct 2009 à 15:27:09

Ya pas de surcharges de fonctions en C? O_ô La cuillère n'existe pas!

Répondre à feadin91

21

Pilow, le 19 oct 2009 à 15:29:07

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 ^^ « Informatique : Alliance d'une science inexacte et d'une ac­tivité humaine faillible.»
« Si le déboguage est l’art d’enlever les bogues, alors la p­rogrammation doit être l’art de les créer.»

Répondre à Pilow

18

jason-live, le 19 oct 2009 à 15:26:37

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

Répondre à jason-live

22

feadin91, le 19 oct 2009 à 15:29:26

Vas-y, code un programme qui calcule le nombre d'atomes dans l'univers!! :P
Facile...

..... non?

Boarf, perso j'ai commencé à me faire la main sur des trucs bateaux, du genre des exos proposés par le SDZ donc...
La cuillère n'existe pas!

Répondre à feadin91

20

swoog42, le 19 oct 2009 à 15:28:14

Commence déjà par suivre les cours du site du zero, tu auras une bonne base.
Il a free, il a tout compris !

Répondre à swoog42