1. #1
    Invité de passage
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : juillet 2012
    Messages : 28
    Points : 4
    Points
    4

    Par défaut Question Facile si-et-alors

    Bonjour,

    Alors pour une fois j'ai une question simple en c# peut on faire:
    (j'ai bien sur chercher vite fait mais j'ai rien trouver)

    si condition et condition alors
    ou

    si (nombre negatif) alors
    Voila merci d'avance pour vos réponse.

    Florent

  2. #2
    Expert Confirmé
    Homme Profil pro
    Inscrit en
    février 2003
    Messages
    1 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 764
    Points : 2 997
    Points
    2 997

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(cond1 && cond2)
    {
    /*alors*/
    }
    else if(nombre<0)
    {
    /*alors*/
    }
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Expert Confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    1 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 1 500
    Points : 2 744
    Points
    2 744

    Par défaut

    oui à partir du moment que ta condition te renvoie vrai ou faux c'est possible le et se traduit par && et le nombre négatif par ton nb<0.

  4. #4
    Invité de passage
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : juillet 2012
    Messages : 28
    Points : 4
    Points
    4

    Par défaut

    Ha merci pour l'info , j'aurais pu trouver de moi méme , par contre pour le nombre negatif j'ai penser à cette méthode mais je pensais qu'il y en avait une autre mais un grand merci à vous tous

  5. #5
    Invité de passage
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : juillet 2012
    Messages : 28
    Points : 4
    Points
    4

    Par défaut

    Bon sa ne fonctionne pas je vais donc vous donnez plus d'infos sur mon code

    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
    if ((Base - 60000) <0 && (Base - 60000) < 90000 )
                        {
                            Taux = 0;
                        }
                        if ((Base-60000)<90000){
    						Taux= 15;
                        }
                        if (((Base - 60000) > 90000) && ((Base - 60000) < 210000))
                        {
                            Taux = 25;
    					}
                        if  ((Base - 60000) > 210000)
                        {
    						Taux= 40;
    					}
    Le probléme dans ce code c'est que quand base est un chiffre négatif il m'affiche 15 alors que moi j'aurais voulu qui m'affiche 0
    Je pense qu'il verifie la conditions d'aprés et elle est aussi juste donc il affiche 15

    Il faudrais peut etre que je verifie la deuxième condition en premier ((Base-60000)<90000) ??

    Si vous avez des idées et je suis sur que vous en avez proposé moi

    Et encor merci pour votre aide

    Florent

  6. #6
    Membre habitué
    Inscrit en
    décembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : décembre 2010
    Messages : 92
    Points : 100
    Points
    100

    Par défaut

    Je n'ai pas tout lu mais je pense que ton problème vient du fait qu'il te manque les "else" dans tes conditions suivantes.
    En effet, peut être que Base correspond à plusieurs conditions, et du coup passe dans la première, puis la seconde etc...
    Tu as essayé de mettre un point d'arrêt ? C'est le plus simple si tu veux suivre l'exécution de ton code et son comportement.

    A+

  7. #7
    Membre habitué
    Homme Profil pro
    Architecte C#
    Inscrit en
    février 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte C#

    Informations forums :
    Inscription : février 2003
    Messages : 78
    Points : 139
    Points
    139

    Par défaut

    Bonjour, que dirais tu d'une méthode par exemple :

    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
    public int GetTaux(int base)
    {
        var baseCalc = base - 60000;
        if(baseCalc >= 0)
        {
            if(baseCalc < 90000)
            {
                return 15;
            }
            if(baseCalc < 210000)
            {
                return 25;
            }
            return 40;
        }
     
         return 0;
    }

  8. #8
    Expert Confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    1 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 1 500
    Points : 2 744
    Points
    2 744

    Par défaut

    Si tu fais des if à la suite il va tester chaque condition et tant qu'elle sont vrai il rentrera dedans, il faut spécifier le alors pour que les conditions suivantes soit exécutées que si les conditions précédentes sont fausses.

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                int i = 5;
                int j = 0;
                if (i > 0)
                {
                    j = 3;
                }
                if (i == 5)
                {
                    j = 2;
                }
    j sera égal 2
    alors que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                int i = 5;
                int j = 0;
                if (i > 0)
                {
                    j = 3;
                }
                else if (i == 5)
                {
                    j = 2;
                }
    j sera égal 3

  9. #9
    Invité de passage
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : juillet 2012
    Messages : 28
    Points : 4
    Points
    4

    Par défaut

    @Vimaire

    Je ne suis pas trés doué dans les methodes :/ et j'ai peur que la variable base soit utiliser autre par, je vais de la modification de code et non un Dev complet

    @same66

    Pour les points d'arret c'est difficile car ce n'ais pas moi qui test (j'ai pas les droits d'utiliser l'application seul)


    Pour les else je peux faire comme ça:

    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
     
    if ((Base - 60000) <0 && (Base - 60000) < 90000 )
                        {
                            Taux = 0;
                        }
                        else ((Base-60000)<90000){
    						Taux= 15;
                        }
                        else (((Base - 60000) > 90000) && ((Base - 60000) < 210000))
                        {
                            Taux = 25;
    					}
                       else ((Base - 60000) > 210000)
                        {
    						Taux= 40;
    					}
    Merci à vous 2

    ha j'été tomber sur un tuto de merde qui me diser if else mais visual studio ne voulais pas.

  10. #10
    Membre habitué
    Homme Profil pro
    Architecte C#
    Inscrit en
    février 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte C#

    Informations forums :
    Inscription : février 2003
    Messages : 78
    Points : 139
    Points
    139

    Par défaut

    @youtpout978 : c'est pour ca que j'ai mis des returns successifs, pour éviter d'aller dans les autres ifs et de complexifier le code à le truffer de else

    @soron59 : si ca doit etre paramétrable par l'utilisateur ou un admin, ma réponse précédente n'est pas adaptée : il vaut mieux passer par un système de plages de valeurs.
    [Edit] dans tous les cas, c'est de la modification de code, simplement, dans un cas, tu factorise

  11. #11
    Invité de passage
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : juillet 2012
    Messages : 28
    Points : 4
    Points
    4

    Par défaut

    Merci a vous tous c'est bon j'ai utilisé les else if et ça fonctionne trés bien

    Bonne soirée

  12. #12
    Inactif
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 607
    Points : 13 122
    Points
    13 122

    Par défaut

    Cette ligne n'est pas très logique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((Base - 60000) <0 && (Base - 60000) < 90000 )
    En effet, si base - 60000 est < 0, il est toujours inférieur à 90000 (il me semble que 0 < 90000, non ? ).

    donc :

    suffit.

    de plus, tu utilises Base - 60000 un peu partout et tu le calcul à chaque fois, ce qui n'est pas très lisible (ni optimal, même si le compiler applique des optim sur ce genre de truc).

Discussions similaires

  1. Question facile sur la classe string
    Par MarOne dans le forum Langage
    Réponses: 9
    Dernier message: 20/04/2006, 14h28
  2. [Débutant] question facile pour vous
    Par Michel_57 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 05/04/2006, 07h16
  3. 2 Questions facile sur scrollbar et Accents
    Par mamizo dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/02/2005, 11h53
  4. Question facile, erreur bizzare lors d'un Left, Top
    Par SpiderAlpha dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2004, 12h56
  5. Question facile!!!!
    Par AL-{3D}- dans le forum DirectX
    Réponses: 2
    Dernier message: 13/10/2003, 23h37

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