Ne pas être obliger de lancer le programme plusieurs fois

natier -  
 natier -
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

  1. L0ci Messages postés 112 Statut Membre 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
  2. natier
     
    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
  3. L0ci Messages postés 112 Statut Membre 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
  4. natier
     
    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