Ne pas être obliger de lancer le programme plusieurs fois

Fermé
Utilisateur anonyme - 31 oct. 2012 à 12:01
 Utilisateur anonyme - 31 oct. 2012 à 16:41
Bonjour,

J'aurai voulu savoir qu'elles lignes et ou dans un programme C# faut-il ajouter pour qu'un utilisateur puisse demander l'exécution du calcul plusieurs fois sans être obligé de « lancer » le programme à chaque fois ?

Merci de votre aide

4 réponses

L0ci Messages postés 110 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 9 janvier 2013 30
31 oct. 2012 à 12:56
Bonjour,

Il faut créer un évènement qui va appeler la fonction de calcul (bouton clic, touche presée...).
Sans plus d'info sur ton code et ton type de projet (winform/console/wpf) il est difficile d'être plus précis
0
Utilisateur anonyme
31 oct. 2012 à 13:34
il s'agit d'une application console. voici le code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TP6EntrepriseAMIOUF
{
class Program
{
static void Main(string[] args)
{

// Déclaration des constantes
// constante contenant le prix du kg de croquettes pour chat
const float prixChat = 6;
// constante contenant le taux de majoration du prix du kg de croquettes pour
// chat si vitaminée. 2.5 signifie 2,5 % de majoration
const float txChatVitamine = 2.5f;
// constante contenant le prix du kg de croquettes pour chien
const float prixChien = 6.5f;
// constante contenant le taux de majoration du prix du kg de croquettes pour
// chien si vitaminée 2.5 signifie 2,5 % de majoration
const float txChienVitamine = 2.7f;

const float txTVA = 19.6f;


// Déclaration des variables
// variable contenant le prix du kg de croquettes
float prix;
// variable contenant le nombre de kg de croquettes à commander
int qteCroq;
// variable contenant le montant HT à payer pour les croquettes
float montantHT;
// variable contenant le montant de TVA à payer pour les croquettes
float montantTVA;
// variable contenant le montant TTC à payer pour les croquettes
float montantTTC;
// variable contenant le taux de remise
float txRemise;
// variable contenant le montant de la remise
float montantRemise;
// variable contenant le type de d'animal
int typeAnimal;
// variable contenant le type de croquette
int typeCroq;
// variable contenant le type de client
string typeClient;
// variable contenant la saisie de l'utilisateur
string valeurSai;
// variable booléenne
bool ret;


// Saisie du type d'animal
Console.Write("Veuillez saisir l'animal à qui les croquettes sont destinées\n (1 pour chat, 2 pour chien) : ");
do
{
valeurSai = Console.ReadLine();
ret = int.TryParse(valeurSai, out typeAnimal);
if (ret == false || typeAnimal != 1 && typeAnimal != 2)
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false || typeAnimal != 1 && typeAnimal != 2);

// Saisie du type de croquette
Console.Write("Veuillez saisir le type de croquette à commander \n(1 pour croquettes simple, 2 pour croquettes vitaminées) : ");
do
{
valeurSai = Console.ReadLine();
ret = int.TryParse(valeurSai, out typeCroq);
if (ret == false || typeCroq != 1 && typeCroq != 2)
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false || typeCroq != 1 && typeCroq != 2);

// Saisie du nombre de kilo de croquette à commander
Console.Write("Veuillez saisir le nombre de kilos à commander : ");
do
{
valeurSai = Console.ReadLine();
ret = int.TryParse(valeurSai, out qteCroq);
if (ret == false)
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false);


// Saisie de la catégorie du client
Console.Write("Veuillez saisir votre catégorie de client (A, B ou C) : ");
do
{
typeClient = Console.ReadLine();
typeClient = typeClient.ToUpper();

if (ret == false || typeClient !="A" && typeClient !="B" && typeClient !="C")
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false || typeClient != "A" && typeClient != "B" && typeClient != "C");


// Boucle qui attribut le prix pour un kilo de croquette selon le type de croquette saisie et le type d'animal saisie
if (typeAnimal == '1')
if (typeCroq == '1')
prix = prixChat;
else prix = prixChat + prixChat * txChatVitamine / 100;
else
if (typeCroq == '1')
prix = prixChien;
else prix = prixChien + prixChien * txChienVitamine / 100;


// Calcul du montant HT: prix au kilo multiplié par la quantité de croquette commandée
montantHT = prix * qteCroq;

switch (typeClient)
{
case "A":
txRemise = 0.02f;
break;
case "B":
txRemise = 0.05f;
break;
case "C":
txRemise = 0.08f;
break;
default:
txRemise = 0;
break;
}

// Calcul du montant HT si le taux de remise est supérieur à 0
if (txRemise > 0)
{
montantRemise = txRemise * montantHT;
Console.WriteLine("Votre taux de remise est de " + txRemise);
Console.WriteLine("Le montant HT avant remise est de {0:n} euros ", montantHT);
Console.WriteLine("Le montant de la remise est de {0:n} euros", montantRemise);
montantHT = montantHT - montantRemise;
Console.WriteLine("Le montant HT après remise est de {0:n} euros", montantHT);
}
else
Console.WriteLine("Le montant HT est de {0:n} euros", montantHT);

// Calcul de la TVA
montantTVA = montantHT * txTVA / 100;
Console.WriteLine("Le montant de TVA est de {0:n} euros", montantTVA);

// Calcul du montant TTC: montant HT + montant TVA
montantTTC = montantHT + montantTVA;
Console.WriteLine("Le montant TTC est de {0:n} euros", montantTTC);

Console.Read();

}
}

}
0
L0ci Messages postés 110 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 9 janvier 2013 30
31 oct. 2012 à 13:43
Re,

Dans ton cas il suffit d'encapsuler ton code dans une boucle do..While ou une boucle while qui ré exécuteront le code tant que l'utilisateur choisit de ne pas quitter

ex:

do{
//tout ton code

console.WriteLine("Voulez vous quitter?");
variable = console.ReadLine();
}
while(variable != "Ok");

A adapter à ton code bien entendu...
0
Utilisateur anonyme
31 oct. 2012 à 16:41
J'ai fait sa et à la fin sa me demande si je ve quitter mais je ne pe pas dire oui ou non, il relance le programme directement
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TP6EntrepriseAMIOUF
{
class Program
{
static void Main(string[] args)
{
// Déclaration des constantes
// constante contenant le prix du kg de croquettes pour chat
const float prixChat = 6;
// constante contenant le taux de majoration du prix du kg de croquettes pour
// chat si vitaminée. 2.5 signifie 2,5 % de majoration
const float txChatVitamine = 2.5f;
// constante contenant le prix du kg de croquettes pour chien
const float prixChien = 6.5f;
// constante contenant le taux de majoration du prix du kg de croquettes pour
// chien si vitaminée 2.5 signifie 2,5 % de majoration
const float txChienVitamine = 2.7f;

const float txTVA = 19.6f;

// Déclaration des variables
// variable contenant le prix du kg de croquettes
float prix;
// variable contenant le nombre de kg de croquettes à commander
int qteCroq;
// variable contenant le montant HT à payer pour les croquettes
float montantHT;
// variable contenant le montant de TVA à payer pour les croquettes
float montantTVA;
// variable contenant le montant TTC à payer pour les croquettes
float montantTTC;
// variable contenant le taux de remise
float txRemise;
// variable contenant le montant de la remise
float montantRemise;
// variable contenant le type de d'animal
int typeAnimal;
// variable contenant le type de croquette
int typeCroq;
// variable contenant le type de client
string typeClient;
// variable contenant la saisie de l'utilisateur
string valeurSai;
// variable booléenne
bool ret;
string quitterprogramme;

do{
// Saisie du type d'animal
Console.Write("Veuillez saisir l'animal à qui les croquettes sont destinées\n (1 pour chat, 2 pour chien) : ");
do
{
valeurSai = Console.ReadLine();
ret = int.TryParse(valeurSai, out typeAnimal);
if (ret == false || typeAnimal != 1 && typeAnimal != 2)
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false || typeAnimal != 1 && typeAnimal != 2);

// Saisie du type de croquette
Console.Write("Veuillez saisir le type de croquette à commander \n(1 pour croquettes simple, 2 pour croquettes vitaminées) : ");
do
{
valeurSai = Console.ReadLine();
ret = int.TryParse(valeurSai, out typeCroq);
if (ret == false || typeCroq != 1 && typeCroq != 2)
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false || typeCroq != 1 && typeCroq != 2);

// Saisie du nombre de kilo de croquette à commander
Console.Write("Veuillez saisir le nombre de kilos à commander : ");
do
{
valeurSai = Console.ReadLine();
ret = int.TryParse(valeurSai, out qteCroq);
if (ret == false)
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false);

// Saisie de la catégorie du client
Console.Write("Veuillez saisir votre catégorie de client (A, B ou C) : ");
do
{
typeClient = Console.ReadLine();
typeClient = typeClient.ToUpper();

if (ret == false || typeClient !="A" && typeClient !="B" && typeClient !="C")
{
Console.WriteLine("Saisie incorrecte, veuillez recommancer");
}

} while (ret == false || typeClient != "A" && typeClient != "B" && typeClient != "C");

// Boucle qui attribut le prix pour un kilo de croquette selon le type de croquette saisie et le type d'animal saisie
if (typeAnimal == '1')
if (typeCroq == '1')
prix = prixChat;
else prix = prixChat + prixChat * txChatVitamine / 100;
else
if (typeCroq == '1')
prix = prixChien;
else prix = prixChien + prixChien * txChienVitamine / 100;

// Calcul du montant HT: prix au kilo multiplié par la quantité de croquette commandée
montantHT = prix * qteCroq;

switch (typeClient)
{
case "A":
txRemise = 0.02f;
break;
case "B":
txRemise = 0.05f;
break;
case "C":
txRemise = 0.08f;
break;
default:
txRemise = 0;
break;
}

// Calcul du montant HT si le taux de remise est supérieur à 0
if (txRemise > 0)
{
montantRemise = txRemise * montantHT;
Console.WriteLine("Votre taux de remise est de " + txRemise);
Console.WriteLine("Le montant HT avant remise est de {0:n} euros ", montantHT);
Console.WriteLine("Le montant de la remise est de {0:n} euros", montantRemise);
montantHT = montantHT - montantRemise;
Console.WriteLine("Le montant HT après remise est de {0:n} euros", montantHT);
}
else
Console.WriteLine("Le montant HT est de {0:n} euros", montantHT);

// Calcul de la TVA
montantTVA = montantHT * txTVA / 100;
Console.WriteLine("Le montant de TVA est de {0:n} euros", montantTVA);

// Calcul du montant TTC: montant HT + montant TVA
montantTTC = montantHT + montantTVA;
Console.WriteLine("Le montant TTC est de {0:n} euros", montantTTC);

Console.Read();
Console.WriteLine("Voulez vous quitter?");
valeurSai = Console.ReadLine();
}
while ("quitterprogramme" != "Ok");
}
}

}
0