Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

Probléme De Division


namster

Messages recommandés

Salut Voila J'ai Voulu Crée Une Petite Calculette Mais Le Problème et que Le Résultat de LA division et erroné

voila le Code Source

#include 
#include 

int main ()

{

   printf("Salut je suis la Calculete V0.1 De N@Mster\n");



 menu();


}


long addition(long addition1, long addition2)
{
   long resultat=0;
   resultat=addition1+addition2;
   return resultat;

}
long soustraction(long soustraction1, long soustraction2)
{
   long resultat=0;
   resultat=soustraction1-soustraction2;
   return resultat;

}
long multiplication(long multiplication1, long multiplication2)
{
   long resultat=0;
   resultat=multiplication1*multiplication2;
   return resultat;

}
long division(long division1, long division2)
{
   long resultat=0;
   resultat=division1/division2;
   return resultat;

}
float cosinus(float ag, float hy )
{
   float resultat;
   resultat=ag/hy;
   return resultat;
}

void menu()
{
   long choix=0;
   printf("Que veu Tu Faire ?\n");
   printf("1.Additioner Deux Nombres\n");
   printf("2.Soustraire Deux Nombres\n");
   printf("3.multiplier Deux Nombres\n");
   printf("4.Diviser Deux Nombre\n");
       scanf("%i",&choix);
   operation(choix);
}
int operation(int choix)
{
   switch (choix)
   {

   case 1:
   printf("Ah Tu as choisi l'addition\n");
   printf("Donne Moi Tes Deux Nombre A additionner\n");
   long nombre1,nombre2,aditionf;
   scanf("%i",&nombre1);
   printf("ET le Deuxieme\n");
   scanf("%i",&nombre2);
    aditionf=addition(nombre1,nombre2);
   printf("Le Resultat de L'addition est %i",aditionf);
   break;
   case 2:
    printf("Ah Tu as choisi la Soustraction\n");
   printf("Donne Moi Tes Deux Nombre A Soustraire En Commencent par Le Plus Grand =)\n");
   long nombre3,nombre4,soustractionf;
   scanf("%i",&nombre3);
   printf("ET le Deuxieme\n");
   scanf("%i",&nombre4);
    soustractionf=soustraction(nombre3,nombre4);
   printf("Le Resultat de La soustraction est %i",soustractionf);
   break;
   case 3:
   printf("Ah Tu as choisi la Multiplication\n");
   printf("Donne Moi Tes Deux Nombre A Multiplier \n");
   long nombre5,nombre6,Multiplicationf;
   scanf("%i",&nombre5);
   printf("ET le Deuxieme\n");
   scanf("%i",&nombre6);
    Multiplicationf=multiplication(nombre5,nombre6);
   printf("Le Resultat de La multiplication est %i",Multiplicationf);
   break;
   case 4:
   printf("Ah Tu as choisi la division\n");
   printf("Donne Moi Tes Deux Nombre A Diviser En Commencent par Le Plus Grand =)\n");
   long nombre7,nombre8,divisionf;
   scanf("%Id",&nombre7);
   printf("ET le Deuxieme\n");
   scanf("%Id",&nombre8);
    divisionf=division(nombre7,nombre8);
   printf("Le Resultat de La division est %i",divisionf);
   break;
     default:

       printf("Euh?");

       system("PAUSE");
}

}









Lien vers le commentaire
Partager sur d’autres sites

Salut Voila J'ai Voulu Crée Une Petite Calculette Mais Le Problème et que Le Résultat de LA division et erroné

voila le Code Source

#include 
#include 

int main ()

{

   printf("Salut je suis la Calculete V0.1 De N@Mster\n");



 menu();


}


long addition(long addition1, long addition2)
{
   long resultat=0;
   resultat=addition1+addition2;
   return resultat;

}
long soustraction(long soustraction1, long soustraction2)
{
   long resultat=0;
   resultat=soustraction1-soustraction2;
   return resultat;

}
long multiplication(long multiplication1, long multiplication2)
{
   long resultat=0;
   resultat=multiplication1*multiplication2;
   return resultat;

}
float division(float division1, float division2)
{
   float resultat=0;
   resultat=division1/division2;
   return resultat;

}
float cosinus(float ag, float hy )
{
   float resultat;
   resultat=ag/hy;
   return resultat;
}

void menu()
{
   long choix=0;
   printf("Que veu Tu Faire ?\n");
   printf("1.Additioner Deux Nombres\n");
   printf("2.Soustraire Deux Nombres\n");
   printf("3.multiplier Deux Nombres\n");
   printf("4.Diviser Deux Nombre\n");
       scanf("%i",&choix);
   operation(choix);
}
int operation(int choix)
{
   switch (choix)
   {

   case 1:
   printf("Ah Tu as choisi l'addition\n");
   printf("Donne Moi Tes Deux Nombre A additionner\n");
   long nombre1,nombre2,aditionf;
   scanf("%i",&nombre1);
   printf("ET le Deuxieme\n");
   scanf("%i",&nombre2);
    aditionf=addition(nombre1,nombre2);
   printf("Le Resultat de L'addition est %i",aditionf);
   break;
   case 2:
    printf("Ah Tu as choisi la Soustraction\n");
   printf("Donne Moi Tes Deux Nombre A Soustraire En Commencent par Le Plus Grand =)\n");
   long nombre3,nombre4,soustractionf;
   scanf("%i",&nombre3);
   printf("ET le Deuxieme\n");
   scanf("%i",&nombre4);
    soustractionf=soustraction(nombre3,nombre4);
   printf("Le Resultat de La soustraction est %i",soustractionf);
   break;
   case 3:
   printf("Ah Tu as choisi la Multiplication\n");
   printf("Donne Moi Tes Deux Nombre A Multiplier \n");
   long nombre5,nombre6,Multiplicationf;
   scanf("%i",&nombre5);
   printf("ET le Deuxieme\n");
   scanf("%i",&nombre6);
    Multiplicationf=multiplication(nombre5,nombre6);
   printf("Le Resultat de La multiplication est %i",Multiplicationf);
   break;
   case 4:
   printf("Ah Tu as choisi la division\n");
   printf("Donne Moi Tes Deux Nombre A Diviser En Commencent par Le Plus Grand =)\n");
   float nombre7,nombre8,divisionf;
   scanf("%Id",&nombre7);
   printf("ET le Deuxieme\n");
   scanf("%Id",&nombre8);
    divisionf=division(nombre7,nombre8);
   printf("Le Resultat de La division est %f",divisionf);
   break;
     default:

       printf("Euh?");

       system("PAUSE");
}

}







 

*n'oublie pas de faire un test pour que tu n'aura pas un division /0 . (très important)

un petit test comme ceci est sympa

scanf("%Id",&nombre8);
   if(nombre8==0)
   {
        printf("ET le Deuxieme nombre est égal à zero (Risque de division par zero) \n");
   }
   else {
    divisionf=division(nombre7,nombre8);
   printf("Le Resultat de La division est %f",divisionf);}

 

 

le problème de la division n'est pas un problème car tu déclare la valeur de retour en Long (c-a-d 5/4=1 pas 1.25 car tu incite le programme qu'il te retourne un entier) mais si tu veux le vrai résultat qui est 1.25 , ebain il faut que tu change:

dans la méthode division, tu déclare les nombres en (float=nombre réel ou double=float avec une précision supérieure)

le résultat en float et la valeur retourné par la méthode et aussi tu déclare :

dans la méthode opération : nombre8 , nombre7 et divisionf en float et n'oublie pas surtout dans printf du résultat de la division : ce symbole %f il indique que le nombre et float.

 

maintenant la division marche bien , il faut ajouté le test de la division par zéro.

une remarque : il faut que laisse une chance au utilisateur de répéter les opération après la première fois , c'est lui qui décide de quitter le programme , il faut faire une boucle pour opération (je vais voir comment et je te propose une solution.)

 

j'espère que je n'était pas lourd.

Modifié par diegol
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • Messages

    • Un traité international de protection pour l'IA est en train d'être négocié. une cinquantaine de pays dont l’UE, les États-Unis et le Canada étudient un texte les " Droits de l'homme et la démocratie" sur l'IA. Il vise à garantir que les développeurs d’outils d’intelligence artificielle comme OpenAI ou Mistral respectent un minimum de droits fondamentaux et d’éthique. Il s’agit du tout premier traité international sur l’IA, élaboré par le Conseil de l’Europe (à distinguer du « Conseil », la représentation des 27 pays de l’Union européenne), une institution internationale qui comprend 46 membres et dont l’objectif est de protéger les droits humains. Si un accord a été trouvé au sein de son « comité sur l’intelligence artificielle », il doit encore être avalisé par son « comité des ministres », une étape qui devrait intervenir dans le courant du mois de mai. À la différence de la récente résolution des Nations Unies qui appelle à réguler l’intelligence artificielle, ce texte sera à terme contraignant. Mais il devra suivre un long processus pour devenir applicable : il devra être ratifié par chaque État signataire, puis être transposé dans chaque droit national. Il pourrait s’appliquer, une fois toutes ces étapes franchies, à l’Union européenne, mais aussi aux États-Unis, à l’Australie, au Canada, au Japon, au Mexique, au Costa Rica, à l’Argentine… Et à tous les pays qui le souhaitent. Son objectif « vise à aligner le développement, la conception et l’application de l’intelligence artificielle avec les principes du Conseil de l’Europe », souligne sa Secrétaire Générale, Marija Pejčinović Burić, dans un communiqué. Pour ses rédacteurs, l’intelligence artificielle, qui englobe autant les IA génératives comme ChatGPT que les IA prédictives – l’IA qui est utilisée pour faire des recommandations sur les réseaux sociaux – ne doit pas porter atteinte aux droits de l’Homme, à la démocratie et à l’État de droit. Le traité vise à combler un vide. Jusqu’à présent, les règles sont majoritairement définies par les entreprises qui développent ces IA – comme OpenAI, Google, Mistral. Et le respect des droits humains est loin d’être dans leurs priorités. « L’idée, c’est de ne pas attendre que leurs systèmes soient mis sur le marché (et accessibles au grand public, ndlr), c’est de mettre en place des règles démocratiques au plus vite et en amont », explique Katharina Zügel, Policy Manager au sein du Forum sur l’Information et la Démocratie, que 01net.com a interrogée. On trouve parmi les principes à respecter : les droits de l’homme, la démocratie, la dignité humaine, la transparence, l’égalité et la non-discrimination, le respect des règles en matière de données personnelles et de vie privée, ainsi que l’idée d’innovation sûre. Les systèmes d’intelligence artificielle ne doivent par exemple pas être utilisés pour « saper l’intégrité, l’indépendance et l’efficacité des institutions et processus démocratiques, y compris le principe de séparation des pouvoirs, le respect de l’indépendance judiciaire et l’accès à la justice ».  
    • Alors qu' il n'y a  pas de vdsl pour tous pour augmenter le débit à plus de 20 Méga, certains villages peu habités ont la fibre, situés au pied du Djurdjura sont fibrés depuis plus d'une année .
    • Bonjour, C'est quand même un OS qui date de 2016.. il est temps de passer à autre chose
×
×
  • Créer...