begin process at 2012 05 30 13:25:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

test contenu d'une chaine de caractère


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

test contenu d'une chaine de caractère

dimanche 7 juin 2009 à 12:21:42 | test contenu d'une chaine de caractère

snakers07

bonjour, j'aimerai approfondir une fonction, c'est à dire je possède uen chaine de caractère ici : ChaineRéponse, j'aimerai pouvoir tester son contenu à savoir:
si c'est un entier
si c'est une chaine de caractère
si c'est une formule ( la formule est reconnaissable grâce à la parenthèse ouvrante et fermante:

voici mon code

void gereBoutonGrille(int ligne, int colonne)
{   double valeur=0;

    char* ChaineReponse;
    char ChaineTexte[50];
    int res = 0;
   
    ChaineReponse = grilleGetText(ligne, colonne);
    printf("gereBoutonGrille (ligne=%d  colonne=%d contenu=%s)\n", ligne, colonne, ChaineReponse);

    printf("gereBoutonGrille (ligne=%d  colonne=%d)\n", ligne, colonne);
    sprintf(ChaineTexte, "ligne %d : colonne %d", ligne, colonne);


    res = dialogSaisieChaine("Saisir le contenu", ChaineTexte, &ChaineReponse);
    if(res == rVALIDER)
    {
        printf("chaine saisie : %s\n", ChaineReponse);
       "ici je dois mettre mon test", mais je ne vois pas comment faire!!!


printf("chaine saisie : %lf\n",     valeur );
        grilleSetText(ligne, colonne, ChaineReponse);
        free(ChaineReponse);
    }
}




merci d'avance de votre réponse
dimanche 7 juin 2009 à 18:10:03 | Re : test contenu d'une chaine de caractère

juju12

bof tu peux faire ça de plusieurs façons, en fonction de ce qui t'arrange le mieux; par exemple (on teste la chaîne str) : test entier : char*loc; for(loc=str;*loc;loc++) if((*loc<'0')||(*loc>'9')) break; if(*loc){pas un entier;} test formule : char*loc; if(*str!='(')){pas une formule;} for(loc=str;*loc;loc++); if(*(loc-1)!=')'){pas une formule;} après évidemment faudra que tu affines en fonction de ce qui est une formule autorisée etc...
dimanche 7 juin 2009 à 18:12:33 | Re : test contenu d'une chaine de caractère

juju12

Désolé.

test entier :
char*loc;
for(loc=str;*loc;loc++)
if((*loc<'0')||(*loc>'9')) break;
if(*loc){pas un entier;}

test formule :
char*loc;
if(*str!='(')){pas une formule;}
for(loc=str;*loc;loc++);
if(*(loc-1)!=')'){pas une formule;}

après évidemment faudra que tu affines en fonction de ce qui est une formule autorisée etc...
dimanche 7 juin 2009 à 22:01:07 | Re : test contenu d'une chaine de caractère

ident0

#include <stdio.h>
#include <ctype.h>

#define NOMBRE 1
#define FORMULE 2
#define CHAINE 3

int function(const char* s)
{
    // il peut y avoir des espaces, on les ignorent
    while (isspace(*str))
    {
        ++str;
    }

    // si chiffre (0-9)
    if (isdigit(*str))
    {
        puts("nombre");
        return NOMBRE;
    }

    // peut-être une formule mathématique ou autre
    if (*str == '(')
    {
        puts("possible formule");
        return FORMULE;
    }

    // sinon, une simple chaine de caractères (par défaut)
    puts("chaine");
    return CHAINE;
}

note: simple & basic, à adapter selon les besoins ...


Cette discussion est classée dans : ligne, chaine, colonne, contenu, chainereponse


Répondre à ce message

Sujets en rapport avec ce message

MSHFlexgrid figer une colonne ou une ligne [ par fieldy8 ] Bonjour,je suis en train de chercher un moyen pour figer une colonne ou un ligne sous visual c++ pour l'activeX mshflexgrid (comme dans excel)si qqn p Exploitation de fichier en C ?!?!?! [ par GazGaz ] lu allalors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je control personalisé [ par kev03 ] bonjour,je souhaite créer une sorte de tableau. Les elements de la première colonne sont chacun une serie de nom et ceux de la deuxieme colonne chacun Comment utiliser le contenu d'une variable comme variable [ par gubule ] j'expose mon probleme, c'est pas simple a expliquer.j'ai une chaine qui contient le nom d'une variable, je veux utiliser ce nom de variable pour en ex comment extraire un fichier csv ligne par ligne avec visualc++? [ par ngatcha ] bonjour,comment puis je extraire un fichier csv ligne par ligne avec visualc++? J'ai un eproposition de solution mais il y ' a des erreurs dans le co lire un fichier txt ligne par ligne [ par lapinrose67 ] Bonsoir,Je developpe un logiciel en C sous Linux, voila mon problème:Je dois lire un fichier texte ligne par ligne et placer chacune d'entre ellesdans inserer ligne à wxListCtrl [ par arno03 ] salut all ca fait une dizaine de minutes que j'essai de faire un wxListCtrl, y insérer des colonnes, et des lignes. Les 2 premieres opérations ont été tableau a 2 dimensions [ par minet03 ] Bonjour, ceux qui ont eu l'occasion de me parler sur #Programmation vont surement me détester à jamais, mais voilà j'ai encore un problème avec ce tab ListView selection ligne, colonne [ par Galmiza ] Salut, J'aimerai savoir comment selectionner une ligne + une colonne dans une ListView (en mode "report"). J'ai trouvé sur le forum et sur le net comm test morpion [ par nadml ] nous programmons un morpion et nous avons un problème avec notre test de case valide ou pas est ceque  quelqu'un pourrez nous aidez à résoudre notre p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales