IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Problème de débutant fin de programme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Par défaut Problème de débutant fin de programme
    bonjour bonjour,

    je débute en C, j'ai essayer de réaliser un modeste programme de calculatrice en C, problème mon script de fin ne fonctionne pas ( à le méchant ) ... merci de m'éclairai !

    D'avances merci

    seb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    //calculette//
     
    #include<stdio.h>
    #include<conio.h>
     
    int main()
    {
        int n=1;
        int choix,a,b,swap,r,i;
     do { 
           do { 
     
        system("cls");
        printf("---==== Menu ====---");
        printf("\n\n");
        printf("1. Addition\n");
        printf("2. Soustraction\n");
        printf("3. multiplication\n");
        printf("4. division\n");
        printf("5. exposant\n");
        printf("\n"); 
        printf("0. Quitter\n"); 
        printf("\n"); 
        printf("Votre choix : "); 
        scanf("%d",&choix); 
        switch (choix) 
        { case 1 : 
                 system("cls");
                 printf("1. Addition \n");
                 printf("-------------\n\n");
                 printf("entrez un nombre entier\n");
                 scanf("%d",&a);
                 printf("entrez un second nombre entier \n\n");
                 scanf("%d",&b);
                 r=a+b;
                 printf("la somme est : %d \n",r);
                 system("pause");
                 break;
        case 2 : 
                 system("cls");
                 printf("2. Soustraction \n ");
                 printf("----------------\n\n");
                 printf("entrez un nombre entier\n");
                 scanf("%d",&a);
                 printf("entrez un second nombre entier \n\n");
                 scanf("%d",&b);
                 r=a-b;
                 printf("la difference est : %d \n",r);
                 system("pause");
                 break;
        case 3 : 
                 system("cls");
                 printf("3. Multiplication \n");
                 printf("------------------\n\n");
                 printf("entrez un nombre entier\n");
                 scanf("%d",&a);
                 printf("entrez un second nombre entier \n");
                 scanf("%d",&b);
                 r=a*b;
                 printf("le produit est : %d \n",r);
                 system("pause");
                 break;
        case 4 : 
                 system("cls");
                 printf("4. Division \n ");
                 printf("------------\n\n");
                 printf("entrez un nombre entier\n");
                 scanf("%d",&a);
                 printf("entrez un second nombre entier \n");
                 scanf("%d",&b);
                 r=a/b;
                 printf("la somme est : %d \n",r);
                 system("pause");
                 break;
        case 5 : 
                 system("cls");
                 printf("5. Exposant \n");
                 printf("------------\n\n");
                 printf("entrez un nombre entier\n");
                 scanf("%d",&a);
                 printf("entrez un second nombre entier \n");
                 scanf("%d",&b);
                 r=a+b;
                 printf("la somme est : %d \n",r);
                 system("pause");
                 break;
        case 0 : printf("\n"); 
                 break;
        default :
                 system("cls");
                 printf("\n"); 
                 printf("Votre choix n'est pas valide\n\n");   
     
     
         }
         } while (choix!=0);
         if (choix==0)
         {
         system("cls");
         printf("Souhaitez-vous quitter [0 pour quitter] ? ");
         scanf("%d",&i);
         printf("--------------------------------------\n ");
         printf("Programme réalisé par:\n ");
         printf("Sebastien Degreve \n ");
         printf("Ephec 2007-2008 \n ");
         printf("Merci et Au revoir\n  ");
         printf("--------------------------------------");
         }
         } while (i !=9);
         system("pause");
     }

  2. #2
    Membre éprouvé

    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Billets dans le blog
    1
    Par défaut
    Si tu veux une réponse, il serait bon de dire avec précision ce qui déconne au juste. En quoi cela ne fonctionne pas ...

    Fait attention à l'indentation, c'est très important pour la lisibilité de ton code.
    Comme çà c'est plus lisible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    //calculette//
    
    #include<stdio.h>
    #include<conio.h>
    
    int main()
    {
       int n=1;
       int choix,a,b,swap,r,i;
       do
       { 
          do
          { 
             system("cls");
             printf("---==== Menu ====---");
             printf("\n\n");
             printf("1. Addition\n");
             printf("2. Soustraction\n");
             printf("3. multiplication\n");
             printf("4. division\n");
             printf("5. exposant\n");
             printf("\n"); 
             printf("0. Quitter\n"); 
             printf("\n"); 
             printf("Votre choix : "); 
             scanf("%d",&choix); 
             switch (choix) 
             {
                case 1 : 
                   {
                   system("cls");
                   printf("1. Addition \n");
                   printf("-------------\n\n");
                   printf("entrez un nombre entier\n");
                   scanf("%d",&a);
                   printf("entrez un second nombre entier \n\n");
                   scanf("%d",&b);
                   r=a+b;
                   printf("la somme est : %d \n",r);
                   system("pause");
                   break;
                   }
                case 2 : 
                   {
                   system("cls");
                   printf("2. Soustraction \n ");
                   printf("----------------\n\n");
                   printf("entrez un nombre entier\n");
                   scanf("%d",&a);
                   printf("entrez un second nombre entier \n\n");
                   scanf("%d",&b);
                   r=a-b;
                   printf("la difference est : %d \n",r);
                   system("pause");
                   break;
                   }
                case 3 : 
                   {
                   system("cls");
                   printf("3. Multiplication \n");
                   printf("------------------\n\n");
                   printf("entrez un nombre entier\n");
                   scanf("%d",&a);
                   printf("entrez un second nombre entier \n");
                   scanf("%d",&b);
                   r=a*b;
                   printf("le produit est : %d \n",r);
                   system("pause");
                   break;
                   }
                case 4 : 
                   {
                   system("cls");
                   printf("4. Division \n ");
                   printf("------------\n\n");
                   printf("entrez un nombre entier\n");
                   scanf("%d",&a);
                   printf("entrez un second nombre entier \n");
                   scanf("%d",&b);
                   r=a/b;
                   printf("la somme est : %d \n",r);
                   system("pause");
                   break;
                   }
                case 5 : 
                   {
                   system("cls");
                   printf("5. Exposant \n");
                   printf("------------\n\n");
                   printf("entrez un nombre entier\n");
                   scanf("%d",&a);
                   printf("entrez un second nombre entier \n");
                   scanf("%d",&b);
                   r=a+b;
                   printf("la somme est : %d \n",r);
                   system("pause");
                   break;
                   }
                case 0 :
                   {            
                   printf("\n"); 
                   break;
                   }
                default :
                   {
                   system("cls");
                   printf("\n"); 
                   printf("Votre choix n'est pas valide\n\n"); 
                   break;
                   }
             }
          } while (choix!=0);
    
          if (choix==0)
          {
             system("cls");
             printf("Souhaitez-vous quitter [0 pour quitter] ? ");
             scanf("%d",&i);
             printf("--------------------------------------\n ");
             printf("Programme réalisé par:\n ");
             printf("Sebastien Degreve \n ");
             printf("Ephec 2007-2008 \n ");
             printf("Merci et Au revoir\n  ");
             printf("--------------------------------------");
          }
       } while (i !=9);
    
       system("pause");
    
    }
    J'ai ajouté un break dans le default du switch...c'est mieux.
    Ensuite, pour moi, pour quitter, c'est pas 0 qu'il faut mettre mais 9 vu que tu as mis "while (i !=9);" comme test de sortie de ta boucle ...

  3. #3
    Membre chevronné Avatar de corentin59
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 462
    Par défaut
    pour plus de modularité, tu devrais séparer ton problème en fonctions, et en particulier, faire une fonction que demande les deux nombres pour tes opérations.

    La boucle "if (choix==0)" me parait redondante avec le "case 0" : faire la demande de validation dans le switch. Enfin, effectivement, si tu rentre i=0, cela n'arrête pas le programme car tu as un "while (i!=9)"

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Par défaut
    Merci pour vos réponses... rapides, Après avoir passé la valeuer de 9 à zéro

    } while (i !=0);
    system("pause");

    tout est rentré dans l'ordre

    merci Bcp , je vais essayer de faire des fonctions pour aérai le code maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de débutant, programme qui ne lance pas
    Par benjani13 dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 15/02/2011, 19h17
  2. [Lazarus] [Débutant] Problème de syntaxe d'un programme porté depuis TPW 1.5
    Par maxstilde dans le forum Lazarus
    Réponses: 3
    Dernier message: 05/03/2009, 23h39
  3. Problème installation SQL Server 2000 (programme antérieur)
    Par 404Found dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/04/2005, 10h24
  4. [DB2] problèmes de débutant
    Par rémi_tounul dans le forum DB2
    Réponses: 4
    Dernier message: 21/04/2005, 17h08
  5. Fin de programme dans une procédure
    Par Sinclair dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2002, 22h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo