Rechercher : dans
Par :

[C] Utilisation du switch

Dernière réponse le 21 oct 2007 à 14:19:54 annie, le 21 oct 2007 à 13:20:05 
 Signaler ce message aux modérateurs

Bonjour, j'ai du mal à utiliser le switch dans le programme suivant, l'utilisateur doit choisir entre 1 à 6 qui équivaut à des formes géométriques puis calculer la superficie, merci!!!

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

void main (void)

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

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


printf("donner le numero de la forme");
scanf("%d",&forme);
switch (forme);
{
case 1: printf("entrez la longueur");
scanf("%d",&a);
c = a*a;
printf("superficie carre %d",c);
break;

case 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);
break;
case 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);
break;
case 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);
break;
case 5: printf("entrez grand coter ");
scanf("%d",&a);
printf("entrez petit coter ");
scanf("%d",&b);
p = ((a + b) *bb)/2;
printf("superficie trapeze est de %d",p);
break;
case 6: printf("entrez rayon ");
scanf("%d",&a);
e = 3,14 * a;
printf("superficie cercle est de %d",e);
break;
default : printf("\nNumero forme non valide");
}

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [C] Utilisation du switch » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...
Utilisation des sémaphores Système V VoirIntroduction Il n'est pas forcément facile de trouver un mode d'emploi clair des sémaphores System V, surtout en français. Cette astuce ne se veut pas exhaustive, mais on va quand même essayer de débroussailler un peu le chemin et clouer quelques...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Les classes en langage C++ VoirLa notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...

1

lami20j, le 21 oct 2007 à 14:10:25

Salut,

erreur1:
switch (forme);
il ne faut pas mettre point virgule apres switch
correct c'est comme ça

switch (forme)
erreur2:
case 5: printf("entrez grand coter ");
scanf("%d",&a);
printf("entrez petit coter ");
scanf("%d",&b);
p = ((a + b) *bb)/2;

fait attention à tes variables, ce n'est pas bb mais b
case 5: printf("entrez grand coter ");
scanf("%d",&a);
printf("entrez petit coter ");
scanf("%d",&b);
p = ((a + b) *b)/2; 
erreur3:
tu as oublié une accolade à l afin

Conseil : fait attention la mise en page
quand on exécute ton script on a
carree 1 rectangle 2 triangle 3 losange 4 trapeze 5 cercle 6donner le numero de la forme

ce n'est pas mieux
1.carree
2.rectangle
3.triangle
4.losange
5.trapeze
6.cercle

donner le numero de la forme :
???
printf("1.carree\n");
printf("2.rectangle\n");
printf("3.triangle\n");
printf("4.losange\n");
printf("5.trapeze\n");
printf("6.cercle\n\n");


printf("donner le numero de la forme : ");

tu peux aussi utiliser int main et à la fin mettre un return 0;
int main(void)
{
    /*ton programme */
    return 0;
}

voir aussi quand tu saisies les données


lami20j

Répondre à lami20j

2

 lami20j, le 21 oct 2007 à 14:19:54

Voilà ce que ça donne après les modifications

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

int main (void)
{
  int forme, a, b, c, r, t, l, p, e;

  printf ("1.carree\n");
  printf ("2.rectangle\n");
  printf ("3.triangle\n");
  printf ("4.losange\n");
  printf ("5.trapeze\n");
  printf ("6.cercle\n\n");


  printf ("donner le numero de la forme : ");
  scanf ("%d", &forme);
  switch (forme){
    case 1:
      printf ("entrez la longueur : ");
      scanf ("%d", &a);
      c = a * a;
      printf ("superficie carre %d\n", c);
      break;
    case 2:
      printf ("entrez la longueur : ");
      scanf ("%d", &a);
      printf ("entrez la largeur : ");
      scanf ("%d", &b);
      r = a * b;
      printf ("superficie rectangle est de %d\n", r);
      break;
    case 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\n", t);
      break;
    case 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\n", l);
      break;
    case 5:
      printf ("entrez grand coter : ");
      scanf ("%d", &a);
      printf ("entrez petit coter : ");
      scanf ("%d", &b);
      p = ((a + b) * b) / 2;
      printf ("superficie trapeze est de %d\n", p);
      break;
    case 6:
      printf ("entrez rayon : ");
      scanf ("%d", &a);
      e = 3, 14 * a;
      printf ("superficie cercle est de %d\n", e);
      break;
    default:
      printf ("\nNumero forme non valide\n");
    }
  return 0;
}

lami20j

Répondre à lami20j