IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Problème : Interdire les caractères


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Problème : Interdire les caractères
    Bonjour a tous

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    	/*0. Déclaration des variables*/
    	string pseudo1;
    	string pseudo2;
    	string pseudo3;
    	string nomjeu;
    	double ajout1;
    	double ajout2;
    	double ajout3;
    	char decision;
    	int choix(0);
    	char decision2;
    	int affich;
    	double score1;
    	double score2;
    	double score3;
    	/*1. Demande des pseudos des differents joueurs + confirmation de l'utilisateur pour ceux-ci*/
    	do{
    		cout << "Entrer un pseudo pour le joueur 1" << endl;
    		cin >> pseudo1;
    		cout << "Entrer un pseudo pour le joueur 2" << endl;
    		cin >> pseudo2;
    		cout << "Entrer un pseudo pour le joueur 3" << endl;
    		cin >> pseudo3;
    		cout << "Vous avez selectionner " << nomjeu;
    			cout << "Les infos sont : " << endl;
    			cout << "Joueur 1 :" << pseudo1 << endl;
    			cout << "Joueur 2 :" << pseudo2 << endl;
    			cout << "Joueur 3 :" << pseudo3 << endl;
    			cout << "Est ce correct ?[O]ui ou [N]on" << endl;
    			cin >> decision;
    			while ((decision != 'O' && decision != 'o') && (decision != 'N' && decision != 'n'))
    			{
    				cout << "Veuillez mettre O ou o ou N ou n" << endl;
    				cin >> decision;
    			}
    			system("cls");
    	} while (decision == 'n' || decision == 'N');
    	/*1.1 Demande du jeu + confirmation par l'utilisateur de celui-ci + remise des scores un 0 si décision de recommencer le programme*/
    	do{
    		do{
    			cout << "Entrer le nom du jeu" << endl;
    			cin >> nomjeu;
    			cout << "Nom du jeu :" << nomjeu << endl;
    			cout << "Est ce correct ?[O]ui ou [N]on" << endl;
    			cin >> decision;
    			while ((decision != 'O' && decision != 'o') && (decision != 'N' && decision != 'n'))
    			{
    				cout << "Veuillez mettre O ou o ou N ou n" << endl;
    				cin >> decision;
    			}
    		} while (decision == 'N' || decision == 'n');
    		system("cls");
    		score1 = 0;
    		score2 = 0;
    		score3 = 0;
    		/*2. Menu du programme*/
    		do{
    			cout << "Voulez-vous?" << endl;
    			cout << "1. Ajouter un nouveau score au joueur 1" << endl;
    			cout << "2. Ajouter un nouveau score au joueur 2" << endl;
    			cout << "3. Ajouter un nouveau score au joueur 3" << endl;
    			cout << "4. Afficher les scores d'un joueur" << endl;
    			cout << "5. Afficher le podium" << endl;
    			cout << "6. Quitter l'encodage des scores du jeu " << nomjeu << endl;
    			cout << "Votre choix" << endl;
    			cin >> choix;
    			/*2.1 Tant que choix est en dessous de 1 (choix du menu) au dessus de 6 ( choix du menu) => erreur + encodage du nouveau nombre*/
    			while (choix <1 || choix > 6)
    			{
    				cout << "Erreur, veuillez rentrer un de ces nombres (1,2,3,4,5,6)" << endl;
    				cin >> choix;
    				system("cls");
    			}
    			switch (choix)
    			{
    				/*2.2 Ajout du score du joueur1*/
    			case 1:
    				cout << "1. Ajouter un nouveau score au joueur 1" << endl;
    				cout << "Le score actuel du joueur 1 " << pseudo1 << " est de " << score1 << endl;
    				cout << "Veuillez encoder le score a ajouter" << endl;
    				cin >> ajout1; /* erreur 1 : dans le score si je met un caractère 
    							   Objectif : 
    							   Interdire tous les caractères et si entrée de caractère => afficher une erreur et demander a l'utilisateur a nouveau
    							   la variable ajout1*/
    				score1 = score1 + ajout1;
    				cout << "Le nouveau score de " << pseudo1 << " est de " << score1 << endl;
    				system("pause");
    				system("cls");
    				break;
    				/*2.3 Ajout du score du joueur2*/
    			case 2:
    				cout << "2. Ajouter un nouveau score au joueur 2" << endl;
    				cout << "Le score actuel du joueur 2 " << pseudo2 << " est de " << score2 << endl;
    				cout << "Veuillez encoder le score a ajouter" << endl;
    				cin >> ajout2; /* erreur 1 : dans le score si je met un caractère 
    							   Objectif : 
    							   Interdire tous les caractères et si entrée de caractère => afficher une erreur et demander a l'utilisateur a nouveau
    							   la variable ajout2*/
    				score2 = score2 + ajout2;
    				cout << "Le nouveau score de " << pseudo2 << " est de " << score2 << endl;
    				system("pause");
    				system("cls");
    				break;
    				/*2.4 Ajout du score du joueur3*/
    			case 3:
    				cout << "3. Ajouter un nouveau score au joueur 3" << endl;
    				cout << "Le score actuel du joueur 3 " << pseudo3 << " est de " << score3 << endl;
    				cout << "Veuillez encoder le score a ajouter" << endl;
    				cin >> ajout3; /* erreur 1 : dans le score si je met un caractère 
    							   Objectif : 
    							   Interdire tous les caractères et si entrée de caractère => afficher une erreur et demander a l'utilisateur a nouveau
    							   la variable ajout3*/
    				score3 = score3 + ajout3;
    				cout << "Le nouveau score de " << pseudo3 << " est de " << score3 << endl;
    				system("pause");
    				system("cls");
    				break;
    				/*2.5 Affichage du score d'un joueur*/
    			case 4:
    				cout << "4. Afficher les scores d'un joueur" << endl;
    				cout << "Joueur 1 : " << pseudo1 << endl;
    				cout << "Joueur 2 : " << pseudo2 << endl;
    				cout << "Joueur 3 : " << pseudo3 << endl;
    				cout << "Selectionner le joueur(numero) auquel il faut afficher le score" << endl;
    				cin >> affich; /* erreur 2 : je rentre un caractere et le programme n'arrête pas de tourner : Objectif : 
    							   Interdire tous les caractères et si entrée de caractère => afficher une erreur et demander a l'utilisateur a nouveau
    							   la variable affich*/
    				while (affich <= 0 || affich > 3)
    				{
    					cout << "Erreur, veuillez selectionner 1,2 ou 3";
    					cin >> affich;
    				}
    				if (affich = 1)
    				{
    					cout << "Le score du joueur 1 est de " << score1 << endl;
    				}
    				else if (affich = 2)
    				{
    					cout << "Le score du joueur 2 est de " << score2 << endl;
    				}
    				else
    				{
    					cout << "Le score du joueur 3 est de " << score3 << endl;
    				}
    				system("pause");
    				system("cls");
    				break;
    				/*2.6 Affichage du podium ( les égalité ne sont pas pris en compte)*/
    			case 5:
    				if ((score1 <= score2) && (score2 <= score3))
    				{
    					cout << "1ere place : " << pseudo3 << " avec " << score3 << endl;
    					cout << "2eme place : " << pseudo2 << " avec " << score2 << endl;
    					cout << "3eme place : " << pseudo1 << " avec " << score1 << endl;
    				}
    				else if ((score1 <= score3) && (score3 <= score2))
    				{
    					cout << "1ere place : " << pseudo2 << " avec " << score2 << endl;
    					cout << "2eme place : " << pseudo3 << " avec " << score3 << endl;
    					cout << "3eme place : " << pseudo1 << " avec " << score1 << endl;
    				}
    				else if ((score2 <= score1) && (score1 <= score3))
    				{
    					cout << "1ere place : " << pseudo3 << " avec " << score3 << endl;
    					cout << "2eme place : " << pseudo1 << " avec " << score1 << endl;
    					cout << "3eme place : " << pseudo2 << " avec " << score2 << endl;
    				}
    				else if ((score2 <= score3) && (score3 <= score1))
    				{
    					cout << "1ere place : " << pseudo1 << " avec " << score1 << endl;
    					cout << "2eme place : " << pseudo3 << " avec " << score3 << endl;
    					cout << "3eme place : " << pseudo2 << " avec " << score2 << endl;
    				}
    				else if ((score3 <= score1) && (score1 <= score2))
    				{
    					cout << "1ere place : " << pseudo2 << " avec " << score2 << endl;
    					cout << "2eme place : " << pseudo1 << " avec " << score1 << endl;
    					cout << "3eme place : " << pseudo3 << " avec " << score3 << endl;
    				}
    				else if ((score3 <= score2) && (score2 <= score1))
    				{
    					cout << "1ere place : " << pseudo1 << " avec " << score1 << endl;
    					cout << "2eme place : " << pseudo2 << " avec " << score2 << endl;
    					cout << "3eme place : " << pseudo3 << " avec " << score3 << endl;
    				}
    				system("pause");
     
    				break;
    				/*2.7 On quitte le programme avec décision de recommencer*/
    			case 6:
    				cout << "6. Quitter l'encodage des scores du jeu " << nomjeu << endl;
    				cout << "Voulez-vous recommencer le programme pour un autre jeu?" << endl;
    				cin >> decision2;
    				while ((decision2 != 'O' && decision2 != 'o') && (decision2 != 'N' && decision2 != 'n'))
    				{
    					cout << "Veuillez mettre O ou o ou N ou n" << endl;
    					cin >> decision2;
    				}
    				break;
    			}
    			system("cls");
    			/*2.8 Si le choix n'est pas égale a 6 on ne quitte pas le programme*/
    		} while (choix != 6);
    		/*2.9 Si la decision de recommencer le programme est [O]ui alors on redemande a l'utilisateur un nom de jeu mais avec les mêmes pseudos*/
    	}while (decision2 == 'O' || decision2 == 'o');
     
    	cout << "Merci d'avoir utiliser le programme" << endl;
     
    	return 0;
    }
    Description :

    Ce programme est destiné a gérer des scores pour n'importe quel jeu.

    Mais comme vous le voyez dans le programme et dans mon code, les caractères pour moi sont un véritable problème car peut importe l'entrée du caractère je réussi a faire bugger mon programme ( nombre astronomique, programme qui tourne en boucle,...) .
    Et le but pour moi est justement de vérifier ce que l'utilisateur a entré et si il y a un ou plusieurs caractères, afficher une erreur et lui redemander la variable pour qu'elle soit correct.
    Je vous remercie d'avance de m'aider dans mon exploration du C++ ^^
    Et vous souhaite une bonne journée

    PS :
    -Si vous avez d'autres erreurs a me signaler , elles sont les bienvenues et je vous en remercie d'avance
    -Je m'excuse également pour les divers fautes d'orthographe que j'ai pu commettre
    - On m'a déjà conseiller votre site a cet endroit : http://cpp.developpez.com/faq/cpp/?p...isies-avec-cin
    Mais il y a beaucoup de commandes que je n'ai pas vu en cours C++ et/ou que je ne comprend pas très bien :$ ca serait pour moi un + si vous saviez m'expliquer et m'aiguiller dans ma démarche je vous remercie d'hors et déjà d'avance
    Comme vous le voyez d'ailleurs mon programme est très je vais dire basique donc voilà il faudrait que je corrige ce soucis le plus simplement possible

  2. #2
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Il y a une raison pour laquelle tu ne t'en sors pas avec ton code, il n'est pas découpé.
    Dans ta fonction main il y a toute la logique du programme. Ceci rend le programme ultra difficile à debbuger car il y a trop d'embranchements dans ta fonction. Pour tester un cas, tu dois te dire dans ta tête "et si l'utilisateur rentre 'o' et qu'il est dans le menu et que c'est le joueur 2 et que c'est le joueur 1 et que ... et que ...". Alors que si tu avais plein de petites fonctions, ce serait beaucoup plus facile de comprendre ce que fait ton code, et ça éviterai que tes modifications "cassent tout" comme tu le dis. Par exemple quand je lis tes 200 lignes de code (pourtant c'est pas grand chose) j'ai déjà mal à la tête.

    tu pourrais faire une fonction du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    char getUserInput(std::string const& allowedChar)
    {
        char ch;
     
        do
        {
            std::cin >> ch;
        } while (allowedChar.find(ch) == std::string::npos);
     
        return ch; 
    }
    Qui valide l'entrée utilisateur seulement si le caractère entrée est dans la chaîne de caractères.
    Tu pourrais l'utiliser comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    if (getUserInput("on") == 'n')
    {
      // l'utilisateur à répondu non
    }
    Et le but c'est de découper ton code en plein de petites fonctions. Ensuite tu dois pouvoir regarder ces fonctions et comprendre directement ce qu'elles font.

    Après quelques petits conseil : évite trop de boucle imbriquée directement (et en plus avec des breaks dedans) ça rend le code pas forcément très clair (en voici un exemple) les switch case à rallonge ect

    Après tu y verras plus clair,
    Bon courage

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par EpiTouille Voir le message
    Il y a une raison pour laquelle tu ne t'en sors pas avec ton code, il n'est pas découpé.
    Dans ta fonction main il y a toute la logique du programme. Ceci rend le programme ultra difficile à debbuger car il y a trop d'embranchements dans ta fonction. Pour tester un cas, tu dois te dire dans ta tête "et si l'utilisateur rentre 'o' et qu'il est dans le menu et que c'est le joueur 2 et que c'est le joueur 1 et que ... et que ...". Alors que si tu avais plein de petites fonctions, ce serait beaucoup plus facile de comprendre ce que fait ton code, et ça éviterai que tes modifications "cassent tout" comme tu le dis. Par exemple quand je lis tes 200 lignes de code (pourtant c'est pas grand chose) j'ai déjà mal à la tête.

    tu pourrais faire une fonction du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    char getUserInput(std::string const& allowedChar)
    {
        char ch;
     
        do
        {
            std::cin >> ch;
        } while (allowedChar.find(ch) == std::string::npos);
     
        return ch; 
    }
    Qui valide l'entrée utilisateur seulement si le caractère entrée est dans la chaîne de caractères.
    Tu pourrais l'utiliser comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    if (getUserInput("on") == 'n')
    {
      // l'utilisateur à répondu non
    }
    Et le but c'est de découper ton code en plein de petites fonctions. Ensuite tu dois pouvoir regarder ces fonctions et comprendre directement ce qu'elles font.

    Après quelques petits conseil : évite trop de boucle imbriquée directement (et en plus avec des breaks dedans) ça rend le code pas forcément très clair (en voici un exemple) les switch case à rallonge ect

    Après tu y verras plus clair,
    Bon courage
    Ca ne serait pas un soucis pour moi de faire ça en fonction Epitouille maintenant selon l'exigence de mon prof qui est la seule exigence qui veut d'ailleurs , le programme ne doit PAS être composé de fonction : $
    Tout doit être foutu dans le main
    Il est vrai que j'ai oublier de le préciser et je m'en excuse complètement :$

  4. #4
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Citation Envoyé par Snake7345 Voir le message
    Ca ne serait pas un soucis pour moi de faire ça en fonction Epitouille maintenant selon l'exigence de mon prof qui est la seule exigence qui veut d'ailleurs , le programme ne doit PAS être composé de fonction : $
    Tout doit être foutu dans le main
    Il est vrai que j'ai oublier de le préciser et je m'en excuse complètement :$

    [/OffTopic]
    Bonjour, a t il donné une raison pour le fait qu'il ne voulait pas de fonction ?
    [/OffTopic]

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par EpiTouille Voir le message
    [/OffTopic]
    Bonjour, a t il donné une raison pour le fait qu'il ne voulait pas de fonction ?
    [/OffTopic]
    C'était le début de l'année et au temps où j'ai eu le projet on avait pas encore vu les fonctions donc => INTERDICTION d'en utiliser

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par EpiTouille Voir le message
    [/OffTopic]
    Bonjour, a t il donné une raison pour le fait qu'il ne voulait pas de fonction ?
    [/OffTopic]
    J'ai la solution du code EpiTouille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while (!(cin >> ajout2))
    				{
    					cin.clear();
    					cin.ignore(numeric_limits<streamsize>::max(), '\n');
    					cout << "Erreur de saisie" << endl;
    				}
    je comprend pas while (!(cin >> ajout2)) => je veux le traduire en français mais bon j'ai beau cherché j'arrive pas a trouver le bonne phrase
    et le cin.ignore(numeric_limits<streamsize>::max(), '\n'); je comprend pas très bien ce qui vient faire là . Quel est son rôle?

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 963
    Points
    32 963
    Billets dans le blog
    4
    Par défaut
    Dans l'ordre
    http://www.cplusplus.com/reference/i...perator%3E%3E/ lit les caractères pour les stocker dans la variable avec le bon type; ça retourne un *this pour le chaînage
    http://www.cplusplus.com/reference/i.../operator_not/ vérifie que cin soit correcte, que la lecture a marché (si tu rentres une string pour un int ça échoue et lève un flag d'erreur)

    http://www.cplusplus.com/reference/ios/ios/clear/ réinitialise le flag d'erreur
    http://www.cplusplus.com/reference/i...stream/ignore/ réinitialise le buffer interne pour relire une entrée correcte
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  8. #8
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    ajoutons nos propres réponses (vive la FAQ)
    if ( cin >> i)
    Sachant que comme tu as une négation dans le test, tu ne vérifies pas si ca a réussi, mais échoué. Détail

    comment purger le clavier?
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

Discussions similaires

  1. problème avec les caractères spéciaux
    Par jmarc1818 dans le forum Général Python
    Réponses: 1
    Dernier message: 16/03/2006, 15h55
  2. [SQL-Server] ms sql server et php : problème avec les caractères accentués
    Par stephane9422 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/12/2005, 17h45
  3. [AJAX] Problèmes avec les caractères accentués
    Par marti dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 26/10/2005, 14h10
  4. Réponses: 5
    Dernier message: 04/09/2005, 12h34
  5. [SAX] Problème avec les caractères spéciaux
    Par abdou.sahraoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/07/2005, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo