Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] Calculette, ce que vous en pensez, comment l'améliorer

    12 décembre 2005 à 11:01:22

    [voila je recré un sujet existant mais qui a été bloqué plus haut. je suppose que c'était à cause d'un titre non explicite.]

    Bonjour tout le monde !!
    voila ma calculatrice que j'ai mis pas mal de temps à faire

    si vous êtes sous windows téléchargez la ici.

    si vous êtes sous un autre OS téléchargez la ici.

    voila le code :


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


    int main(int argc, char *argv[])
    {
    char opp[1], calcul[1]="o", calculette[1]="o" ;
    double nb1 = 0.0, nb2 = 0.0, resultat = 0.0;
    int i = 0, erreur = 0;

    begin : //début du programme
          i = 0;
          printf("\t\\\\\\||||****Bienvenue sur la Calculo Megalo de Neodyme****||||///\n\n");
         
         
    same :
                switch (i)
                {
                       case 0: // premier calcul
                            printf("Tapez le calcul a effectuer sous la forme (nb1) (operateur) (nb2):\n");
                            scanf("%lf %s %lf", &nb1, &opp, &nb2);
                            break;
                       
                       case 1: // autre calcul sur le meme nombre
                            nb1 = resultat;
                            printf("Tapez le calcul a effectuer : %.2lf ", nb1);
                            scanf("%s %lf", &opp, &nb2);
                           
                            break;
                }
               
                if ((strcmp( opp, "+" )) == 0)
                {
                   resultat = nb1 + nb2 ;
                }

                else if ((strcmp( opp, "-" )) == 0)
                {
                     resultat = nb1 - nb2 ;
                }

                else if ((strcmp( opp, "*" )) == 0)
                {
                     resultat = nb1 * nb2 ;
                }

                else if ((strcmp( opp, "/" )) == 0)
                {
                   
                     if (nb2 != 0)
                     {
                        resultat = nb1 / nb2 ;
                     }
                     else
                     {
                         if (erreur != 1)
                         {
                            printf("Vous me reposez un 0 au denominateur, je plante !! *humpf*\n\n");
                            erreur = 1;
                            goto same;
                         }
                         else
                         {
                             printf("Je vous avais prevenu...");
                             sleep (2000);                 
                             return 0;
                         }
                     }
                }
                else
                {
                    printf("Ceci n'est pas un operateur valide.\n");
                    goto same;
                }

                printf("%.2lf %s %.2lf = %.2lf \n\n", nb1, opp, nb2, resultat);
                i = 1;
               
                printf("Desirez vous effectuer un autre calcul sur ce nombre ? (o/n) ");
                scanf("%s", &calcul);
               
                if ((strcmp( calcul, "o" )) == 0)
                {
                   goto same;
                }
                else
                {
                    printf("Desirez vous encore utiliser la calculette ? (o/n) ");
                    scanf("%s", &calculette);
                   
                    if ((strcmp( calculette, "o" )) == 0)
                    {
                       goto begin;
                    }
                    else
                    {
                    }
                   
                }

    printf("A bientot.");
    sleep (1500);
    return 0;
    }


    voila :) alors, qu'est-ce qui est bien qu'est-ce qui ne l'est pas ?
    PS : si un modo bloque le sujte, il pourait expliquer calairement pourquoi ?merci ;)
    • Partager sur Facebook
    • Partager sur Twitter
      12 décembre 2005 à 12:29:21

      <hs>J'avais expliqué pourquoi : C'est un forum C, si tu postes un topic, c'est pour montrer au moins du code C, pas balancer tes progs tout compilés.
      • Partager sur Facebook
      • Partager sur Twitter
        12 décembre 2005 à 12:39:24

        dac, dsl je pense que là l'erreur est réparée.
        • Partager sur Facebook
        • Partager sur Twitter
          12 décembre 2005 à 15:03:15

          Si on fait 1000000000000000 - 42 ca segfault :(

          (chez moi)
          • Partager sur Facebook
          • Partager sur Twitter
            12 décembre 2005 à 16:34:13

            Pas mal ;)
            Mais j'ai repéré un petit bug.
            Quand je fais par exemple :
            50*50


            ça fait rien (c'est fait exprès vu qu'il faut respecter les espaces) donc je tape :

            50 * 50


            et ça me donne plein de trucs bizzares du genre :
            Image utilisateur

            Faudrait que t'essaye de corriger ça ^^
            Bonne continuation :)

            Kr00pS
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              12 décembre 2005 à 16:58:49

              Tu restes néanmoins un sacré boulet, compiler des programmes windows en disant que c'est pour les OS différents de windows... o_O


              Et beurk le code, en plus :x
              • Partager sur Facebook
              • Partager sur Twitter
                12 décembre 2005 à 17:35:31

                Citation : victor

                Tu restes néanmoins un sacré boulet, compiler des programmes windows en disant que c'est pour les OS différents de windows... o_O


                Et beurk le code, en plus :x



                +1

                le code est vraiment crade, essaye de ,l'aerer.
                Sinon, je te signal que ton binaire pour autres plateforme ne marche nis sous Alpha, ni sous Solaris, ni sous les BSDs....
                • Partager sur Facebook
                • Partager sur Twitter
                  12 décembre 2005 à 19:16:10

                  Citation : Hexapode

                  le code est vraiment crade


                  alors propose comment l'aérer parceque là je vois pas comment faire le même programme en mieux ^^

                  Citation : victor

                  Tu restes néanmoins un sacré boulet, compiler des programmes windows en disant que c'est pour les OS différents de windows



                  désolé je ne vois pas comment tester pour voir si ca marche sous d'autres OS ... et puis, je dois enlever quoi de mon programme pour que ca marche sous d'autres OS ?
                  par contre boulet non. je dirais plutot zéro...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 décembre 2005 à 20:33:16

                    je retire une partie de ce que j'ai dit :

                    Une fois les includes vires, ca compil sous BSD avec pas mal de warning.
                    Par contre ca ne veus pas quitter a la fin...
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [C] Calculette, ce que vous en pensez, comment l'améliorer

                    × 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