[C++] Séparé un int en deux

Arnaud.g83 -  
 Techno01 -
Bonsoir,

Mon problème est simple. L'utilisateur saisi un unsigned (2 chiffre) , et je n'arrive pas a faire en sorte que le programme le sépare en deux pour mettre le premier chiffre dans une variable, et le deuxieme dans une autre. Et je veux que cela reste des unsigned car elle servent en tant qu'unsigned dans le reste du programme...

Si vous avez des questions n'hésitez pas...

Merci par avance de votre aide.



A voir également:

6 réponses

vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
Techno01 ton code est faux :P
dans le cas ou les unités sont différentes de 0, ton nom/10 va retourner un flottant, ce qui fera planter ta variable integer :)

ma méthode est plus simple et est applicable pour plus de 2 chiffre

le mode unsigned dis juste que le int ne peux pas être signé (donc affichage positif je crois). donc le résultat sera obligatoirement compatible avec des variables unsigned (tu déclare ta variable résultat comme étant un unsigned int et c'est tout (même si a mon avis le unsigned est inutile)
1
Techno01
 
ne vous en faites pas c mieux s"il est faux mais ici je ne fait que respecter ce qu'il vient de dire "unsigned (2 chiffre) "
0
vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
oui mais qu'il soit unsigned ou pas, quand tu va diviser le int par 10, c'est sensé donner un flottant, donc l'appli va planter (a part si le int fais la conversion tout seul, dans ce cas là j'ai rien dis)
0
Techno01
 
mais j'ai executer le programme cent fois! sans aucun error
0
Techno01
 
l"error so repose lorsqe j'entre un nombre negatif ,c cela ce que vous essayer de m'expliquer?
0
vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
hum donc le type int fais bien la conversion d'un flottant en int. du coup oubli ce que j'ai dis, ca ne s'applique pas (apparament) a ton programme
enfin tu as essayé en mettant une valeur comme par exemple 16 ? (je sais pas si le 1.6 est transformé en 1 ou en 2...)
mais par contre si on transpose ton programme dans un language qui ne fait pas la conversion des flottants en int automatiquement, le programme planterais ^^
0
Techno01
 
Bonjour Arnaud
voulez vous dire si j'entre 12(douze) if va mettre 1 dans un variable et 2 dans un autre?
0
Arnaud.g83
 
Bonsoir Techno01

C'est exactement ça !
0
Techno01
 
le voila et bon corage
# include <iostream>
using namespace std;

main()
{
unsigned int nombre,dezaine,unite;
cout << "Entrez un nombre a : " ;cin >> nombre ;
dezaine = nombre/10;
unite = nombre%10;
cout << "1er nombre " << dezaine << endl;
cout << "2em nombre " << unite << endl;
return 0;
}
0

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

Posez votre question
Arnaud.g83
 
Bonsoir verdano,

Merci a vous deux, l'idée de verdano correspond plus a ce que je cherche.

Mais après avoir appliquer itoa et substr, comment rendre le caractere sorti en Unsigned?
0
vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
il suffit de traiter le int comme était un string avec la fonction itoa(int)
ensuite tu découpe ton string avec substr()

il ne te reste plus qu'a chercher sur google comment utiliser ces deux méthodes
-2