simonier
Messages postés3Date d'inscriptionmardi 27 juillet 2010StatutMembreDernière intervention19 novembre 2010
-
18 nov. 2010 à 20:09
simonier
Messages postés3Date d'inscriptionmardi 27 juillet 2010StatutMembreDernière intervention19 novembre 2010
-
19 nov. 2010 à 22:01
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();
}
}
}
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 18 nov. 2010 à 23:47
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:
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 >
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 19 nov. 2010 à 00:07
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.
simonier
Messages postés3Date d'inscriptionmardi 27 juillet 2010StatutMembreDernière intervention19 novembre 2010 19 nov. 2010 à 16:10
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).
simonier
Messages postés3Date d'inscriptionmardi 27 juillet 2010StatutMembreDernière intervention19 novembre 2010 19 nov. 2010 à 22:01
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.