Bonjour
je viens d'installer DevC++. mais j'ai un problème de compilation, j'ai fais ce petit programme :
#include <stdio.h>;
#include <math.h>;
main(){
int a, b;
int pi=3;
printf("Tapez la valeur du rayon\n" );
scanf("%d",&a);
b=pi*pow(a,2);
printf("%f",b);
return 0;
}
mais à l'execution la fenètre de console Dos ne reste pas fixe pour me montrer le resultat(juste un flash).
Est ce qu'il faut configurer quelque chose pour ça ou non?
Merci de votre comprehension.
_________________
cordialement
dialloma
ds ce petit prog , t'as deux fautes :
1_ t'as declaré ' b' comme int ; alors au niveau de la fonction " printf" tu dois écrire %d à la place de %f.sinon , tu le declares comme float.
2_si tu fé return 0; alors tu dois ajouté int avant "main"........ int main(){.....}
bon, je crois ke ton prob sera réglé
peace of mind ... 8-)
Son problème n'était pas lié à la compilation...
bug 1 -> vrai (%f ça affiche un double)
bug 2 -> faux puisque le type par défaut d'une fonction est int
chrisz a écrit :
bug 2 -> faux puisque le type par défaut d'une fonction est int
Pour le main uniquement (donc dans ce cas ce n'est pas un bug).
Pour les autres fonctions, il n'y a pas de type par défaut de fonction puisque qu'il faut le déclarer au niveau de la fonction (il me semble que ça fait partie de la norme C89).
CRicky a écrit :
[quote]
chrisz a écrit :
bug 2 -> faux puisque le type par défaut d'une fonction est int
Pour le main uniquement (donc dans ce cas ce n'est pas un bug).
Pour les autres fonctions, il n'y a pas de type par défaut de fonction puisque qu'il faut le déclarer au niveau de la fonction (il me semble que ça fait partie de la norme C89).
[/quote]
Je ne connais pas les normes par coeur mais pour la plupart des compilateurs C ANSI :
Le type d'une fonction par défaut est int; autrement dit: si le type d'une fonction n'est pas déclaré explicitement, elle est automatiquement du type int.
Certes mais il faut tout de même respecter les normes, en plus comme le programme est écrit en C autant continué en C, ajoute <conio.h> et met cette ligne :
while(!kbhit());
et là l'écran ne bougera plus juqu'à ce que tu appuies sur une touche
J'avais pas revu ma réponse, c'est vrai qu'en C89 (l'ANSI-C classique), ça retourne un int, c'est pour la norme C99 que je n'en suis pas sûr. Mais ça reste pas propre (c'est comme en C++ mettre virtual sur une méthode surchagée).
Sinon Djije, c'est stdlib.h qu'il faut inclure (je suppose que dans ton dos.h, il y a un #include de stdlib.h qui fait donc le même résultat ;-)
t'as bcp de fautes dans ce petit programme , , bon, pour voir son programme , il fo ajouter une lib " #include<conio.h>
comme ça , tu vas untiliser deux fonctions ds ton programme : clrscr(); aprés la eclarations des variables et getch(); avant la derniere acolade
bonne chance
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.