Problème sur dev c++

yannk -  
 yannk -
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
 
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
yannk
 
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
yannk
 
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
 
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
 
mais sans dire de conneries, il ne marchera pas en l'état ;)
0
yannk
 
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
yannk
 
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
 
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
yannk
 
ah ok mais nous n'avons pas encore vu le %ld que signifie t-il?
0
Utilisateur anonyme
 
il va falloir chercher un peu ;) (pas marrant sinon)
0
yannk
 
lol t'as raison merci en tout cas t'es un AMOUR !!! si j'peux me permettre =) bye et encore merci
0