Je développe pour mon projet une petite application et je rencontre un problème. Tout d'abord voici le code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 //fichier main.c #include <stdio.h> #include <stdlib.h> int main() { float taux; printf("Bienvenue dans notre logiciel de calcul HF\n\n"); taux=taux_ondulation(); printf("%f", taux); //test de retour de la valeur taux_o system("PAUSE"); return 0; }
Mon problème est le suivant lors de l'éxecution sur une console de ce code, la fonction est bien appelée et bien exécuté, on peut observer : "Vous avez choisi un taux de (nombre) dB " et le nombre correspond bien à celui tapé pendant le test. Cependant j'ai rajouté un printf sur la valeur taux dans le main, pour vérifier que j'ai bien la même valeur de taux_o dans le main ! Mais ça m'affiche n'importe quoi, du style 1495698394.00000 à chaque coup.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 //fichier taux_ondulation.c #include <stdio.h> #include <stdlib.h> float taux_ondulation() { float taux_o = 0.0; printf("Veuillez saisir le taux d'ondulation max (Am) en dB : "); scanf("%f", &taux_o); while ( taux_o < 0 || taux_o > 10 ) { printf("Valeur incorrecte ! Recommencez : "); getchar(); scanf("%f", &taux_o); } printf("Vous avez choisi un taux de %.2f dB\n\n", taux_o); return taux_o; }
Je vois pas où est le problème, si c'est au niveau de l'utilisation des float ou au niveau du return.
Avec des integer il n'y a aucun problèmes !
Mais je dois,pour cette application absolument renvoyer une valeur réelle non entière.
Merci de votre aide !! :P