Problème sur dev c++

Fermé
yannk - 1 juin 2009 à 12:47
 yannk - 1 juin 2009 à 13:33
Bonjour,

je suis actuellement en premiere année d'informatique (IMP) et en essayant de compiler un programme que j'ai écrit dessus, on me signal une erreur au niveau de ma ligne 12( scanf(" %c",&reponse);) je ne sais pas pourquoi et je n'arrive donc pas a verifier si :
- même si mon programme est different de la solution donner il peut fonctionner.
-la raison de cette erreur est au niveau de la synthaxe de la ligne.

je voudrais donc savoir si quelqun pourrais me dire si mon programme est bien écrit et pourquoi j'ai cette erreur.

le programme est sensé lire le rayon d'un cercle demander a l'utilisateur et lui demander :
-s'il souhaite le périmètre sachant que si la réponse est oui le calculer et l'afficher
-s'il souhaite l aire sachant que si la réponse est oui le calculer et l'afficher

mon programme est

#include <stdio.h>
main()
{
float rayon;
float pi= 3.14;
float perimetre= pi*rayon;
float aire= pi*rayon*rayon;
char reponse;

printf("donner le rayon du cercle");
scanf("%f",&rayon);
printf("vouler vous le périmètre (O/N)?")
scanf(" %c",&reponse);
if (reponse== 'O') printf("le périmètre est %f \n", perimetre);
else {if (reponse== 'N') printf("vouler vous l'aire (O/N)?);
if (reponse== 'O') printf("l'aire est %f", aire);
else printf ("pas de reponse ");
else printf ("pas de reponse o/n");
}

Merci pour vos réponse
A voir également:

11 réponses

Utilisateur anonyme
1 juin 2009 à 12:50
Bonjour,

tu auras toujours un avertissement avec scanf (f pour formatté)..
ensuite :

main() <== ou int main ()

printf("vouler vous le périmètre (O/N)?") <== il manque le ';' à la fin de la ligne ;)

termine ton programme par

system("PAUSE");
return 0;
0
lol merci pour ta réponse boisdulait^^.

j'men suis rendu compte apres avoir envoyer et j'avais aussi oublier une ligne dans le programme mais sans importance^^
Mais, le probleme c'est qu'a cause de cette ligne, je ne peux pas compiler le programme et donc pas l'executer .
De plus avant ce scanf, j'en avais un autre qui est bien lu par devc ++ donc, je ne comprends pas pourquoi il me bloque a cette ligne?
0
oui c'est bon sa marche =)) merci encore boit du lait et désolé j'avais lu la mauvaise ligne^^ tu me sauve la vie !!

au revoir et encore merci
0
Utilisateur anonyme
1 juin 2009 à 13:02
Je viens de le compiler, sans erreur (mais je n'ai pas testé ton programme) :

#include <stdio.h>
#include <stdlib.h>

#include <stdio.h>
int main()
{
float rayon;
float pi= 3.14;
float perimetre= pi*rayon;
float aire= pi*rayon*rayon;
char reponse;

printf("donner le rayon du cercle");
scanf("%f",&rayon);
printf("vouler vous le périmètre (O/N)?");
scanf(" %c",&reponse);
if (reponse== 'O')
{
printf("le périmètre est %f \n", perimetre);
}
else
{
printf("vouler vous l'aire (O/N)?");
}
if (reponse== 'O')
{
printf("l'aire est %f", aire);
}
else
{
printf ("pas de reponse ");
}

system("PAUSE");
return 0;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
1 juin 2009 à 13:06
mais sans dire de conneries, il ne marchera pas en l'état ;)
0
ok merci beaucoup ^^ moi il me donne encore une erreur mais c'est sans doute a cause de la synthaxe j'ai encore un peu de mal avec sa j'vais essayer de mettre les {} au bon endroit et sa devrait aller =) encore merci en tout cas c'est vraiment sympa
0
arf pourquoi il ne marchera pas? suis nouveau en c et je ne connais pas encore toute les subtiliter de ce langague
0
Utilisateur anonyme
1 juin 2009 à 13:10
Petite aide :

printf("le périmètre est %f \n", perimetre);

devient

printf("le périmètre est %ld \n", perimetre); (il me semble)
0
ah ok mais nous n'avons pas encore vu le %ld que signifie t-il?
0
Utilisateur anonyme
1 juin 2009 à 13:22
il va falloir chercher un peu ;) (pas marrant sinon)
0
lol t'as raison merci en tout cas t'es un AMOUR !!! si j'peux me permettre =) bye et encore merci
0