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

    • Concernant les abonnés à l'offre 10 MBps (cable de cuivre) seuls ceux qui ont VDSL sont concernés , sinon les abonnés ADSL à cette offre ne sont pas concernés . D'ailleurs même techniquement ils ne peuvent pas atteindre 50 MBps sauf si on installe un DSLAM tout près de chez eux
    • À partir du premier jour d’Aïd El Fitr El Moubarek, nos abonnés résidentiels à internet ADSL, VDSL et Fibre bénéficient d’une augmentation significative de leur débit Internet, comme suit : Les clients « Idoom Fibre » bénéficient d’une augmentation de débit internet : passant de 10 Mbps à 50 Mbps, de 20 Mbps à 200 Mbps, de 50 Mbps à 300 Mbps, de 100 Mbps à 500 Mbps, de 200 Mbps à 500 Mbps, et enfin de 300 Mbps à 500 Mbps.   Pour les clients « Idoom ADSL et VDSL », leur débit sera également amélioré, passant de 15 Mbps à 20 Mbps. Source: https://www.algerietelecom.dz/fr/espace-presse/algerie-telecom-augmente-le-debit-internet-de-ses-clients-pour-une-duree-dun-01-mois-art4520
    • Windows 11 prend en charge nativement les applications d'Android. Virtualbox utilise n'importe quelle image iso de n'importe quel système sans dual boot à qui tu peux accorder la quantité de Ram et de stockage selon ta volonté (Windows,Android, linux, ou autre) tandis qu'un émulateur n'est qu'un logiciel qui  permet d'installer un nombre réduit d'applications.
    • Merci de ta réponse Laliche    Ha ok, du coup il n'y a rien de natif sur windows, il faut bidouiller avec un émulateur, je comprends mieux pourquoi je ramais à trouver des infos fiables. Ba le dualboot, bof, la barbe de devoir redémarrer le pc à chaque fois, et je n'ai pas de soucis de ram, j'ai un bon pc ^^  Quelle différence (ou que vaut-il mieux choisir) entre la virtualisation et l'émulateur ?  Je sens que ca ne va pas être simple encore tout ca. 
    • Il existe plusieurs solutions pour l'iptv sur Windows que  si tu veux,  tu peux brancher en HDMI sur un téléviseur non connecté ou en VGA + Audio sur les téléviseurs d'anciennes générations Tu peux aussi choisir d'installer un émulateur d'Android ( Bluestacks, Noxplayer, LDPlayer, Memu play,...) sur n'importe quelle version Windows mais prévoir une RAM de 4Go au minimum. Il y'a aussi les solutions de virtualisation, comme Virtualbox et VMWare sur lesquelles tu peux installer des images Android, Là aussi il faut une mémoire RAM de plus de 4Go. Tu peux encore installer Android en dual Boot avec Windows. Cette solution est la la plus indiquée pour les ordinateurs à faible mémoire RAM
×
×
  • Créer...