IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

bloquer sur une Boucle avec C#


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Par défaut bloquer sur une Boucle avec C#
    Je suis en tain de réaliser une application (projet de fin d’étude).

    Je cherche un algorithme avec C# asp.net qui fait la somme entre les textbox depuis le début et lorsqu'il atteint 19 il donne une résultat: il affiche les labels qu'il a calculé et remets les textbox qu'il a déjà calculé à 0 sauf le dernier si il y a un reste et relance la boucle... jusqu’au dernier textbox.

    J'ai attaché une image qui explique la procédure

    Explication d'image:

    Zone 1:
    15+6= 21
    résultat= prendre A et B et en donne le reste B=2 car 21-19=2
    texte box de A remettre à 0

    Zone 2:
    relance de la boucle: 2+9+13=24 prendre B, C, D et en donne le reste D=5
    texte box de B et C remettre à 0

    Zone 3:
    Relance de la boucle: 5+3=8 prendre D et C
    tout les textes box remettre à 0

    Résultat finale:
    ligne 1: A --> B
    ligne 2: B --> C --> D
    ligne 3: D --> E

    Remarque: les nombres sur le schéma ne sont pas stable.


  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Pourquoi écrire aussi gros ?

    Pourquoi la ligne C passe de 2 à 9 entre les étapes 1 et 2 ?

    Et ton code, il en est où ?

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Par défaut Désolé
    Je suis vraiment désolé j'ai corrigé la faute ainsi que la taille de texte, Zone A C=9

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Poste ce que tu as déjà fait, et là où tu coinces.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je suis pas certaine d'avoir compris totalement ce que tu voulais faire.

    Mais voilà ce que ça donne en gros (c'est du vite fais) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    class Program
        {
            const int MAX = 19;
     
            static void Main(string[] args)
            {
                int[] lstInt = new int[] { 15, 6, 9, 13, 3 };
                int sum = MAX;
                int rest = 0;
                int index;
     
                while (sum >= MAX)
                {
                    index = 0;
                    sum = 0;
     
                    foreach (var item in lstInt)
                    {
                        if (sum < MAX)
                        {
                            sum += item;
                            lstInt[index] = 0;
                            index++;
                        }
                        else
                        {
                            break;
                        }
                    }
     
                    rest = sum >= MAX ? sum - MAX : sum;
                    lstInt[index-1] = rest;
     
                    Console.WriteLine("A : {0} - B : {1} - C : {2} - D : {3} - E : {4} - Restant : {5}", lstInt[0], lstInt[1], lstInt[2], lstInt[3], lstInt[4], rest);
                }
     
                Console.ReadLine();
            }
        }
    La sortie sur la console correspond à ton exemple.

Discussions similaires

  1. Réponses: 20
    Dernier message: 23/11/2013, 18h53
  2. Réponses: 3
    Dernier message: 06/01/2012, 21h56
  3. [E07] erreur sur une boucle avec condition
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 18/03/2009, 14h59
  4. Problème sur une cmd avec AWK
    Par OrangeBud dans le forum Linux
    Réponses: 3
    Dernier message: 02/06/2004, 10h51
  5. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo