Problème avec le type char
amine2733
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
le problème que j'ai est le suivant :
je veux lire une chaine de caractère contenant des nombre et des opérateur par exemple:
/+432 donc j'ai déclarer le type char a[100] et sa marche bien
le problème c'est quand je veux lire un nombre de deux chiffre par exemple 10
exemple /+1032
la si je lit caractère par caractère donc je vais lire le 1 après 0 ; comment je peu savoir si l'utilisateur a entrer 10 ou 1 après 0
est ce que il ya une methode permet de stocker ce genre des caractère en une place mémoire 10 en une seule place mémoire
et merci
je veux lire une chaine de caractère contenant des nombre et des opérateur par exemple:
/+432 donc j'ai déclarer le type char a[100] et sa marche bien
le problème c'est quand je veux lire un nombre de deux chiffre par exemple 10
exemple /+1032
la si je lit caractère par caractère donc je vais lire le 1 après 0 ; comment je peu savoir si l'utilisateur a entrer 10 ou 1 après 0
est ce que il ya une methode permet de stocker ce genre des caractère en une place mémoire 10 en une seule place mémoire
et merci
A voir également:
- Problème avec le type char
- Clear type - Guide
- Comment changer le type de fichier - Guide
- Type de ram - Guide
- Coco char - Accueil - Réseaux sociaux
- Erreur pour le propriétaire du site : type de clé non valide ✓ - Forum Opera
2 réponses
10 n'est pas un caractère, c'est un entier, si tu veux stocker des entiers tu ne peux pas utiliser un tableau char[].
Je te propose par exemple d'avoir un int[], où chaque case correspond à un nombre si celui-ci est positif, ou un opérateur si celui-ci est négatif.
On pourrait par exemple avoir
si /+1032 correspond à (10+3)/2 ça donnerait {-4,-1,10,3,2}
Je te propose par exemple d'avoir un int[], où chaque case correspond à un nombre si celui-ci est positif, ou un opérateur si celui-ci est négatif.
On pourrait par exemple avoir
-1 : + -2 : - -3 : * -4 : /
si /+1032 correspond à (10+3)/2 ça donnerait {-4,-1,10,3,2}
mais le programme est distiné a un utilisateur imaginer si c'est une grande expression donc sa va lui prendre du temp pour convertir / en -4 et + en -1 etc..
ya pas une solution ou la conversion se met automatique
l'utilisateur fait rentrer /+1032 alors après la saisie on vas vérifié et convertir non??
ya pas une solution ou la conversion se met automatique
l'utilisateur fait rentrer /+1032 alors après la saisie on vas vérifié et convertir non??
Si tu tapes "/+1032" ça ne veut rien dire, il faudrait que l'utilisateur entre au minimum des espaces, pour distinguer les nombres ce qui donnerait "/ + 10 3 2". Mais ce n'est pas à l'utilisateur de faire la conversion en -4, -1, etc. pour remplir ton int[], ça c'est le boulot du programme (et par extension du programmeur).