Calculatrice

Smixi

Vétéran autoproclamé et non mérité du forum.
23 Juin 2011
1 753
6
33
Diviser par zero reviens a renverser le monde sur lui même pour ce désintegrer simplement en s'equivalement lui même, c'est la frontirere du monde parrallele entre positif et negatif. (J'aime dire nawak )
 

arno37

L'écureuil méticuleux
5 Mars 2011
10 564
466
292
30
twitter.com
Tu racontes n'importes quoi, si on tente de diviser par 0 il y a une erreur.
Et le logiciel c'est Code::Blocks, pas Code Blok.
 

arno37

L'écureuil méticuleux
5 Mars 2011
10 564
466
292
30
twitter.com
Sinon pour la calculatrice j'aurais plutôt fait ça (c'est en C++ mais tu peux facilement adapter en C) :

Code:
#include <iostream>

int main()
{
    std::cout << "Bienvenue dans la caltos de arno37 !" << std::endl;
    bool continuer;
    do
    {
        std::cout << "Coisissez votre clacul :\n1 - Addition\n2 - Soustraction\n3 - Multiplication\n4 - Division\n5 - Division euclidienne" << std::endl;
        int calcul(0);
        std::cin >> calcul;

        int nombre1, nombre2;
        bool erreur = false;
        switch(calcul)
        {
            case 1 :
            case 2 :
            case 3 :
            std::cout << "Choisissez les deux termes.\nPremier terme :";
            std::cin >> nombre1;
            std::cout << "Second terme :";
            std::cin >> nombre2;
            break;
            case 4 :
            case 5 :
            std::cout << "Choisissez le dividende :";
            std::cin >> nombre1;
            std::cout << "Choisissez le diviseur :";
            std::cin >> nombre2;
            break;
            default :
            erreur = true;
            break;
        }

        if(erreur)
            std::cerr << "Erreur de choix, veuillez recommencer." << std::endl;
        else
        {
            switch(calcul)
            {
                case 1 :
                std::cout << "La somme de " << nombre1 << " et de " << nombre2 << " est " << nombre1 + nombre2 << std::endl;
                break;
                case 2 :
                std::cout << "La difference de " << nombre1 << " et de " << nombre2 << " est " << nombre1 - nombre2 << std::endl;
                break;
                case 3 :
                std::cout << "Le produit de " << nombre1 << " par " << nombre2 << " est " << nombre1 * nombre2 << std::endl;
                break;
                case 4 :
                std::cout << "Le resultat de la division de " << nombre1 << " par " << nombre2 << " est " << (double)nombre1 / (double)nombre2 << std::endl;
                break;
                case 5 :
                std::cout << "Le resultat de la division de " << nombre1 << " par " << nombre2 << " est " << nombre1 / nombre2 << " et le reste est " << nombre1 % nombre2 << std::endl;
                break;
            }
        }
        int choix = 0;
        while(choix < 1 || choix > 2)
        {
            std::cout << "Voulez-vous faire un autre calcul ? (1 = Oui ; 2 = non)" << std::endl;
            std::cin >> choix;
            if(choix == 1)
                continuer = true;
            else
                continuer = false;
        }
    }while(continuer);
    return 0;
}
 

arno37

L'écureuil méticuleux
5 Mars 2011
10 564
466
292
30
twitter.com
Bon très bien, j'ai adapté en C (il est possible qu'il y ait quelques erreur, ça fait très longtemps que je n'ai pas fait de C) :
Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Bienvenue dans la caltos de arno37 !\n");
    int continuer = 1;
    int nombre1, nombre2, calcul = 0, erreur, choix = 0;

    while(continuer)
    {
        printf("Coisissez votre clacul :\n1 - Addition\n2 - Soustraction\n3 - Multiplication\n4 - Division\n5 - Division euclidienne\n");
        scanf("%d", &calcul);
        erreur = 0;
        choix = 0;

        switch(calcul)
        {
            case 1 :
            case 2 :
            case 3 :
            printf("Choisissez les deux termes.\nPremier terme : ");
            scanf("%d", &nombre1);
            printf("Second terme : ");
            scanf("%d", &nombre2);
            break;
            case 4 :
            case 5 :
            printf("Choisissez le dividende : ");
            scanf("%d", &nombre1);
            printf("Choisissez le diviseur : ");
            scanf("%d", &nombre2);
            break;
            default :
            erreur = 1;
            break;
        }

        if(erreur)
            printf("Erreur de choix, veuillez recommencer.\n");
        else
        {
            switch(calcul)
            {
                case 1 :
                printf("La somme de %d et de %d est %d", nombre1, nombre2, nombre1 + nombre2);
                break;
                case 2 :
                printf("La difference de %d et de %d est %d", nombre1, nombre2, nombre1 - nombre2);
                break;
                case 3 :
                printf("Le produit de %d par %d est %d", nombre1, nombre2, nombre1 * nombre2);
                break;
                case 4 :
                printf("Le resultat de la division de %d par %d est %lf", nombre1, nombre2, (double)nombre1 / (double)nombre2);
                break;
                case 5 :
                printf("Le resultat de la division de %d par %d est %d et le reste est %d", nombre1, nombre2, nombre1 / nombre2, nombre1 % nombre2);
                break;
            }
        }

        while(choix < 1 || choix > 2)
        {
            printf("\nVoulez-vous faire un autre calcul ? (1 = Oui ; 2 = non)\n");
            scanf("%d", &choix);
            if(choix == 1)
                continuer = 1;
            else
                continuer = 0;
        }
    }

    return 0;
}
 

Xanafication

Architecte en herbe
3 Mai 2011
6 329
43
197
26
France
Code:
printf("Bienvenue dans la caltos de arno37 !\n");
    int continuer = 1;
    int nombre1, nombre2, calcul = 0, erreur, choix = 0;

Déjà ici, il n'y a pas de scanf, donc je me demande comment on accède a ta calculette :/ .