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 :

Nommer/renommer une variable


Sujet :

C

  1. #1
    Nouveau membre du Club

    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 39
    Points
    39
    Par défaut Nommer/renommer une variable
    Bonjour je cherche a nommer (voir renommer si necessaire) une variable
    je connais bien sur la syntaxe: type name, mais le nom est inconnue implicitement.

    Mon application : un fichier texte contenant une liste de variable a creer : a b c

    J'irais dans un premier temps chercher le nom : nom_de_la_var_a_creer= a

    Puis je creerais la variable :

    type 'nom_de_la_var_a_creer' mais cette syntaxe ne fonctionne evidemment pas.

    Merci de vos reponse

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Si ton but est de créer une variable dont tu irais récupérer au préalable le nom dans un fichier, tu peux oublier de suite, le C ne permet pas cela sinon explique mieux ce que tu veux avec code à l'appui

  3. #3
    Nouveau membre du Club

    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 39
    Points
    39
    Par défaut
    C'est exactement ca.

    Honte aux gens qui ont inventé ce truc

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Citation Envoyé par lapinoufly Voir le message
    Honte aux gens qui ont inventé ce truc
    Honte à toi pour être ainsi insultant, gb2BASIC.

    Le C n'est pas fait pour ça. Mais tu peux toujours te faire un tableau de structures contenant une chaîne et une valeur (ou un pointeur vers autre chose), bien qu'en C standard il faille tout faire toi-même (en C++, bien qu'on ne puisse pas nommer une variable non plus, on a les std::map<> pour faire les conteneurs associatifs)

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Honte à toi pour être ainsi insultant, gb2BASIC.
    Ouais parce que sinon tu serais encore sur ton CPC 464 à cassette si y avais pas eu ces gens ou pire encore

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Sauf qu'à ma connaissance, sur un CPC, on ne pouvait pas adresser une variable ainsi non plus.

    Ni sur aucune calculatrice Casio Graph, ni sur les calculatrices TI autres que TI68k (les premières à permettre cela, avec l'opérateur #)

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Oui

  8. #8
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 078
    Points : 2 339
    Points
    2 339
    Par défaut
    Citation Envoyé par lapinoufly Voir le message
    C'est exactement ca.

    Honte aux gens qui ont inventé ce truc


    En voila un qui ne mache pas ses mots !

    Pourquoi tu nous inventerai pas un langage qui ferai tout ?

    Le C n'est pas absolu, sinon, tout le monde l'utiliserai.
    Comme le suggere Médinoc, je pense qu'une table de hachage resoudrait ton probleme. (enfin, si c'est bien ce que tu as suggéré Médinoc).

    Je tiens a te faire remarquer au passage que "C" n'est pas un code mais un langage de programmation, qu'il a été creer par des personne que tu ne pourra jamais esperer arrivé a la cheville.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Alors, là, le P.O. m'a carrément scotché. Superbe vision de la programmation ! Chapeau !

    Je ne vois vraiment pas pourquoi le C serait un "langage à ch..." sous prétexte qu'il n'est pas possible de générer des noms de variables à la volée, pompé depuis un fichier.
    Et d'ailleurs, heureusement qu'il n'est pas possible de le faire, sinon le code serait épouvantable.

    Il faudrait que le P.O. sache quand même que les noms de variable disparaissent à la compilation (sauf si on compile en rajoutant des informations de debug, mais là n'est pas la question). Une variable n'est ni plus ni moins qu'un espace mémoire dans lequel est stockée une valeur. Les noms de variable, le CPU s'en contrefiche totalement. D'ailleurs, il n'a lui-même aucune idée de ce que cela peut être...

    Bref.

    Il suffit de se creuser un peu la tête, au lieu de considérer qu'un langage est nul juste parce qu'on attend que tout tombe du ciel, comme par magie.
    Pour répondre à la question du #1, on peut résoudre ce problème en créant un tableau de structure, dont la structure est composée d'une chaîne de caractère et d'une valeur. Il suffit d'ouvrir le fichier, de le lire, de remplir le tableau avec le nom de chaque variable, ainsi que la valeur respective.
    Pour retrouver la valeur associée à une variable, il suffit ensuite de parcourir le tableau à la recherche de ladite variable et de chopper sa valeur. C'est si dur que ça ?

    La vraie question qu'il faut se poser serait plutôt : le C serait-il un langage de programmation un peu trop évolué pour certaines personnes ayant une vision de l'informatique quelque peu magique et préhistorique ?

    EDIT : mince, grillé... J'avais pas fait gaffe que la solution du problème avait été donnée plus haut...

  10. #10
    Nouveau membre du Club

    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 39
    Points
    39
    Par défaut
    Bonjour!

    Escuser moi de ce petit emportement.... j'ai mal supporter de perdre 4H a chercher un trucs qui existe dans les autres langages que je connais (matlab, php).

    Effectivement ca s'est terminé dans un structure avec une premiere fonction
    affectation_table(nom_table,nom_variable,valeur) et une seconde valeur=lecture_table(nom_table,nom_variable)

    Je te remercie du tuyaux sur std::map car effectivement je programme en cpp, je pense que je vais modifer le programme de base pour faire quelque chose de plus propre.

    Pour en revenir a ce que je disais, C++ me fait quand meme bien scier, je trouve ce langage mais d'un faiblesse au niveau de l'utilisation et des fonctions. Je trouve que c'est pas du tout un outil puissant. Que ce langage soit utilisé dans des proc pauvre en ressource (microcontroleur d'y a 20 ans) ou dans les soft tres bas niveau afin d'optimiser le temps de calcul (jeux, windaub).

    Pour des softs ne demandant pas beaucoup de puissance, imaginer le temps de programmation (et donc la rentabilité, parlant en a vos boss) gagné avec un langage intermediaire interpreté?

    Pourquoi j'ai choisi C, je l'ai pas choisit, c'est le cahier des charges.

    Et non je ne suis pas informaticien, je suis roboticien, utilisateur d'informatique que ca ennuie de redescendre aussi bas.
    Pour l'image c'est comme si vous deviez implanter les transistors vous meme sur les cartes avant de pouvoir programmer.

    Cela étant dit merci d'avoir pris le temps de repondre.
    Ca m'a permis aussi de me vider de plusieurs mois de frustration envers un truc que je devrais pas avoir a faire dans un monde parfait

    Bye

  11. #11
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Tu sais, même si tu essaies C# ou java, tu verras qu'y référencer une variable par nom, bien que possible, est PITA aussi si tu n'utilises pas une map... Sauf qu'en plus, tu n'as pas droit non plus aux pointeurs.

Discussions similaires

  1. Renommer une variable
    Par SAS-9.3 dans le forum Macro
    Réponses: 6
    Dernier message: 19/04/2013, 17h43
  2. renommer une variable dont le nom est incorrect
    Par AlexFred dans le forum SAS Base
    Réponses: 2
    Dernier message: 08/09/2010, 16h41
  3. Renommer une variable dans Emacs
    Par pongping dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 16/04/2008, 15h10
  4. Renommer une variable Mysql en javascript
    Par nono3000 dans le forum Requêtes
    Réponses: 8
    Dernier message: 17/12/2005, 16h42
  5. Nommer une table avec une variable
    Par stephane9422 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/12/2005, 14h02

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