2023. február 17., péntek

2023.02.17. Online programozó oldalak

 Leetcode

Coding Game

2023.02.17. Csillagok kiírása ciklussal

Csillagok kiírása ciklussal

1. Mit csinál ez a kód?
2. Alakítsd át úgy, hogy a for ciklust cseréld le while ciklusra.  
using System;

namespace kiiro
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 80; i++)
            {
                Console.Write("*");
            }
            Console.ReadLine();
            Console.Clear();
            int sor = 0;
            int oszlop = 0;
            for (int i = 0; i < 80; i++)
            {
                Console.SetCursorPosition(oszlop,sor );
                Console.Write("*");
                oszlop++;
                sor++;
            }  
            Console.ReadLine();
            Console.Clear();
            sor = 0;
            oszlop = 79;
            for (int i = 0; i < 80; i++)
            {
                Console.SetCursorPosition(oszlop, sor);
                Console.Write("*");
                oszlop--;
                sor++;
            }
            Console.ReadLine();
        }
    }
}

2023.02.17. While ciklus - gyakorló feladat

  

While – gyakorló feladat

1       feladat:

       Kérd be a felhasználótól, hogy hány nap múlva lesz vége a tanévnek.

       Számolj visszafelé egyesével 1-ig, az aktuális értéket írd ki a képernyőre (élesben naponta egyet kellene kiírni).

2       feladat:

Monitorokat szállítasz ki a raktárból.

       A kezdőkészlet értékét kérd be (tehát hány db monitor van).

       A ciklus addig megy, amíg el nem fogy minden monitor.

       Minden cikluslépésben csökkents a készletet egy 1 és 10 közötti friss véletlenszámmal.

       Minden cikluslépésben írd ki, hogy hányat akar venni a vásárló, hány darab monitor van még, és a vásárlás után hány maradt. (A végén figyelj, hogy ne menj mínuszba.)

Máté megoldása:
using System;


namespace Orai20230217
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random();
            //1       feladat:
            //−       Kérd be a felhasználótól, hogy hány nap múlva lesz vége a tanévnek.
            //−       Számolj visszafelé egyesével 1 - ig, az aktuális értéket írd ki a képernyőre(élesben naponta egyet kellene kiírni).
            Console.Write("Hány nap múlva ér véget a tanév?  ");
            int napok = Convert.ToInt32(Console.ReadLine());
            while (napok > 0)
            {
                Console.WriteLine($"Még {napok} nap maradt hátra a tanévből!");
                napok--;
            }
            Console.WriteLine();
            //2       feladat:
            //Monitorokat szállítasz ki a raktárból.
            //−       A kezdőkészlet értékét kérd be(tehát hány db monitor van).
            //−       A ciklus addig megy, amíg el nem fogy minden monitor.
            //−       Minden cikluslépésben csökkents a készletet egy 1 és 10 közötti friss véletlenszámmal.
            //−       Minden cikluslépésben írd ki, hogy hányat akar venni a vásárló, hány darab monitor van még, és a vásárlás után hány maradt. (A végén figyelj, hogy ne menj mínuszba.)
            Console.Write("Hány darab monitor van raktáron?  ");
            int monitorok = Convert.ToInt32(Console.ReadLine());
            int vétel = 0;
            while (monitorok > 0)
            {
                vétel = rnd.Next(1, 11);
                if (monitorok > vétel)
                {
                    Console.WriteLine($"Jelenleg {monitorok} darab monitor van raktáron, amiből a vevő {vétel} darabot vesz, így raktáron marad {monitorok - vétel} darab.");
                }
                else
                {
                    if (monitorok == vétel)
                    {
                        Console.WriteLine($"Jelenleg {monitorok} darab monitor van raktáron, a vevő {vétel} darabot vesz, és nem marad raktáron monitor.");
                    }
                    else
                    {
                        Console.WriteLine($"Jelenleg {monitorok} darab monitor van raktáron, a vevő {vétel} darabot akart venni, de mivel nincs elég, így a vevő csak {monitorok} darabot tud venni, és nem marad raktáron monitor.");
                    }
                }

                monitorok -= vétel;
            }
            Console.ReadLine();
        }
    }
}

Tamás megoldása alapján:
using System;
namespace kiiro
{
    class Program
    {
        static void Main(string[] args)
        {
           
            Console.Write("Hány nap múlva lesz vége a tanévnek: ");
            int tanevvege = Convert.ToInt32(Console.ReadLine());
           
            while (tanevvege >= 0)
            {
                Console.WriteLine(tanevvege);
                tanevvege--;
            }
            Console.ReadLine();

            Console.Write("Kérem a kezdőkészlet értékét: ");
            int kezdokeszlet = Convert.ToInt32(Console.ReadLine());

            Random rnd = new Random();
            int randomszam = 0;
           
            while (kezdokeszlet > 0)
            {
                randomszam = rnd.Next(1,11);
                Console.WriteLine($"Ennyi monitort szeretne: {randomszam}");
                Console.WriteLine($"Ennyi monitor van még: {kezdokeszlet}");
                kezdokeszlet -= randomszam;
                if (kezdokeszlet < 0)
                {
                    kezdokeszlet = kezdokeszlet * -1;
                    Console.WriteLine($"Elfogytak a monitorok szóval ennyi monitort nem kapott meg a vásárló: {kezdokeszlet}");
                    kezdokeszlet = 0;
                }
                else
                {
                    Console.WriteLine($"Ennyi maradt: {kezdokeszlet}");
                    Console.WriteLine();
                }
            }
            Console.ReadLine();
           
        }
    }

}





2024.04.25. Időjárás app

 Feladat: Időjárás app - OOP módszerekkel, haladóknak adatkötéssel Az alkalmazás célja, hogy a felhasználók hozzáadjanak és eltávolítsanak v...