Partage
  • Partager sur Facebook
  • Partager sur Twitter

proble de code

Sujet résolu
    13 août 2008 à 15:49:48

    j'ai trouvé la solution javais simplement appellé la mauvaise fonction ^^


    bonjour à tous :) , j'ai créé un petit programme en C pour m'entrainer ( je suis débutant ). le but du programme est de convertir une vitesse donnée en fps en joules ( pour les connaisseurs d'airsoft ) en gros sa converti une vitesse en une puissance ( enfin c'est plutot une energie ) par exemple on passe de 315 fps à 1.1 joules et le programme fait aussi le contraire de joules a fps. Bon jusqu'à là tout va bien :D Mais c'est pour la partie qui passe des fps aux joules que j'ai un problème, elle me renvoit toujours une valeur inexacte genre 4151.151 au lieu de 1.19 par exemple. Sa fait une heure que je cherche je suis sur que c'est un truc à la con mais je ne trouve pas. Evidament vous n'etes pas des experts de formule d'airsoft donc voila un site qui expose les formules dont je me suis servi : formules

    et voici mon code :

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    double JoulesFps( double masse, double joules );
    double FpsJoules( double masse, double vitesse );
    
    int main()
    {
        // variables
        long choixJF = 0;
        long choixR =0;
        double masse = 0;
        double vitesse =0;
        double joules = 0;
        double resultat = 0;
    do
    {
        // affichage du menu
        printf("          ---------------------------------\n");
        printf("          |         Bienvenue V1.0        |\n");
        printf("          ---------------------------------\n");
        printf("\n\n       _--Convertisseur joules / fps by TuC --_ ");
        printf("\n\n               1.  Joules ----> FPS ? ");
        printf("\n\n               2.  FPS ----> Joules ? \n\n");
        printf(" choix ( 1 ou 2 ) : ");
        scanf("%ld", &choixJF);
        printf("\n");
    
        // gestion du choix de l'utilisateur et code global
        if ( choixJF == 1 )
        {
          printf(" \n   __ Vous avez choisi de convertir des joules en fps __\n");
          printf(" \n  - masse de la bille en gramme : ");
          scanf("%lf", &masse);
          printf("\n\n  - energie en joules : ");
          scanf("%lf", &joules);
          resultat = JoulesFps(masse, joules);
          printf("\n\n la vitesse de la bille en fps est de %lf fps ", resultat);
        }
        else
        {
          printf(" \n   -- Vous avez choisi de convertir des fps en joules --\n");
          printf(" \n  - masse de la bille en gramme : ");
          scanf("%lf", &masse);
          printf("\n\n  - vitesse en fps : ");
          scanf("%lf", &vitesse);
          resultat = JoulesFps(masse, vitesse);
          printf("\n\n l'energie de la bille en joules est de %lf joules ", resultat);
        }
        printf("\n\n voulez vous recommencer ? 1. oui 2. non  : ");
        scanf("%ld", &choixR);
    }while ( choixR != 2 );
    
        return 0;
    }
    
    double JoulesFps( double masse, double joules )
    {
        double resultat = 0;
        masse = masse / 2;
        masse = masse / 1000;
        resultat = joules / masse;
        resultat = sqrt(resultat);
        resultat = resultat / 0.305;
        return resultat;
    }
    
    double FpsJoules( double masse, double vitesse )
    {
        double resultat = 0;
        masse = masse / 1000;
        masse =  masse / 2;
        vitesse = vitesse * 0.305;
        vitesse = pow(vitesse, 2);
        resultat = masse * vitesse;
        return resultat;
        }
    


    Merci d'avance pour votre aide et bonne journée ^^

    édit :

    jai calculé manuelement à la calculatrice pour voir si mon "calcul" dans le code etait bon et il l'est. Je ne comprend pas ça devrait marcher, personne ne peut m'aider ? en plus sans fonction javais déjà reussi ce programme ...
    • Partager sur Facebook
    • Partager sur Twitter

    proble de code

    × 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