Ne pas être obliger de lancer le programme plusieurs fois

Utilisateur anonyme -  
 Utilisateur anonyme -
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   Statut Membre Dernière intervention   30
 
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
 
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   Statut Membre Dernière intervention   30
 
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
 
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