Compteur en c
Résolu
James56
Messages postés
173
Statut
Membre
-
kiop -
kiop -
Bonjour tout le monde,
pour realiser un compteur en image (chaque image corespond a un chiffre de 0 a 9)
j'ai besoin de recuperer chaque chiffre d'un nombre dans une variable.
je m'explique :
pour le nombre 123 par exemple,
je veux recuperer chaque chifre dans une variable :
a= 3
b= 2
c= 1
voili, voilou
si quelqun a une solution ?
pour realiser un compteur en image (chaque image corespond a un chiffre de 0 a 9)
j'ai besoin de recuperer chaque chiffre d'un nombre dans une variable.
je m'explique :
pour le nombre 123 par exemple,
je veux recuperer chaque chifre dans une variable :
a= 3
b= 2
c= 1
voili, voilou
si quelqun a une solution ?
A voir également:
- Compteur en c
- Compteur de contractions - Télécharger - Santé & Bien-être
- Compteur communicant - Guide
- Compteur point fléchette excel - Télécharger - Sport
- Compteur cyber café gratuit - Télécharger - Outils professionnels
- Compteur de vitesse assetto corsa - Télécharger - Sport
6 réponses
Voilà une idée :
Après, ce qu'il y a dans nbn tu en fais ce que tu veux. Le plus propre serait de les stocker dans un tableau plutôt que de déclarer des variables dynamiques.
En faisant de nb une chaîne ça serait certainement encore plus court :)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
int nb=8480963; // Nombre dont il faut récupérer les chiffres
int nbn; // Chiffre récupéré du nombre nb
while(nb) // Tant que nb est différent de 0
{
nbn=nb%10; // Mettre dans nbn l'unité de nb (dernier chiffre à droite)
nb-=nbn;
nb/=10; // Tronquer nb, par exemple 123456 devient 12345
printf("nb: %d; nbn: %d\n",nb,nbn);
}
return EXIT_SUCCESS;
}
Après, ce qu'il y a dans nbn tu en fais ce que tu veux. Le plus propre serait de les stocker dans un tableau plutôt que de déclarer des variables dynamiques.
En faisant de nb une chaîne ça serait certainement encore plus court :)
moi j'aurai fait un truc du genre afficher le nombre dans une chaine (avec un sprintf), et récuperer chaque case de la chaine (au pire, on soustrait la valeur ascii de '0' pour convertir du nombre ascii au nombre décimal) ...
ou bien tu px mettre les nombres dans un tableau, ou eventuellement un pointeur, compter la longueur et faire le teste, tant que les chiffres sont inferieur à la longueur recupérée dans une variable recupérer chaque chiffre dans une variable initialisée par exemple à a...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ducoup j'ai fait sa :
et voila chaque chifre de la variable score se retrouve dans une case du tableau puis j'interoge chaque case pour savoir ce que je doit afficher.
j'ai tout mis au cas ou sa interesse quelq'un..
merci pour votre aide, sa ma bien servi
int score =12345;
int digit[6] = {0} ;
for (g=0 ;g < score; g++)
{
digit [4] ++;
if (digit [4]>9)
{
digit [3] ++;
digit [4] =0;
}
if (digit [3] >9)
{
digit [2]++;
digit [3]=0;
}
if (digit [2] >9)
{
digit [1]++;
digit [2]=0;
}
if (digit [1] >9)
{
digit [0]++;
digit [1]=0;
}
}
for (h =0; h <5 ; h++)
{
position_pts.x = 700+h*56;
position_pts.y = 300;
switch(digit[h])
{
case 0:
zero = IMG_Load("img/0r.PNG");
SDL_BlitSurface(zero, NULL, ecran, &position_pts);
break;
case 1:
un = IMG_Load("img/1r.PNG");
SDL_BlitSurface(un, NULL, ecran, &position_pts);
break;
case 2:
deux = IMG_Load("img/2r.PNG");
SDL_BlitSurface(deux, NULL, ecran, &position_pts);
break;
case 3:
trois = IMG_Load("img/3r.PNG");
SDL_BlitSurface(trois, NULL, ecran, &position_pts);
break;
case 4:
quatre = IMG_Load("img/4r.PNG");
SDL_BlitSurface(quatre, NULL, ecran, &position_pts);
break;
case 5:
cinq = IMG_Load("img/5r.PNG");
SDL_BlitSurface(cinq, NULL, ecran, &position_pts);
break;
case 6:
six = IMG_Load("img/6r.PNG");
SDL_BlitSurface(six, NULL, ecran, &position_pts);
break;
case 7:
septe = IMG_Load("img/7r.PNG");
SDL_BlitSurface(septe, NULL, ecran, &position_pts);
break;
case 8:
huite = IMG_Load("img/8r.PNG");
SDL_BlitSurface(huite, NULL, ecran, &position_pts);
break;
case 9:
neuf = IMG_Load("img/9r.PNG");
SDL_BlitSurface(neuf, NULL, ecran, &position_pts);
break;
}
}
et voila chaque chifre de la variable score se retrouve dans une case du tableau puis j'interoge chaque case pour savoir ce que je doit afficher.
j'ai tout mis au cas ou sa interesse quelq'un..
merci pour votre aide, sa ma bien servi