CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème C

Zeewolf
Zeewolf
Niveau 10
21 janvier 2006 à 17:30:02

Bon voilà je débute en C (je suis les cours du site du zéro) et j´ai un petit problème. Je compte sur vous pour m´aider. :ok:
Bon en fait je m´entraine actuellement à faire des opérations de base sous Dev et j´ai codé une première fois pour faire l´addition de deux nombres. Exemple:
Entrez le nombre 1 :
Entrez le nombre 2 :
Une fois que l´utilisateur a renseigné ces deux nombres, le programme fait l´addition et tout marche bien. Seulement voilà, j´ai voulu essayer de faire le même mais cette fois-ci pour l´addition et c´est là que je cale. Voici mon code:

  1. include <stdio.h>
  2. include <stdlib.h>

int main(int argc, char *argv[])
{
double resultat = 0, nombre1 = 0, nombre2 = 0;
printf("Entrez le nombre 1 : ");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2 : ");
scanf("%ld", &nombre2);
resultat = nombre1 / nombre2;
printf("%ld / %ld = %ld\n", nombre1, nombre2, resultat);
system("PAUSE");
return 0;
}

Tout me semble bon, pas moyen de trouver l´erreur (pas d´erreur de compilation non plus). Je compile et exécute donc le programme, je rentre par exemple 50 pour le nombre 1 et 25 pour le nombre 2 et là, il m´affiche:

50 / 0 = 50

Merci d´avance pour votre aide. Bonne fin de soirée (oui je sais il est un peu trop tôt ^^).

Zeewolf
Zeewolf
Niveau 10
21 janvier 2006 à 17:31:37

Et cette fois-ci pour la division*****

Freepard44
Freepard44
Niveau 8
21 janvier 2006 à 19:12:13

Apparement t´as un problème d´affichage, pour le double on utilise %lg et non %ld ld correspond à long decimal donc long int alors que double est un flottant.

int main(int argc, char *argv[]) => t´embete pas ac les argc et argv si tu t´en sert pas
int main () suffira largement !

Mordorik
Mordorik
Niveau 10
21 janvier 2006 à 20:44:05

comment réagit le programme si on essaye de faire un nombre divisé par 0 ?

Zeewolf
Zeewolf
Niveau 10
21 janvier 2006 à 22:30:57

Après avoir presque tout essayé, j´ai enfin trouvé! La valeur erronée était en fait le "double" qu´il fallait remplacer par un "long". Merci quand même et bonne fin de soirée à tous. :ok:

godrik
godrik
Niveau 30
21 janvier 2006 à 22:51:33

En C++ diviser par 0 renverra une exception.
pour ton probleme de base, avec des long, tu n´auras pas de virgules... pour lire/ecrire des double avec scanf/printf il faut utiliser %f

Freepard44
Freepard44
Niveau 8
22 janvier 2006 à 12:38:07

double n´etait pas la valeur érronée c´est juste que comme je t´ai dit tu voulais aficher un double ac %ld or pour un double on utilise %lg. Quand à %f sa ne marche que pour le type float, pour les double devrait y avoir un souci

Zeewolf
Zeewolf
Niveau 10
22 janvier 2006 à 16:26:00

Bizarre car j´avais déjà essayé de remplacer les %ld par des %lg

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment