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

Langage C++ Discussion :

Creer une variable "variable"


Sujet :

Langage C++

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    LIbre
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : LIbre

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Par défaut Creer une variable "variable"
    Bonjour,

    Je suis en train de créer un petit programme en c++ et je souhaiterais savoir si il était possible de créer une variable "variable" afin d'éviter d'écrire 4 ou 5 fois le même bloc de calcul. J'ai déjà programmé en MEL script pour le software Maya et il est possible de le faire dans ce langage là mais je n'ai rien trouvé d'équivalent en c++.

    Pour mieux comprendre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int S1;
     
    if (S1 < 10)
     
    a = ("S" + i) * 2;
     
    else
     
    a = ("S" + i) / 2;
    Je souhaiterais faire ce même bloc pour S2 S3 S4 etc... sans avoir a réécrire le meme bloc autant de fois que de variables necessaires.

    Ce que je souhaiterais c'est quelque chose de ce genre, qui me permettrai de creer 5 variables S1 à S5 et de leur appliquer le même bloc d’opération:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for (i=1, i++, i=5)
    {
    int ("S" + i);
     
    if (("S"+i) < 10)
     
    a = ("S" + i) * 2;
     
    else
     
    a = ("S" + i) / 2;
    }
    Si vous avez une solution, une idée ou besoin de plus de précision n'hésitez pas.
    Merci

  2. #2
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Bonjour

    Ce que tu cherches est un tableau. En C++ on utilise généralement la classe std::vector lorsqu'on a besoin d'un tableau.
    Voici un petit exemple en C++11 :
    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
    // g++ -Wall -Wextra -Wconversion -Wsign-conversion -std=c++11 -pedantic -fopenmp main.cpp -o main && ./main
    // g++ -Wall -Wextra -Wconversion -Wsign-conversion -std=c++98 -pedantic -fopenmp main.cpp -o main && ./main
     
    #include <iostream>
    #include <vector>
    #include <string>
     
     
    int main()
    {
    	// 42 42 42
    	{
    		std::vector<int> tableau(3, 42);
    		for (int const e : tableau) { std::cout << e << " "; } std::cout << std::endl;
    	}
     
    	// 3.14 21.73
    	{
    		std::vector<double> tableau = { 3.14, 21.73 };
    		for (double const e : tableau) { std::cout << e << " "; } std::cout << std::endl;
    	}
     
    	// Ajout de quelques std::string
    	{
    		std::vector<std::string> tableau;
    		tableau.push_back("Ajout");
    		tableau.push_back("de");
    		tableau.push_back("quelques");
    		tableau.push_back("std::string");
    		for (auto const & e : tableau) { std::cout << e << " "; } std::cout << std::endl;
    	}
     
    	return 0;
    }

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par défaut
    Je te conseil de prendre un petit vecteur (std::vector au hasard).
    Tu as 5 cases et chacune d'entre elles correspond à une de tes variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	std::vector<int> vecVariable(5);
    	//tu initialise les valeurs de tes variables...
    	for (int i = 0; i < 5; ++i)
    	{
    		if (vecVariable[i]) < 10)
    			a = vecVariable[i] * 2;
    		else
    			a = vecVariable[i] / 2;
    	}

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 750
    Par défaut
    Et pour les tableaux de tableau de taille fixe il y a std::array.

  5. #5
    Nouveau candidat au Club
    Homme Profil pro
    LIbre
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : LIbre

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Par défaut
    Rebonsoir,

    Merci pour vos réponses, j'avais oublié les vecteurs et ça règle parfaitement mon problème en plus de rendre beaucoup plus lisible mon code.

    Merci encore et à bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/04/2014, 13h16
  2. [POO] Passer une valeur de variable en variable
    Par hugo69 dans le forum Langage
    Réponses: 8
    Dernier message: 23/11/2006, 23h48

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