'C' je vois pas mon erreur!!!

Discutez d'informatique ici !
Avatar de l’utilisateur
raito123
Habitué(e)
Messages: 2102
Enregistré le: 04 Nov 2007, 02:29

'C' je vois pas mon erreur!!!

par raito123 » 31 Déc 2007, 00:04

Bonsoirs, :doh:

ben :id: oui moi aussi je m'interresse au c/c++ mtn ^^

donc je fais mes premiers pas :zen: ^^

alors voilà :


ce matin j'ai réussit à faire un programme qui donne la division euclidienne!!!
mtn j'arrive pas je ne vois pas où est mon erreur :cry: :cry: !!!! :help:

Code: Tout sélectionner
#include
#include




int main(int argc, char argv[])
{
   long resultat = 0, resultat1 = 0, nombre1 = 0, nombre2 = 0;
   
   //demander à l'utilisateur de faire entrer deux nombres:
   
   printf("entrez le nombre 1 : ");
   scanf("%ld", &nombre1);
   printf("donner le nombre 2 : ");
   scanf("%ld", &nombre2);
   
   //calcul de la division euclidienne:
   
   resultat = nombre1 / nombre2;
   resultat1 = nombre1 % nombre2;
   
   //affichage de la division:
   
   printf(" %ld = %ld * %ld + %ld\n", nombre1, nombre2, resultat, resultat1);
      
   //fermer:
   
   getchar();
   system("pause");
   return 0;
}

merci
Les multiples ne doivent pas être utilisés sans nécessité



Argentoratum
Membre Relatif
Messages: 231
Enregistré le: 12 Sep 2007, 22:35

par Argentoratum » 31 Déc 2007, 00:11

Que veux tu faire au juste?

Avatar de l’utilisateur
raito123
Habitué(e)
Messages: 2102
Enregistré le: 04 Nov 2007, 02:29

par raito123 » 31 Déc 2007, 00:27

merci j'ai trouver y a pas d'erreur !! le programme marche à merveille ^^
parcontre quand je met float ou double à la place de long le compilateur affiche qu'il y a une faute
Les multiples ne doivent pas être utilisés sans nécessité

Argentoratum
Membre Relatif
Messages: 231
Enregistré le: 12 Sep 2007, 22:35

par Argentoratum » 31 Déc 2007, 00:29

Si tu as des questions n'hésites pas.
Tu pourrais par exemple calculer le PGCD de 2 nombres par exemple si tu veux aller plus loin.

Avatar de l’utilisateur
raito123
Habitué(e)
Messages: 2102
Enregistré le: 04 Nov 2007, 02:29

par raito123 » 31 Déc 2007, 01:01

merci !!
en fait y a une question en haut, la revoilà: quand je met float ou double à la place de long le compilateur affiche qu'il y a une faute!!!!
(ps: pour le PGCD on utilise les conditions n'est ce pas)
Les multiples ne doivent pas être utilisés sans nécessité

Argentoratum
Membre Relatif
Messages: 231
Enregistré le: 12 Sep 2007, 22:35

par Argentoratum » 31 Déc 2007, 01:11

Code: Tout sélectionner
int main(int argc, char argv[])
{
        /* utiliser plutôt des entiers, ça prend moins de place et c'est plus adapté à ce que tu veux faire car une division euclidienne est entière*/

   int resultat = 0, resultat1 = 0, nombre1 = 0, nombre2 = 0;
   
   //demander à l'utilisateur de faire entrer deux nombres:
   
   printf("Entrez le nombre 1 : ");
   scanf("%d", &nombre1);
   printf("Donner le nombre 2 : ");
   scanf("%d", &nombre2);
   
   //calcul de la division euclidienne:
   
   resultat = nombre1 / nombre2;
   resultat1 = nombre1 % nombre2;
   
   //affichage de la division:
   
   printf(" %d = %d * %d + %d\n", nombre1, nombre2, resultat, resultat1);
      
   return 0;

}

Argentoratum
Membre Relatif
Messages: 231
Enregistré le: 12 Sep 2007, 22:35

par Argentoratum » 31 Déc 2007, 01:19

Normal car le modulo s'utilise seulement avec des entiers.

Dominique Lefebvre
Membre Légendaire
Messages: 8005
Enregistré le: 03 Déc 2005, 12:00

par Dominique Lefebvre » 31 Déc 2007, 10:19

Argentoratum a écrit:
Code: Tout sélectionner
int main(int argc, char argv[])
{
/* utiliser plutôt des entiers, ça prend moins de place et c'est plus adapté à ce que tu veux faire car une division euclidienne est entière*/
 
   int resultat = 0, resultat1 = 0, nombre1 = 0, nombre2 = 0;
 
   //demander à l'utilisateur de faire entrer deux nombres:
 
   printf("Entrez le nombre 1 : ");
   scanf("%d", &nombre1);
   printf("Donner le nombre 2 : ");
   scanf("%d", &nombre2);
 
   //calcul de la division euclidienne:
 
   resultat = nombre1 / nombre2;
   resultat1 = nombre1 % nombre2;
 
   //affichage de la division:
 
   printf(" %d = %d * %d + %d\n", nombre1, nombre2, resultat, resultat1);
 
   return 0;
 
}


Bonjour,

Pourquoi changes-tu son "long" en "int" . Il était très bien son "long": c'est un type entier qui supporte le modulo!

Argentoratum
Membre Relatif
Messages: 231
Enregistré le: 12 Sep 2007, 22:35

par Argentoratum » 31 Déc 2007, 11:15

J'ai lu long mais j'ai pris ça pour un long double(qui n'existe pas en C je crois). Je me suis trompé , tu as raison. Ca fais longtemps que je n'ai plus fais de C.
Désolé.

Avatar de l’utilisateur
raito123
Habitué(e)
Messages: 2102
Enregistré le: 04 Nov 2007, 02:29

par raito123 » 31 Déc 2007, 11:24

Dominique Lefebvre a écrit:Bonjour,

Pourquoi changes-tu son "long" en "int" . Il était très bien son "long": c'est un type entier qui supporte le modulo!

Bonjours Dominique,
en fait ça marche avec les deux, ça marche même avec 'double' et 'float' quand j'ajoutte 'unsigned'!!!!
seulement pour les grand nombre comme 99999999999 par 5 :ça ne marche pas??
Les multiples ne doivent pas être utilisés sans nécessité

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite