Programme en c
Résolu/Fermé
ivesso
Messages postés
98
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
5 juillet 2011
-
10 nov. 2009 à 20:25
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 10 nov. 2009 à 21:58
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 10 nov. 2009 à 21:58
A voir également:
- Programme en c
- Programme demarrage windows 10 - Guide
- Programme démarrage windows 10 - Guide
- Fichier ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
- Programme bonjour c'est quoi ✓ - Forum Logiciels
5 réponses
FrenchFigraro
Messages postés
108
Date d'inscription
jeudi 15 octobre 2009
Statut
Membre
Dernière intervention
22 décembre 2009
24
10 nov. 2009 à 20:38
10 nov. 2009 à 20:38
C'est sur que ça risque pas.
Pour a tu dis n/1000, or a est déclaré comme un entier. n/1000 n'en est pas un. Mais admettons qu'il en soit un, ça n'est pas exactement comme ça qu'on récupère les chiffres.
De plus, tu utilises reste1, reste2 et reste3 sans les utiliser...
Deux méthodes, la première, utiliser une variable intermédiaire de type chaine (string)
Tu écris n dans cette variable, et ensuite tu lis les éléments de cette variable (le string étant traité comme un tableau).
Si tu as juste besoin d'écrire les nombres, ça devrait être bon.
Par contre, si tu as besoin de les réutiliser ensuite il te faut utiliser une méthode plus mathématique.
Heureusement que ton nombre a un nombre connu à l'avance de chiffre parce que sinon, bonjour la galère ^^
Dans ce cas là, ce qu'il faut que tu fasses, c'est regarder combien il y a de fois 1000 dans n (division entière, fonction modulo...), écrire ce nombre dans a et écrire le reste dans n (ou dans une variable intermédiaire). Ensuite, tu réitères le même procédé avec 100 dans ta nouvelle valeur de n, tu inscris le résultat dans b, tu inscris le reste dans n (ou dans la variable) et ainsi de suite pour 10 et 1
Pour a tu dis n/1000, or a est déclaré comme un entier. n/1000 n'en est pas un. Mais admettons qu'il en soit un, ça n'est pas exactement comme ça qu'on récupère les chiffres.
De plus, tu utilises reste1, reste2 et reste3 sans les utiliser...
Deux méthodes, la première, utiliser une variable intermédiaire de type chaine (string)
Tu écris n dans cette variable, et ensuite tu lis les éléments de cette variable (le string étant traité comme un tableau).
Si tu as juste besoin d'écrire les nombres, ça devrait être bon.
Par contre, si tu as besoin de les réutiliser ensuite il te faut utiliser une méthode plus mathématique.
Heureusement que ton nombre a un nombre connu à l'avance de chiffre parce que sinon, bonjour la galère ^^
Dans ce cas là, ce qu'il faut que tu fasses, c'est regarder combien il y a de fois 1000 dans n (division entière, fonction modulo...), écrire ce nombre dans a et écrire le reste dans n (ou dans une variable intermédiaire). Ensuite, tu réitères le même procédé avec 100 dans ta nouvelle valeur de n, tu inscris le résultat dans b, tu inscris le reste dans n (ou dans la variable) et ainsi de suite pour 10 et 1
ivesso
Messages postés
98
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
5 juillet 2011
10 nov. 2009 à 21:12
10 nov. 2009 à 21:12
//#include <stdio.h>
#include<conio.h>
main ()
{
int n,a,b,c,d,reste1,reste2,reste3;
printf("donner un nombre de 4 chiffres:");
scanf("%d",&n);
a=n/1000;
b=reste1/100;
reste1=n%100;
c=reste2/10;
reste2=n%10;
reste3=d;
printf("le premier chiffre est: %d\n le deuxieme chiffre est: %d \n le toisieme chiffre est : %d \n le quatrieme chiffre est : %d\n",a,b,c,d);
getch();
}//
quand jexecute jai
pour n=4321
le premier est 4
.... :1
..................:229361
..................:140
#include<conio.h>
main ()
{
int n,a,b,c,d,reste1,reste2,reste3;
printf("donner un nombre de 4 chiffres:");
scanf("%d",&n);
a=n/1000;
b=reste1/100;
reste1=n%100;
c=reste2/10;
reste2=n%10;
reste3=d;
printf("le premier chiffre est: %d\n le deuxieme chiffre est: %d \n le toisieme chiffre est : %d \n le quatrieme chiffre est : %d\n",a,b,c,d);
getch();
}//
quand jexecute jai
pour n=4321
le premier est 4
.... :1
..................:229361
..................:140
re
réécris la section entre scanf("%d",&n); & printf("le premier...
car tu utilises des variables non initialisées
ie: c = reste1 / 100 alors que tu n'as encore rien mis dans reste1
réécris la section entre scanf("%d",&n); & printf("le premier...
car tu utilises des variables non initialisées
ie: c = reste1 / 100 alors que tu n'as encore rien mis dans reste1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ivesso
Messages postés
98
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
5 juillet 2011
10 nov. 2009 à 21:36
10 nov. 2009 à 21:36
jai trouvé , merci
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
10 nov. 2009 à 21:58
10 nov. 2009 à 21:58
Dès lors, le mieux est d'expliciter ce que tu as trouvé et qui pourra donc servir à celui qui dans ses recherches tomberait sur ton post, puis de mettre ton post en 'résolu' afin que les personnes bénévoles qui cherchent à aider, ne perdent pas de temps à lire ton post.
Merci et bonne continuation.
Merci et bonne continuation.