Rechercher : dans
Par :

Problème sur dev c++

Dernière réponse le 1 jun 2009 à 13:33:33 yannk, le 1 jun 2009 à 12:47:10 
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista Internet Explorer 7.0

Meilleures réponses pour « problème sur dev c++ » dans :
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...

1

boisdulait, le 1 jun 2009 à 12:50:57

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; Peut importe de savoir d'où l'on vient, l'important est de savoir où on va

Répondre à boisdulait

2

yannk, le 1 jun 2009 à 12:55:12

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?

Répondre à yannk

3

yannk, le 1 jun 2009 à 12:57:26

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

Répondre à yannk

4

boisdulait, le 1 jun 2009 à 13:02:38

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;
}
Peut importe de savoir d'où l'on vient, l'important est de savoir où on va

Répondre à boisdulait

5

boisdulait, le 1 jun 2009 à 13:06:54

Mais sans dire de conneries, il ne marchera pas en l'état ;) Peut importe de savoir d'où l'on vient, l'important est de s­avoir où on va

Répondre à boisdulait

6

yannk, le 1 jun 2009 à 13:08:51

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

Répondre à yannk

7

yannk, le 1 jun 2009 à 13:09:56

Arf pourquoi il ne marchera pas? suis nouveau en c et je ne connais pas encore toute les subtiliter de ce langague

Répondre à yannk

8

boisdulait, le 1 jun 2009 à 13:10:09

Petite aide :

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

devient

printf("le périmètre est %ld \n", perimetre); (il me semble) Peut importe de savoir d'où l'on vient, l'important est de savoir où on va

Répondre à boisdulait

9

yannk, le 1 jun 2009 à 13:11:12

Ah ok mais nous n'avons pas encore vu le %ld que signifie t-il?

Répondre à yannk

10

boisdulait, le 1 jun 2009 à 13:22:00

Il va falloir chercher un peu ;) (pas marrant sinon) Peut importe de savoir d'où l'on vient, l'important est de s­avoir où on va

Répondre à boisdulait

11

 yannk, le 1 jun 2009 à 13:33:33

Lol t'as raison merci en tout cas t'es un AMOUR !!! si j'peux me permettre =) bye et encore merci

Répondre à yannk