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

programmation en C.

Nytryk
Nytryk
Niveau 7
24 mars 2008 à 16:23:26

bonjour.

je suis en train d'apprendre lelangage C a partir du tuto du site du zero et la j'ai tenté de faire un sorte de semi calcullette...
donc j'ai programmé mais la mon probleme c'est au niveau de la division je n'arrive pas a afficher les décimaux ou lorsque j'avais pensé avoir résolu mon probleme il y a, semble-t-il unn bug et la console se ferme et me demande d'envoyer ou non le rapport.
Si c'est possible je voudrais juste avoir éventuellement ue aide pour m'aider a touver mon probleme et le résoudre.
SVP ne la donner pas comme ça j'aimerais pouvoir comprendre mon erreur.

voici mes codes :

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

int main(int argc, char *argv[])
{
int op = 0;
long nombre1 = 0, nombre2 = 0, resultat = 0;
printf("operation\n\n");
printf("1. addition\n");
printf("2. soustraction\n");
printf("3. multiplication\n");
printf("4. division\n\n");

printf("tu choisis quoi?");
scanf("%ld", &op);

switch (op)
{
case 1:
printf("va pour l'addition\n", &op);
printf("entre le premier nombre");
scanf("%ld", &nombre1);
printf("entre le deuxieme nombre");
scanf("%ld", &nombre2);

resultat = nombre1 + nombre2;

printf("%ld + %ld = %ld\n", nombre1, nombre2, resultat);
break;

case 2:
printf("c'est parti pour la soustraction\n", &op);
printf("entre le premier nombre");
scanf("%ld", &nombre1);
printf("entre le deuxieme nombre");
scanf("%ld", &nombre2);

resultat = nombre1 - nombre2;

printf("%ld - %ld = %ld\n", nombre1, nombre2, resultat);
break;

case 3:
printf("multiplication??? t'es sur?\n", &op);
printf("entre le premier nombre");
scanf("%ld", &nombre1);
printf("entre le deuxieme nombre");
scanf("%ld", &nombre2);

resultat = nombre1 * nombre2;

printf("%ld * %ld = %ld\n", nombre1, nombre2, resultat);
break;

case 4:
printf("j'aime pas ca... mais bon faisant cette division...\n", &op);

printf("entre le premier nombre");
scanf("%ld", &nombre1);
printf("entre le deuxieme nombre");
scanf("%ld", &nombre2);

resultat = nombre1 / nombre2;

printf("%ld / %ld = %ld\n", nombre1, nombre2, resultat);
printf(" desole pour ce prob en division avec les decimaux...\n\n");
break;

default :
printf("andouille... c'était de 1 a 4...\n");
break;
}

printf("merci d'avor fait confiance a mon systeme de semi-calculatrice ^^\n");

system("PAUSE");
return 0;
}

caelacanthe
caelacanthe
Niveau 10
24 mars 2008 à 16:25:18

tu as essayé en remplacant les long par les float :question:

Nytryk
Nytryk
Niveau 7
24 mars 2008 à 16:25:26

ps : désolé si la c'est mal présenter sur DevC++ c'était bien présenter
pps: désolé pour le pavé et le double post

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
24 mars 2008 à 16:34:58

:oui: Oui faut remplacer les long par un float ou double. :oui:
long c'est un entier long.
Faut alors remplacer les scanf("%lf") par scanf("%f).

Ps: op est un entier, donc c'est scanf("%d", &op).

Nytryk
Nytryk
Niveau 7
24 mars 2008 à 16:35:45

a nan je n'ai pas essayer mais quand je remplace %ld par %lf pour le resultat de la division pour avoir les virgule ca me met des nombre improbabale... je continue a cherche en même temps mais ton idée je l'ai pas encore faite je vais voir

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
24 mars 2008 à 16:38:43

Non je voulais dire remplacer les %ld par %f. :rouge:

Nytryk
Nytryk
Niveau 7
24 mars 2008 à 16:47:39

alors voila j'ai remplacer les %ld de la division par %f et je trouve toujours pour une division telle que 5/2 un résultat de
65218261000000000000000000000000000000000000000000
0000000000000000.000000000 enfin vous voyez le genre donc la j'obtiens comme code a la fin :

case 4:
printf("j'aime pas ca... mais bon faisant cette division...\n", &op);

printf("entre le premier nombre");
scanf("%ld", &nombre1);
printf("entre le deuxieme nombre");
scanf("%ld", &nombre2);

resultat = nombre1 / nombre2;

printf("%f / %f = %f\n", nombre1, nombre2, resultat);
printf(" desole pour ce prob en division avec les decimaux...\n\n");
break;

default :
printf("andouille... c'était de 1 a 4...\n");
break;
}

printf("merci d'avor fait confiance a mon systeme de semi-calculatrice ^^\n");

system("PAUSE");
return 0;

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
24 mars 2008 à 16:50:52

nombre1 et nombre2, tu les as laissés en long ou ils sont en float aussi dans la déclaration de variables ?

Et le &op en-dessous de case 4 ne sert pas, tu peux l'enlever.

J'ai essayé ton programme en remplaçant les longs par des floats et ça fonctionne sans soucis.

Nytryk
Nytryk
Niveau 7
24 mars 2008 à 16:56:20

oui la je viens de voir un truc en remplacent long par float puis tous les %ld du programme par %f et la pour le moment tout fonctionne... un truc con comme erreur mais merci vous m'avezpermis de mieu comprendre sur les décimaux.

bon bah merci et si quelqun a besoin de poster un truc sur un prob du C qu'il le fasse ici c'est plus simple et ca fera moins de topic inutil.

encore merci... j'aurais résolu 2 prob en une après midi

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