Genre de menu en c
Résolu/Fermé
cabon.contact
Messages postés
55
Date d'inscription
dimanche 3 mars 2013
Statut
Membre
Dernière intervention
10 décembre 2013
-
25 mars 2013 à 19:43
cabon.contact Messages postés 55 Date d'inscription dimanche 3 mars 2013 Statut Membre Dernière intervention 10 décembre 2013 - 25 mars 2013 à 22:16
cabon.contact Messages postés 55 Date d'inscription dimanche 3 mars 2013 Statut Membre Dernière intervention 10 décembre 2013 - 25 mars 2013 à 22:16
A voir également:
- Genre de menu en c
- Menu déroulant excel - Guide
- Windows 11 menu démarrer classique - Guide
- Canon quick menu - Télécharger - Utilitaires
- Réinitialiser menu démarrer windows 10 - Guide
- Excel menu déroulant en cascade - Guide
3 réponses
Salut, il faut une fonction qui renvoi une valeur à partir d'une comparaison de chaines de caractères comme là:
http://www.cppfrance.com/codes/SWITCH-STRINGS-CPLUSPLUS_39135.aspx
edit: ça revient a faire des if sauf qu'ils sont dans une boucle de la fonction et qu'il n'y a qu'a toucher la façon dont on appelle la fonction en rajoutant d'autre chaines de caractère en argument
http://www.cppfrance.com/codes/SWITCH-STRINGS-CPLUSPLUS_39135.aspx
edit: ça revient a faire des if sauf qu'ils sont dans une boucle de la fonction et qu'il n'y a qu'a toucher la façon dont on appelle la fonction en rajoutant d'autre chaines de caractère en argument
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
25 mars 2013 à 20:48
25 mars 2013 à 20:48
Non ce n'est pas possible.
Si tu souhaites créer un langage, je te conseille de passer par flex/yacc.
Sinon, faut que tu nous en dises plus sur ce que tu souahites faire. Pour comparer deux chaînes entre elle, tu peux utiliser strcmp().
Si tu souhaites créer un langage, je te conseille de passer par flex/yacc.
Sinon, faut que tu nous en dises plus sur ce que tu souahites faire. Pour comparer deux chaînes entre elle, tu peux utiliser strcmp().
cabon.contact
Messages postés
55
Date d'inscription
dimanche 3 mars 2013
Statut
Membre
Dernière intervention
10 décembre 2013
25 mars 2013 à 20:58
25 mars 2013 à 20:58
Il me semblait bien,
je ne souhaite pas créer un langage mais plutôt un genre d'interpréteur interne au 'C'.
Par exemple l'utilisateur entre dans la console la commande "new.var" et cela va créer une variable.
Exemple :
const char newVar[20] = "new.var";
char input[20];
scanf("%c",&input);
if(input == newVar){
// instruction
}
J'ai été assez clair ? Merci de m'avoir répondu
je ne souhaite pas créer un langage mais plutôt un genre d'interpréteur interne au 'C'.
Par exemple l'utilisateur entre dans la console la commande "new.var" et cela va créer une variable.
Exemple :
const char newVar[20] = "new.var";
char input[20];
scanf("%c",&input);
if(input == newVar){
// instruction
}
J'ai été assez clair ? Merci de m'avoir répondu
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
25 mars 2013 à 21:45
25 mars 2013 à 21:45
scanf("%c",&input);
"%c", c'est pour un char pas pour une chaîne de caractères.
if(input == newVar){
Ce n'est pas == qu'on utilise pour comparer deux chaînes de caractères mais strcmp() comme dit plus haut.
Ce qui donnerait :
Le mieux serait d'utiliser fgets() (au lieu de scanf()).
"%c", c'est pour un char pas pour une chaîne de caractères.
if(input == newVar){
Ce n'est pas == qu'on utilise pour comparer deux chaînes de caractères mais strcmp() comme dit plus haut.
Ce qui donnerait :
scanf("%19s",&input); if(strcmp(input, new.var) == 0) { /*instruction*/ }
Le mieux serait d'utiliser fgets() (au lieu de scanf()).
cabon.contact
Messages postés
55
Date d'inscription
dimanche 3 mars 2013
Statut
Membre
Dernière intervention
10 décembre 2013
25 mars 2013 à 22:16
25 mars 2013 à 22:16
Merci beaucoup pour ton aide, je vais me renseigner sur le fgets, merci encore !
25 mars 2013 à 20:46