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

    • Alors que nous peinons à déployer du 100 % fibre optique et à sortir du débit de base  mesquin de 10Mbps, ailleurs le monde scientifique travaille déjà depuis plusieurs années au réseau Internet de demain. Vous avez sûrement au moins entendu parler de la théorie physique sur laquelle il se base : la mécanique quantique. Pour résumer, il s'agit de l'étude des comportements des particules à l'échelle des atomes et plus petit. Pour la première fois, des chercheurs ont créé un système qui relie ces deux composants clés et utilise des fibres optiques classiques pour transmettre les données quantiques. L'exploit a été réalisé par des chercheurs de l'Imperial College de Londres, de l'Université de Southampton et des universités de Stuttgart et de Wurzburg en Allemagne, et les résultats ont été publiés dans Science Advances . Le co-premier auteur , le Dr Sarah Thomas , du Département de physique de l'Imperial College de Londres, a déclaré : « L'interfaçage de deux appareils clés ensemble est une étape cruciale dans la mise en réseau quantique, et nous sommes vraiment ravis d'être la première équipe à avoir pu pour le démontrer. » Le co-premier auteur Lukas Wagner, de l’Université de Stuttgart, a ajouté : « Permettre aux emplacements longue distance, et même aux ordinateurs quantiques, de se connecter est une tâche essentielle pour les futurs réseaux quantiques. » Communication longue distance Dans les télécommunications classiques – comme Internet ou les lignes téléphoniques – les informations peuvent être perdues sur de grandes distances. Pour lutter contre cela, ces systèmes utilisent des « répéteurs » à des points réguliers, qui lisent et réamplifient le signal, garantissant ainsi qu'il arrive intact à sa destination. Toutefois, les répéteurs classiques ne peuvent pas être utilisés avec des informations quantiques, car toute tentative de lecture et de copie de ces informations les détruirait. Il s'agit d'un avantage dans un sens, dans la mesure où les connexions quantiques ne peuvent être « exploitées » sans détruire les informations et alerter les utilisateurs. Mais c’est un défi à relever pour les réseaux quantiques longue distance. Mais des chercheurs ont trouvé la solution. Une façon de surmonter ce problème consiste à partager des informations quantiques sous la forme de particules de lumière intriquées, ou photons. Les photons intriqués partagent des propriétés de telle manière que vous ne pouvez pas comprendre les unes sans les autres. Pour partager l'intrication sur de longues distances à travers un réseau quantique, vous avez besoin de deux appareils : un pour créer les photons intriqués et un pour les stocker et permettre leur récupération ultérieure. Il existe plusieurs dispositifs utilisés pour créer des informations quantiques sous forme de photons intriqués et pour les stocker, mais la génération de ces photons à la demande et la disponibilité d'une mémoire quantique compatible dans laquelle les stocker ont longtemps échappé aux chercheurs. Les photons ont certaines longueurs d'onde (qui, dans la lumière visible, créent des couleurs différentes), mais les dispositifs permettant de les créer et de les stocker sont souvent réglés pour fonctionner avec des longueurs d'onde différentes, ce qui les empêche de s'interfacer. Pour créer une interface entre les appareils, l’équipe a créé un système dans lequel les deux appareils utilisaient la même longueur d’onde. Un « point quantique » produisait des photons (non intriqués), qui étaient ensuite transmis à un système de mémoire quantique qui stockait les photons dans un nuage d'atomes de rubidium. Un laser a activé et désactivé la mémoire, permettant aux photons d'être stockés et libérés à la demande. Non seulement la longueur d'onde de ces deux appareils correspondait, mais elle était également à la même longueur d'onde que celle des réseaux de télécommunications utilisés aujourd'hui, ce qui permettait de la transmettre avec des câbles à fibre optique classiques, familiers aux connexions Internet quotidiennes. L’équipe va maintenant chercher à améliorer le système, notamment en s’assurant que tous les photons sont produits à la même longueur d’onde, en améliorant la durée de stockage des photons et en réduisant la taille de l’ensemble du système. Cependant, en tant que preuve de concept, il s'agit d'un pas en avant important, déclare le co-auteur Dr Patrick Ledingham de l'Université de Southampton : « Les membres de la communauté quantique tentent activement d'établir ce lien depuis un certain temps. Cela inclut nous, qui avons déjà tenté cette expérience à deux reprises avec différents dispositifs de mémoire et de points quantiques, remontant à plus de cinq ans, ce qui montre à quel point c'est difficile à réaliser. "Cette fois, la percée a été de réunir des experts pour développer et exécuter chaque partie de l'expérience avec un équipement spécialisé et de travailler ensemble pour synchroniser les appareils."  
    • Salut , j'ai donné  plusieurs fois donné la procédure pour obtenir une liste iptv m3u dont les chaines sont classées en catégories par le fournisseur. Ceci est un contenu masqué, merci de Se connecter ou S’inscrire
×
×
  • Créer...