Voici mon code pour avis [Résolu]

Signaler
Messages postés
3
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
19 novembre 2010
-
Messages postés
3
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
19 novembre 2010
-
Bonjour à toutes et à tous.

Je suis un (grand) débutant en C# et j'ai réalisé un petit scrit sans prétention pour calculer des seuils de rentabilité. Je vous poste donc le code généré sous Visual C# Express 2010 afin que vous me donniez votre avis et que vous me fassiez remonter des idées d'amélioration de ce code.

Je vous remercie par avance de votre tolérance (je débute vraiment) et de l'aide que vous pourez m'apporter.

Bonne soirée.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace SeuilDeRentabilite
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void BoutonCalculer_Click(object sender, EventArgs e)
        {
            if (ChargesExternes.Text "" && Prelevements.Text "" && ChargesSociales.Text == "" && ImpotsEtTaxes.Text == "" &&
                DotationAuxAmortissements.Text "" && ChargesFinancieres.Text "")
                MessageBox.Show("Veuillez entrer au moins une charge", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            else if (TauxDeMarge.Text == "")
                MessageBox.Show("Veuillez entrer un objectif de taux de marge", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            else
                Calcul();
        }

        private void BoutonQuitter_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void Calcul()
        {
            if (ChargesExternes.Text == "")
                ChargesExternes.Text = "0";
            else if (Prelevements.Text == "")
                Prelevements.Text = "0";
            else if (ChargesSociales.Text == "")
                ChargesSociales.Text = "0";
            else if (ImpotsEtTaxes.Text == "")
                ImpotsEtTaxes.Text = "0";
            else if (DotationAuxAmortissements.Text == "")
                DotationAuxAmortissements.Text = "0";
            else if (ChargesFinancieres.Text == "")
                ChargesFinancieres.Text = "0";
            else if (Resultat.Text == "")
                Resultat.Text = "0";
            
            SeuilDeRentabiliteAvantPrelevements.Text = ((int.Parse(ChargesExternes.Text) + int.Parse(ChargesSociales.Text) +
                int.Parse(ImpotsEtTaxes.Text) + int.Parse(DotationAuxAmortissements.Text) +
                int.Parse(ChargesFinancieres.Text) + int.Parse(Resultat.Text) /
                (float.Parse(TauxDeMarge.Text) / 100))).ToString();

            SeuilDeRentabiliteApresPrelevements.Text = ((int.Parse(Prelevements.Text) + int.Parse(ChargesExternes.Text) +
                int.Parse(ChargesSociales.Text) + int.Parse(ImpotsEtTaxes.Text) +
                int.Parse(DotationAuxAmortissements.Text) + int.Parse(ChargesFinancieres.Text) +
                int.Parse(Resultat.Text) / (float.Parse(TauxDeMarge.Text) / 100))).ToString();
        }
    }
}

4 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
29
Bonsoir Simonier

ton code se tient,
cependant il faudra que tu testes correctement toutes les valeurs saisies car les int.Parse() ne pardonnent pas.
ou alors tu peux encadrer l'appel à calcul
ex:
...
 else
try
{
  Calcul();
}
catch (Exception ex)
{
  MessageBox.Show("Veuillez reverifier les valeurs saisies!!", "Erreur de calcul", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}


Et aussi, je ne comprends pas bien la série de If .. else if dans la méthode Calcul().
ne vaudrait-il pas enlever les "else" et tester systématiquement toutes les zones ?

@Kohntark tu ne devais pas être bien reveillé, ou alors c'est moi qui dort déjà,
mais on est bien dans Accueil > Forum > C# > Windows > Autre >

Bob
C# is amazing, enjoy it!
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
@Robert33, rassure-toi, tout le monde a été bien réveillé. La question a été postée par erreur sur un autre forum. Je l'ai déplacée ici il y a quelques instants. J'espère que son auteur lira le message privé que je lui ai envoyé pour la retrouver.
Messages postés
3
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
19 novembre 2010

Bonjour tout le monde.

racpp, j'ai bien lu le message privé, merci beaucoup d'avoir placé mon thread sur le bon forum, désolé pour le dérangement.

Robert33, je vais testé l'encadrement d'appel à calcul, merci pour ton code, je vais m'en inspirer grandement. Pour la série de if et else if, j'avoue que je ne savais pas trop comment faire. Je vais essayer ce que tu me dis (tester systématiquement toutes les zones).

Merci encore pour vos réponses.

Cordialement.
Messages postés
3
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
19 novembre 2010

Le try fonctionne correctement. Je n'est pas encore trouvé de valeurs qui me renvoient une exception mais gràce à toi le problème sera géré et ne générera pas un plantage.

J'ai également fais comme tu m'a dis pour les if, je teste chaque valeur indépendament des autres.

Merci beaucoup pour votre aide, je sais que je peux compter sur des gens sympas qui m'accorderont un peu de leur temps pour me permettre de progresser, car je voudrais aller un peu plus loin avec ce super langage qu'est le C#, et par extension le framework .net.

Cordialement.