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 :

if(cond) {do this} façon rapide d'écrire ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juin 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Juin 2014
    Messages : 219
    Par défaut if(cond) {do this} façon rapide d'écrire ?
    Bonjour

    Je sais qu'il existe une façon rapide d'écrire un IF statement avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (condition) ? faire ceci si la condition est vrai : sinon faire ceci;
    qui remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (condition){
    faire ceci si la condition est vrai;}
    else { faire ceci}
    Or, je ne sais pas si je fais une erreur dans ma façon d'écrire, mais ça ne compile pas.

    De plus, pour être précis, je n'ai pas d'action alternative à faire. Ce que je veux en fait pour être plus précis , ce srait quelque chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (condition){
    faire ceci si la condition est vrai}
    J'ai tenté plusieur forme, mais ça refuse de compiler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (condition) ? faire ceci si la condition est vrai : ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (condition) ? faire ceci si la condition est vrai ;
    De plus comment se nomme cette façon d'écrire un IF statement ? Je n'arrive pas à trouver d'explication concernant mon soucis ?

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    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 : 760
    Par défaut
    Citation Envoyé par hary66 Voir le message
    comment se nomme cette façon d'écrire un IF statement ?
    Une condition ternaire. Par contre, ce n'est pas un if, mais un if / else contenant une expression par branche, ce n'est pas possible de ne rien mettre.

  3. #3
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par défaut
    C'est un opérateur ternaire ((condition)? vrai: faux).

    Effectivement , c'est un test if, mais très spécial :
    • on doit avoir la partie else.
    • ce test est utilisé pour renvoyer une valeur - donc être mis à droite d'une affection ou dans le passage de paramètres


    2 exemples :
    std::string str = ((input.length <= 10)? input: input.substr(0, 10));.
    open_file( ((!(input_name.empty))? input_name: "default.json") );.

  4. #4
    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
    Par défaut
    Tout le monde gagnerait du temps si tu écrivais au moins 1 fois ce que tu écris qui ne compile pas
    Et le message d'erreur qui va avec.
    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.

  5. #5
    Membre confirmé
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juin 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Juin 2014
    Messages : 219
    Par défaut
    Merci pour les réponses.
    je fais donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int var_temp = abs(_position[i] - last_position[i]);
        hysteresis = (var_temp > hysteresis) ? var_temp : hysteresis;
    Citation Envoyé par Bousk Voir le message
    Tout le monde gagnerait du temps si tu écrivais au moins 1 fois ce que tu écris qui ne compile pas
    Et le message d'erreur qui va avec.
    Je te l'accorde. Tu à mille fois raison !

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par défaut
    Ton problème (sur ton code) c'est qu'il faut enchaîner la définition des variables de même type avec la virgule.
    Si tu mets un point virgule, c'est 1 nouvelle définition, et il faut renseigner le type.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int x1, x2, x3,
      x4,
      x5, x6;
    float a; int y1, 
    y2; long b;

  7. #7
    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
    Par défaut
    Et quelle est l'erreur ?
    Ces 2 lignes ont l'air correctes.
    Si c'est pour récupérer le max de 2 valeurs, il y a std::max.
    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.

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

Discussions similaires

  1. Réponses: 64
    Dernier message: 28/02/2011, 17h42
  2. Façon d'écrire votre code
    Par reptils dans le forum C
    Réponses: 6
    Dernier message: 03/03/2007, 17h20
  3. Comment écrire du texte RAPIDEMENT avec OpenGL
    Par Invité dans le forum OpenGL
    Réponses: 2
    Dernier message: 16/06/2006, 10h01
  4. [VBA-E]Problème sur la façon d'écrire un programme...
    Par olosta dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/04/2006, 22h57
  5. Réponses: 18
    Dernier message: 09/08/2005, 12h57

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