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 :

Question Facile si-et-alors


Sujet :

C#

  1. #1
    Membre à l'essai
    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 : 21
    Points
    21
    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
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    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
    2 065
    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 : 2 065
    Points : 4 229
    Points
    4 229
    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
    Membre à l'essai
    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 : 21
    Points
    21
    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
    Membre à l'essai
    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 : 21
    Points
    21
    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 : 129
    Points
    129
    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 : 144
    Points
    144
    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
    2 065
    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 : 2 065
    Points : 4 229
    Points
    4 229
    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
    Membre à l'essai
    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 : 21
    Points
    21
    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 : 144
    Points
    144
    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
    Membre à l'essai
    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 : 21
    Points
    21
    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 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    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).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

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