• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# program okienkowy nie wykonuje pętli for

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
792 wizyt
pytanie zadane 23 października 2017 w C# przez rexar123499 Nowicjusz (180 p.)
 private void button_Click(object sender, EventArgs e)
        {
            control.Text = new Random().Next(1, 101).ToString();

            int y = Convert.ToInt32(control.Text);

            for (int i = 5; i < 1; i--)
            { 
                int x = Convert.ToInt32(liczba.Text);

                if (x > y)
                {
                    komunikat.Text = "Podałeś za dużą liczbę";
                }
                else if (x < y)
                {
                    komunikat.Text = "Podałeś za małą liczbę";
                }
                else if (x == y)
                {
                    komunikat.Text = "BRAWO! WYGRAŁEŚ";
                }
                else if (i==0)
                {
                    komunikat.Text = "Przegrałeś...";
                }
                else
                {

                }
                label.Text = "" + i;
                
            }
        }

Muszę zrobić taki program okienkowy, który będzie zgadywanką liczb. Idea jest taka, że program losuje liczbę, wyświetla ją (kontrolnie) w label2. W textboxa wpisujemy liczbę po czym po kliknięciu sprawdź wyświetla nam w label4 (tym górnym) odpowiedni komunikat z pętli. Prób mamy  co także widać na pętli(liczba pozostałych prób wyświetla się w dolnym label4). Problemem jest to, że program wcale nie wykonuje instrukcji z pętli for. Losuje on liczbę, po czym dalsze instrukcje się nie wykonują. Pomocy...

1 odpowiedź

+1 głos
odpowiedź 23 października 2017 przez tXT Nowicjusz (160 p.)
Nie wiem czy już zauważyłeś ale ta pętla nigdy się nie wykona bo 5 nie jest mniejsze od 1

wpisz for (int i = 5; i > 1; i--)
komentarz 23 października 2017 przez rexar123499 Nowicjusz (180 p.)
Teraz jest ok, jednak teraz jest problem z ostatnią linijką instrukcji w pętli. Pomimo tego, że górny label4 wyświetla właściwe komunikaty, to w dolnym po pierwszym kliknięciu pokazuje się "1" i tak już pozostaje, i mogę klikać guzik, a pętla wykonuje się dowolną ilość razy zamiast zaplanowanych 5.
komentarz 24 października 2017 przez DragonCoder Nałogowiec (36,500 p.)
Twoja petla mowi, powtarzaj dopoki i jest wielsza od 1, wiec logicznie wykona sie dla, 5,4,3,2. Czyli warunek powinnien byc powtarzaj dopoki "i" jesz wieksze lub rowne 1. A po za tym odrocilbym to i tyle. Powtarzaj dopoki i jest mniejsze lub rowne 5 i++, a na wypisanie dalbym 5 - i. Ale to kwestia gustu :).

Nie programuje w C#, ale moze chodzi o odswiezanie okienka/button, czy pola w ktorym pokazujesz wynik. W normalnej konosoli petla powinna dzialac.

Podobne pytania

+1 głos
1 odpowiedź 851 wizyt
+3 głosów
3 odpowiedzi 6,192 wizyt
pytanie zadane 7 września 2015 w C# przez Dragonet.17 Pasjonat (19,630 p.)
0 głosów
2 odpowiedzi 334 wizyt
pytanie zadane 7 października 2020 w Python przez Dawid Popławski Nowicjusz (160 p.)

93,434 zapytań

142,429 odpowiedzi

322,664 komentarzy

62,799 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...