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 :

Sortir une chaine string


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2017
    Messages : 6
    Par défaut Sortir une chaine string
    Bonjour,

    c'est une question un peu bête, mais je n'arrive pas a trouver de réponses claires...
    Il y a t'il moyen (je suppose que oui), de "sortir" le contenu d'une chaine string. J'entends par la, réutiliser ce que l'utilisateur a entré.
    Par exemple, un code pour résoudre une équation via une boucle for :

    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
     
    #include <iostream>
     
    int main()
    {
        for (int x; x < 50; x++)
        {
            if ( x*x == 4)
            {
            std::cout << "x peut valoir " << x << std::endl;
            }
            else 
            {
            std::cout << "ERREUR: " << x << " ne fonctionne pas. " << endl;
            }
        }
        return 0;
    }
    ce que je voudrais, c'est par exemple que l'utilisateur entre l'équation, celle-ci sera donc stocké dans une variable, et puis utiliser cette variable dans la boucle for. Quelque chose comme ça en somme :

    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
    #include <iostream>
     
    int main()
    {
        std::string equation("rien");  // initialisation d'une variable "equation"
        std::cout << "Quel est votre équation ?" << std::endl;
        cin >> equation;   // prends la valeur donné, pour l'exemple, disons : x*x == 4
        for (int x; x < 50; x++)
        {
            if (equation)  // calcul de l'équation
            {
            std::cout << "x peut valoir " << x << std::endl;
            }
            else 
            {
            std::cout << "ERREUR: " << x << " ne fonctionne pas. " << std::endl;
            }
        }
        return 0;
    }
    Bien entendu, ce code ne compile pas...

    J'aimerais donc créer une fonction qui serait chargé de récupérer ce qui est inscrit dans la variable "equation" (ici : x*x == 4).
    Je me pose la meme question a propos des "char", pour faire par exemple une calculatrice...

    Merci d'avance,

  2. #2
    Rédacteur/Modérateur


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

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    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.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2017
    Messages : 6
    Par défaut
    Salut,

    Merci beaucoup pour ta réponse, je crois que c'est exactement ce dont j'ai besoin

    Par contre, je débute encore... Et c'est un peu technique. Tu saurais me montrer avec un exemple d'utilisation ?

    Merci,

  4. #4
    Membre Expert
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 513
    Par défaut
    En trichant :
    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
    // Exemple avec MinGw
    // Attention : j'ai écrit ce code en vitesse. Normalement, il faudrait faire du contrôle d'erreurs.
     
    #include "Windows.h"
    #include <fstream>
    #include <iostream>
     
    void executerEtAttendreFinExecution(const char* programme, const char* parametres)
    {
    	// Code copié-collé sans réfléchir depuis
    	// https://www.codeproject.com/Articles/1842/A-newbie-s-elementary-guide-to-spawning-processes
    	SHELLEXECUTEINFO ShExecInfo = {0};
    	ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
    	ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
    	ShExecInfo.hwnd = NULL;
    	ShExecInfo.lpVerb = NULL;
    	ShExecInfo.lpFile = programme;
    	ShExecInfo.lpParameters = parametres;
    	ShExecInfo.lpDirectory = NULL;
    	ShExecInfo.nShow = SW_SHOW;
    	ShExecInfo.hInstApp = NULL;
    	ShellExecuteEx(&ShExecInfo);
    	WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
    }
     
    int main()
    {
    	std::string equation("rien");  // initialisation d'une variable "equation"
    	std::cout << "Quel est votre équation ?" << std::endl;
    	std::cin >> equation;   // prends la valeur donné, pour l'exemple, disons : x*x == 4
    	// Écrire le code source d'un programme. Ce code source dépend de la valeur de "equation".
    	{
    		std::ofstream fichierCpp("CalculEquation.cpp");
    		fichierCpp <<
    			"#include <iostream>\n"
    			"int main()"
    			"{"
    				"for (int x; x < 50; x++)"
    				"{"
    					"if (" << equation << ")"
    					"{"
    						"std::cout << \"x peut valoir \" << x << std::endl;"
    					"}"
    					"else"
    					"{"
    						"std::cout << \"ERREUR: \" << x << \" ne fonctionne pas. \" << std::endl;"
    					"}"
    				"}"
    				"system(\"pause\");"
    				"return 0;"
    			"}";
    	}
    	// Compiler le code source.
    	executerEtAttendreFinExecution("g++", "CalculEquation.cpp -o CalculEquation.exe");
    	// Exécuter le programme créé.
    	executerEtAttendreFinExecution("CalculEquation.exe", "");
    	return 0;
    }

  5. #5
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2017
    Messages : 6
    Par défaut
    Ok merci beaucoup !

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

Discussions similaires

  1. [VBA-E] mettre en majuscule une chaine string en vba
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/03/2007, 23h34
  2. Probleme avec une chaine STRING !!!
    Par Bebert71 dans le forum C++
    Réponses: 10
    Dernier message: 09/05/2006, 09h29
  3. [debutant] Concatenation d'une chaine (string) et d'entiers
    Par websurfeur dans le forum Débuter
    Réponses: 2
    Dernier message: 26/03/2006, 11h05
  4. disparition des accents dans une chaine string
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/03/2006, 00h19
  5. Réponses: 2
    Dernier message: 13/10/2005, 17h46

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