Probleme exercice c

shin -  
 seether -
Bonjour, voici mon programme en c qui est cencé demandé à l'utilisateur une forme puis calcule sa superficie mais il bloque aidez moi svp!!!

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

void main (void)
{

int forme,a,b,c,r,t,l,p,bb,e;

printf("\tcarree 1");
printf("\trectangle 2");
printf("\ttriangle 3");
printf("\tlosange 4");
printf("\ttrapeze 5");
printf("\tcercle 6");




printf("\nchoisir la forme\n");
scanf("%d",forme);


if (forme == 1)
{
printf("entrez la premiere longueur");
scanf("%d",&a);
c= a*a;
printf(" superficie carree est de %d",c);
}
else
if(forme == 2)
{
printf("entrez la longueur");
scanf("%d",&a);
printf("entrez la largeur ");
scanf("%d",&b);
r = a*b;
printf("superficie rectangle est de %d",r);
}
else
if(forme == 3)
{
printf("entrez la base");
scanf("%d",&a);
printf("entrez la hauteur");
scanf("%d",&b);
t= (a*b)/2;
printf("superficie triangle est de %d",t);
}
else
if(forme == 4)
{
printf("entrez la petite diagonale");
scanf("%d",&a);
printf("entrez la grande diagonale");
scanf("%d",&b);
l= (a*b)/2;
printf("superficie losange est de %d",l);
}

else

if(forme == 5)

{
printf("entrez grand coter");
scanf("%d",&a);
printf("entrez petit coter");
scanf("%d",&b);
printf("entrez la base");
scanf("%d",&bb);
p = ((a + b) *bb)/2;
printf("superficie trapeze est de %d",p);
}
else
if (forme == 6)
{
printf("entrez rayon");
scanf("%d",&a);
e = 3,14 * a;
printf("superficie cercle est de %d",e);
}
else
if ((forme <=0) && (forme >6))
{
printf(" numero entrer non valide taper un chiffre de 1 a 6");
}






}

3 réponses

c-moi Messages postés 81 Date d'inscription   Statut Membre Dernière intervention   10
 
Bonjour,

explicite un peu ton problème : où bloques - tu ?

Je serai d'avis d'utiliser le fameux "switch...case.." plutôt qu'une série de if sur la même variable.

Bon courage,

c-moi
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

au lieu de scanf("%d",forme); écrit
scanf("%d",&forme); 

0
seether
 
wé c'est flagrant le scanf scan les adresses des variables le & est indispensable avec les variables de type int ou float avec le char ca pourra ne pas causé un probleme mais ton forme est un float sinon la solution forme=getche() est plutot meilleure @+
0