Conditions en C++
Fermé
Franky23
-
26 juin 2008 à 06:13
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 - 26 juin 2008 à 08:41
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 - 26 juin 2008 à 08:41
A voir également:
- Conditions en C++
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Excel reporter des données sur une autre feuille avec conditions ✓ - Forum Excel
- Report des données d'une feuille sur une autre ✓ - Forum Excel
- Fonction rang excel avec plusieurs conditions ✓ - Forum Excel
2 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
26 juin 2008 à 08:34
26 juin 2008 à 08:34
Houlà !
Je t'arrete tout de suite, ce que tu fait là ce sont des énormité !
char[] ou char*, ce sont des pointeurs (des adresses mémoire) toute opération faite dessus s'apparente à comparer des adresses mémoire, ce qui n'est pas ce que tu cherche à faire. Comme tu fait du C++ et non du C, je te conseil (pour l'instant) de ne pas t'occuper de ces histoires (tu risque de perdre beaucoup de temps pour pas grand chose) et d'utiliser les "string".
Dans ton programme, il suffit juste de changer le type des chaines de caractère.
Je t'arrete tout de suite, ce que tu fait là ce sont des énormité !
char[] ou char*, ce sont des pointeurs (des adresses mémoire) toute opération faite dessus s'apparente à comparer des adresses mémoire, ce qui n'est pas ce que tu cherche à faire. Comme tu fait du C++ et non du C, je te conseil (pour l'instant) de ne pas t'occuper de ces histoires (tu risque de perdre beaucoup de temps pour pas grand chose) et d'utiliser les "string".
#include <string> std::string valide="Frank";Les string sont des objets d'un plus haut niveau et beaucoup plus intuitif que les char[].
Dans ton programme, il suffit juste de changer le type des chaines de caractère.
Sri Lumpa
Messages postés
177
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
1 juin 2010
69
26 juin 2008 à 08:41
26 juin 2008 à 08:41
Pour comparer des chaines tu es obligé d'utiliser des fonctions, tu ne peux pas les comparer "brutalement" avec un == car alors tu compares leur adresse dans la mémoire qui, sauf si il s'agit exactement de la même variable, seront forcement différentes. Si tu veux plus d'infos sur les adresses (ou aussi pointeurs), cherche quelques tutos sur internet (à mon avis c'est plus qu'indispensable quand tu fais du C).
Bref, si tu veux comparer des chaînes de caractères, tu dois utiliser une fonction pour. En C, tu as la fonction strcmp(char* chaine1, char* chaine2) dans string.h si j'ai bonne mémoire. Elle retourne 0 si les deux chaînes sont égales, -1 si chaîne2 est "supérieure" (dans l'ordre alphabétique) à chaîne1 et 1 dans le cas contraire. Au cas où, si tu as envie de t'amuser, fais ta propre fonction de comparaison ;)
Bref, si tu veux comparer des chaînes de caractères, tu dois utiliser une fonction pour. En C, tu as la fonction strcmp(char* chaine1, char* chaine2) dans string.h si j'ai bonne mémoire. Elle retourne 0 si les deux chaînes sont égales, -1 si chaîne2 est "supérieure" (dans l'ordre alphabétique) à chaîne1 et 1 dans le cas contraire. Au cas où, si tu as envie de t'amuser, fais ta propre fonction de comparaison ;)