Bonjour, j'ai commencé le C hier ...
J'ai cette fonction
Je passe 10 pour l'argument valeur et 1 pour mode et le resultat vaut 675293858847659330000000000000000000
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 float convertir(float valeur,int mode) { float taux = 6.55957; float res =0; if(mode == 1) res = valeur * taux; else res = valeur / taux; printf("Taux = %f",taux); return res; }
0000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000.000000
... pourquoi ?
et le reste du code, il doit y avoir une erreur dedas je présume ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 #include <stdio.h> #include <stdlib.h> #include <ctype.h> float convertir(float valeur,int mode); float lireNombre(); int main() { int nombre = 0; int mode; float valeur; int ok = 0; int resultat = 0; printf("Choisissez le mode :\n"); printf("1.Francs->Euros \n"); printf("2.Euros->Francs \n"); while(ok!=1) { nombre = lireNombre(); switch(nombre) { case 1: mode = 1; printf("Entrez un montant : \n"); valeur = lireNombre(); ok = 1; break; case 2: mode = 2; printf("Entrez un montant : \n"); valeur = lireNombre(); ok = 1; break; default: printf("Erreur, entrez 1 ou 2 : \n"); break; } } resultat = convertir(valeur,mode); printf("%f Francs = %f Euros",valeur,resultat); return 0; } float convertir(float valeur,int mode) { float taux = 6.55957; float res =0; if(mode == 1) res = valeur * taux; else res = valeur / taux; printf("Taux = %f",taux); return res; } float lireNombre() { float numeros = 0; scanf("%f",&numeros); // On lit le premier caractère return numeros; // On retourne le premier caractère qu'on a lu }
Partager