Problème pour programme simple en C

Résolu
wid² Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   -  
wid² Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !!!

alors voilà, je programme sous eclipse, et compile avec GCC.

je suis completement novice en la matière, je m'entrainais donc à faire un programme relativement simple (ci-dessous), cependant il ne marche pas, et je ne comprend pas pourquoi...

le programme :

#include <stdio.h>
#include <stdlib.h>

// création d'un programme qui divise 2 nombres et qui indique le reste :
int main ()
{
char nb1, nb2, result, mod; // sélection des nombre
printf("\n\tnous allons faire une division\n\n"
"\trentrer le nombre a diviser (<128)\n");
scanf("%ld", &nb1);
printf("\n\nrentrer maintenant le diviseur\n");
scanf("%ld", &nb2);

system("pause");

result = nb1/nb2; // calcul
mod = nb1%nb2;

printf("\n\n\t %ld / %ld = %ld\n\til reste %ld \n\n", nb1, nb2, result, mod); // affichage
system("pause");
return 0;
}



quand j'exécute, il ne veut pas me prendre mon premier chiffre que je tappe, et qui devrait rentrer dans nb1
à la place, il me met cette valeur à 0 tout le temps...
A voir également:

5 réponses

mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
tu as declarer tes variable comme des caracteres au lieu de double
essaye comme ça
double nb1, nb2, result, mod; // sélection des nombre
0
wid² Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   18
 
ben normalement, char, c'est pas pour les nombres entre -128 et 128 ???

mais je vais essayer avec long et double. merci !!!
0
wid² Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   18
 
ben alors là !!!

double, ça marche pas, même si je met scanf("%lf") au lieu de %ld

alors que avec long ça marche du premier coup !!!

je tiens à préciser que c'est que la première valeur qu'il voulait pas me prendre... la deuxième, ça marchait correctement... donc ce n'était pour moi pas un problème de type de valeur...

enfin bref, avec long ça marche, d'où ma nouvelle question : POURQUOI ??? (désolé d'être insistant, mais étant débutant, j'aimerais juste savoir pour l'avenir...)

merci des réponses, et merci mype de m'avoir mis sur la voie ;)
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
ben non le char est utilisé pour les caracteres...
dsl pour le double j'avais mal lu ton probleme en effet avec le double il fera pas la division entiere mais decimal donc t'auras pas le reste donc il faut utiliser un type entier comme long ou int
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wid² Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   18
 
ok ok ben merci beaucoup !!!
0