Corrigée du fonction

Fermé
sisimouhamed - 16 oct. 2008 à 00:09
 sisimouhamed - 16 oct. 2008 à 00:43
Bonjour,
pouvez vous me corriger ce programme en m'indiquant que si la fonction est correcte
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
float fonctionKo(void)
{
float nKo;
float Go,Mo;
printf("saisir la valeur en Ko:\n",nKo);
scanf("%f", &nKo);
Go=(nKo)/(1048576);
Mo=(nKo)/(1024);
printf("valeur en Go=%0.9f\n", Go);
printf("valeur en Mo=%0.9f\n", Mo);

return Mo;
return Go;
}

int main()
{
printf("Ce programme converti une valeur\n");
printf("d'unité Ko en Go et en Mo:\n");


float value;
for(;;){


printf("Debut de conversion:\n");
value= fonctionKo();
if(value <0)
{
break;
}

printf("impossible\n");
}

system("PAUSE");
return 0;
}

Merci de m'aider
A voir également:

3 réponses

sisimouhamed
16 oct. 2008 à 00:43
Serieusement j'ai pas bien compris si vous pouvez me passer le code corrigée se serrait plus comprehensible pour moi.Merci
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
16 oct. 2008 à 00:15
Apprendre à débugger par soi-même est une chose : pour celà tu peux ajouter (juste pour tester/débugger) des printf en affichant les valeurs de tes variables pour vérifier qu'elles contiennent bien la valeur qu'elles devraient avoir.

J'ai regardé vraiment en diagonale ton code...donc peut-être que ma réponse n'est pas suffisante car je me suis limité à un truc trouvé : la fonction "return" retourne une valeur c'est-à-dire que la fonction est quittée en renvoyant une valeur ; donc tout ce qui se trouve après un return est ignoré. Ton 2ème return ne se fait pas.
Il n'est pas possible de retourner plusieurs valeurs. Pour y remédier, soit tu passes tes variables "par adresse" et tu modifie leur valeur dans la fonction, soit tu utilises une structure de 2 float et tu pourras la retourner.
-1
saly_inf Messages postés 44 Date d'inscription lundi 13 octobre 2008 Statut Membre Dernière intervention 29 décembre 2008 4
16 oct. 2008 à 00:25
salut...
je suis d'accord avec toi ... la fonction peux retourner une seule valeure alors en prossede avec une procédure...
@+
-1
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
16 oct. 2008 à 00:36
C'est ce que j'ai dit précedemment

Il n'est pas possible de retourner plusieurs valeurs. Pour y remédier, soit tu passes tes variables "par adresse" et tu modifie leur valeur dans la fonction, soit tu utilises une structure de 2 float et tu pourras la retourner.
-1