Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur d'exécution d'un programme

Programme basé sur le cours de la programmation modulaire

Sujet résolu
    10 février 2019 à 11:25:34

    Arborescence des fichiersEmplacement des fichier.Salut à tous j'ai écrit un programme en c qui calcule le périmètre et l'aire d'un rectangle et d'un cercle. J'ai écrit 4 fonctions:Une pour l'aire et l'autre pour le périmètre de chaque figure que j'ai mis dans des fichiers sources.c et les prototypes dans des fichier.h, ensuite j'ai appelez ces fonctions dans le main.c mais lorsque j’exécute  le programme fonction pas.En effet j'ai créer un menu pour que l'utilisateur puisse choisir ce qu'il veut calculer et s'il fait un mauvais choix le programme lui envoie un message d'erreur.Mais ici lors de l’exécution c'est le menu et le message d'erreur seul qui s'affiche c'est à dire que l'utilisateur n'arrive pas à faire un choix. j'aimerais savoir quel est mon erreur.

    Merci d'avance pour votre aide.

    Voici le code source.

    #include <stdio.h>
    #include <stdlib.h>
    double PerimetreRectangle(double L,double l);//L:Longeur, l:Largeur.
    double Surface_Rectangle(double L, double l); //L:Longeur, l:Largeur.
    double Perimetre_Cercle(double R); // R:Rayon
    double Aire_Cercle(double R); // R:Rayon
    
    
    int main()
    {
        int choix=0;
        double L, l, Res1,Longe,larg,Res2,R,Res3,R1,Res4;
        printf("Que voulez vous faire?\n");
        printf("1.Calculer le perimetre d'un rectangle\n");
        printf("2.Calculer la surface d'un rectangle\n");
        printf("3.Calculer le perimetre d'un Cercle\n");
        printf("4.Calculer la surface d'un Cercle\n");
    
            if(choix ==1){
                    printf("Veuillez entrer la Longeur puis la largeur:\n");
                    scanf("%lf %lf",&L,&l);
                    Res1=PerimetreRectangle(L,l);
                    printf("perimetre = %.3f:\n",Res1);
    
            }
            else if(choix == 2){
                    printf("Veuillez entrer la Longeur puis la largeur:\n");
                    scanf("%lf %lf",&Longe,&larg);
                    Res2=Surface_Rectangle(Longe,larg);
                    printf("Surface = %.3f:\n",Res2);
            }
    
          else if(choix == 3){
                printf("Veuillez entrer le rayon:\n");
                scanf("%lf",&R);
                Res3=Perimetre_Cercle(R);
                printf("Perimetre = %f",Res3);
    
          }
            else if(choix == 4){
                    printf("Veuillez entrer le rayon:\n");
                    scanf("%lf",&R1);
                    Res4=Aire_Cercle(R);
                    printf("Surface = %f",Res4);
            }
          else{
                 printf("Vous avez fait un mauvais choix!Recommencer.\n");
          }
        return 0;
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      10 février 2019 à 13:43:23

      Hello,

      Ligne 18, il manque un scanf() pour que l'utilisateur puisse faire son choix....

      Edit: un switch() serait du plus bel effet dans ce programme

      -
      Edité par edgarjacobs 10 février 2019 à 15:04:17

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        13 février 2019 à 7:05:33

        Ok en effet je l'ai  remarqué merci bien.

        • Partager sur Facebook
        • Partager sur Twitter

        Erreur d'exécution d'un programme

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown