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

    • Atlas Pro 12 Mois Atlas Pro Ontv vous offre une large choix des chaînes de télévision diffusées a travers la nouvelle technologie de streaming OTT-P2P. qui vous donne l’accès au plus des chaînes de qualité fhd 1080p, parmi les meilleures chaînes du monde. ainsi que des séries et des films à la demande VOD, rassemblés dans une immense bibliothèque des plusieur films et séries. Atlas Pro est actuellement le plus grand fournisseur de chaines IPTV en France, arabes et internationales sur le marché. propose toutes les chaines Françaises , Belges, Suisses, Italiennes, Allemandes et Arabes. Contenu de Pack Normal ATLAS PRO : Une Playlist de plus des 11000 chaînes internationales & 23000 vidéos à la demande en Français (Films, séries, documentaires,enfants, anime,sport …etc) en HD et Full HD et 94 films en 4K Chaines disponibles: France , Belgique, Suisse, Espagne, Portugal, Italie, Allemagne, Pays Bas, Roumanie, Albanie, Russie Arabe, UK , Latino, Tuquie, USA, Canada, Afrique, Inde, Pakistan EPG et Logos inclus Qualiter : Normal Contenu de Pack Normal Pro ATLAS PRO : Une Playlist de plus des 15000 chaînes internationales & 50000 vidéos à la demande en Français (Films, séries, documentaires,enfants, anime,sport …etc) en HD et Full HD et 94 films en 4K Chaines disponibles: France , Belgique, Suisse, Espagne, Portugal, Italie, Allemagne, Pays Bas, Roumanie, Albanie, Russie Arabe, UK , Latino, Albania , Kosovo , Serbia , Croatia , Slovania , Bosnia , Macdonia ,Montenegro , Greece , Cyprus , Malta , Bulgraia ,Hungaria , Lithuania , Ukraine ,Georgie , New zealand , Australia , Hong kong , South korea , Philipennes , Vitenam , Thailand , Iran ,  Tuquie, USA, Canada, Afrique, Inde, Pakistan EPG et Logos inclus Replay : 202 chaines Qualiter : Bien Contenu de Pack Premium ATLAS PRO : Une Playlist de plus des 4500 chaînes internationales & 45000 vidéos à la demande en Français (Films, séries, documentaires,enfants, anime,sport …etc) en HD et Full HD et 94 films en 4K Chaines disponibles: France , Belgique, Suisse, Espagne, Portugal, Italie, Allemagne, Pays Bas, Roumanie, Albanie, Russie Arabe, UK , Latino, Tuquie, USA, NFL , MLB TV , NBA , NHL , MLS , F1 & MOTOGP, PPV& BOX OFFICE Canada, Afrique, Inde, Pakistan EPG et Logos inclus Replay : 573 chaines Qualiter : Meilleur    
    • Les meilleures configurations d’Atlas Pro pour un serveur IPTV en 2025 Bonjour à tous, Je travaille avec un serveur Atlas Pro pour IPTV et je souhaite partager avec vous les meilleures configurations que j’ai testées pour améliorer la qualité du streaming et réduire les coupures. Si vous avez aussi des astuces ou des conseils, n’hésitez pas à les partager ici. Merci à tous pour votre aide ! 🌐 Visitez notre site officiel ➡️  ATLAS PRO Contactez-nous WhatsApp
    • If you are searching for iron on patches in Kajang, then you should check our website, where we offer the best iron on patches at unbeatable prices with quick delivery time without any trouble. Also, we provide high-quality fabric to all our customers. For further details, check our website now.
    • un petit pas de plus ....tres petit vers la non acceptation du cash en algerie.... https://www.algerie360.com/nouvelle-regle-a-lambassade-de-chine-paiements-uniquement-par-carte-monetique/    
    • @Lyès vu que j'ai publié il y a 10 jours...j'ai entre temps ouvert un compte paypal dz...mais dans mon espace rien n'indique....que je ne peux pas recevoir de paiement ....! au debut oui avec compte restreint...mais une fois validé...jai recu un mail disant que les restrictions  ont été levées... par ailleurs j'ai bien l'option envoyer et recevoir de l'argent et je clique ca semble fonctionner...du coup PP DZ ne sert a rien...si on ne peux meme pas envoyer des sous a quelqu'un en algerie sur son compte paypal !  pourquoi des dizaine de milliers d'algeriens ont un PP si na ne sert presque a rien franchement ?.... c'est RIDICULE...toutes les fintech du monde font du p2p au minimum...et le numero 1 mondial en algerie ne propose rien...   par ailleurs lyes les algeriens ont bel et bien confirmé que si on a du fric sur son paypal...on peut le transferer sur sa carte VISA redotpay....du coup on peut faire sortir le fric du compte meme si c'est cher en effet... sur reddit...plusieurs algeriens affirment avoir recu de l'argent sur leur PP...mais c'est vrai qu'avant 2023 beaucoup d'algeriens ont confirmé qu'ils ne pourvaient recevoir de sous....peut etre que ca a changé ?   du coup je suis confus quant a ta réponse....
×
×
  • Créer...