Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

C# programozás

234
Egy termék szavatossági idejét kérjük be konzolról. Két nappal a ha szavatossági idő lejárta előtt akciózzák a terméket. Kérjünk be egy dátumot és a termék szavatossági idejét napokban. Határozzuk meg, hogy mikor kell kezdeni az akciót. Használd az .AddDays() metódust!
Jelenleg 1 felhasználó nézi ezt a kérdést.
sos, c#, Csharp, programozás, T1C
0
Középiskola / Informatika

Válaszok

1
Szia :)
Most az egyszer nem kell külön oldalra feltöltenem a kódot, mivel nincs benne semmi extra indentálás.

Console.WriteLine("Kérlek add meg egy termék lejárati dátumát éééé-hh-nn formában, pl. 2021-02-03");
var datum = Convert.ToDateTime(Console.ReadLine());
Console.WriteLine("Kérlek add meg, hogy a korábban megadott termék szavatossági idejét napokban. pl. 3");
var szavatossag = Int32.Parse(Console.ReadLine());
Console.WriteLine("A terméket {0}-án/én kell leakciózni.", datum.AddDays(szavatossag-2).ToString("yyyy-MM-dd"));

A fent látható kód leírása röviden:
Először is kiírom, hogy mit és milyen formában kérek a felhasználótól. Ezután beolvasok egy sort a Console.ReadLine() segítségével, ami a felhasználó által beírt szöveget fogja visszaadni. Ezt egyből egy átalakítóba teszem (Convert.ToDateTime), ami egy szöveget vár paraméterként és egy DateTime típusú értékkel tér vissza, ami már maga a dátum.
Majd ismét bekérek a felhasználótól egy értéket a Console.ReadLine()-nal, majd rögtön átalakítom egy egész számmá az Int32.Parse(szöveg) függvénnyel. Végül pedig kiírom, hogy a terméket mikor kell leakciózni. A kiírás során a {0} helyére fog behelyettesítődni a vessző után írt kifejezés értéke. Az a kifejezés azt jelenti, hogy a datum változóba elmentett változóhoz hozzáadom a szavatossag változóban elmentett érték minusz kettő mennyiségű napot. Azért kell a minusz kettő, mert ugye tudom mikor jár le, így ha kivonok kettő napot, megkapom mikor kell akciózni.
Végül pedig arra az értékre hívok egy ToString(formátum) metódust, ahol paraméterként egy stringben megadom, hogy milyen formában legyen a dátum. Nálam ez yyyy-MM-dd, ami azt jelenti, hogy az évet teljes egészében írja ki, a hónapot számmal, és a napot is teljes egészében írja ki. Ha a napnál egy d-t írtam volna, akkor pl. elsején nem 01-et írna, hanem simán 1-et, hasonlóan van ez a hónapnál is.

Remélem tudtam segíteni a válaszommal. Ha igen, akkor kérlek jelöld megoldásnak.
0