Tömbkezelés gyakorlása VI.
1. Az ablak címsorába írd be: Önálló feladatmegoldás.
2. Adj egy hangjelzést.
3. Definiálj egy konstanst <<akcio>> néven, amelyben a termékakcióban használt százalékértéket kell tárolnod. (pl. 20%-os kedvezménynél: 20.)
4. Add ezt értékül a konstansnak. A típusát úgy válaszd meg, hogy ne tárolj fölöslegesen nagy számot.
5. Hozz létre egy 3 elemű tömböt <<termekek>> néven, amelyben a termékek nevét fogod tárolni.
6. Programból töltsd föl a tömböt terméknevekkel.
7. Hozz létre egy 3 elemű tömböt <<arak>> néven, amelyben a termékek árát fogod tárolni.
8. Ezt a tömböt a felhasználótól bekért adatokkal kell feltöltened. Ehhez írd ki neki, hogy 10-re végződő árakat kell beírnia, majd helyezd el a bekért értéket a tömbben. Ne használj változót a bevitelhez, egyenesen a tömbbe tedd be az értéket.
9. Csökkentsd az árakat 1-gyel a -- operátor segítségével.
10. Írd ki a két tömb értékeit a képernyőre a következőképpen:
- állítsd át a betűszínt, és a betű hátterének színét;
- írd ki az akció kulcsának értékét a 10. sor 5. oszlopába, írd mögé, hogy %;
- írd ki a termék nevét (a következő sor elejére) úgy, hogy közben gondoskodj róla, hogy a kurzor ott maradjon kiírás után;
- állítsd át a betűszínt, és a betű hátterének színét más színekre;
- írd ki a termék árát;
- hagyj egy üres sort a képernyőn.
11. Ismételd meg ezeket minden termékkel.
12. Hozz létre egy 3 elemű tömböt <<akcios_ar>> néven, amelyben a termékek akciós árát fogod tárolni.
13. Ennek a tömbnek az elemeit töltsd föl a termékek általad kiszámolt akciós árával.
Feltételek:
Ha a termék ára 10000 forint, vagy annál magasabb, akkor a konstansban megadott százalékértéket használjuk.
Ha a termék ára 10000 forint alatt van, akkor a konstansban megadottnál 5 %-kal alacsonyabb értékű akció vonatkozik rá.
14. Írd ki a három tömb értékeit a képernyőre a következő mintapélda alapján:
MONITOR 40000 Ft helyett: 35000 Ft
Ehhez a termékek nevét nagybetűssé kell alakítanod (csak a kiírás idejére, a tömbben ne változzon).Krisztián megoldása:
const double akcio = 20;
//Tömbkezelés gyakorlása VI.
//1. Az ablak címsorába írd be: Önálló feladatmegoldás.
Console.Title = "Önálló feladatmegoldás";
//2. Adj egy hangjelzést.
Console.Beep(500,1000);
//3. Definiálj egy konstanst <<akcio>> néven, amelyben a termékakcióban használt
//százalékértéket kell tárolnod. (pl. 20%-os kedvezménynél: 20.)
//4. Add ezt értékül a konstansnak. A típusát úgy válaszd meg, hogy ne tárolj fölöslegesen nagy számot.
//5. Hozz létre egy 3 elemű tömböt <<termekek>> néven, amelyben a termékek nevét fogod tárolni.
string[] termekek = new string[3];
termekek[0] = "zöldség";
termekek[1] = "hús";
termekek[2] = "rizs";
//6. Programból töltsd föl a tömböt terméknevekkel.
//7. Hozz létre egy 3 elemű tömböt <<arak>> néven, amelyben a termékek árát fogod tárolni.
double[] arak = new double[3];
Console.Write(" Add meg az 1. termék árát(10-re végződő árak): ");
arak[0] = Convert.ToDouble(Console.ReadLine());
Console.Write(" Add meg a 2. termék árát(10-re végződő árak): ");
arak[1] = Convert.ToDouble(Console.ReadLine());
Console.Write(" Add meg a 3. termék árát(10-re végződő árak): ");
arak[2] = Convert.ToDouble(Console.ReadLine());
//8. Ezt a tömböt a felhasználótól bekért adatokkal kell feltöltened.
//Ehhez írd ki neki, hogy 10-re végződő árakat kell beírnia, majd helyezd el a bekért értéket a tömbben.
//Ne használj változót a bevitelhez, egyenesen a tömbbe tedd be az értéket.
//9. Csökkentsd az árakat 1-gyel a -- operátor segítségével.
arak[0] = arak[0]--;
arak[1] = arak[1]--;
arak[2] = arak[2]--;
//10. Írd ki a két tömb értékeit a képernyőre a következőképpen:
//- állítsd át a betűszínt, és a betű hátterének színét;
//- írd ki az akció kulcsának értékét a 10. sor 5. oszlopába, írd mögé, hogy %;
//- írd ki a termék nevét (a következő sor elejére) úgy, hogy közben gondoskodj róla, hogy a kurzor ott maradjon kiírás után;
//- állítsd át a betűszínt, és a betű hátterének színét más színekre;
//- írd ki a termék árát;
//- hagyj egy üres sort a képernyőn.
Console.Clear();
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.Cyan;
Console.BackgroundColor = ConsoleColor.DarkBlue;
Console.SetCursorPosition(10, 6); //ezt a sort ismételni kellett volna a következő termékek előtt...
Console.WriteLine("{0}%", akcio);
Console.WriteLine(" Az 1. termék: {0}",termekek[0]);
Console.ForegroundColor = ConsoleColor.Gray;
Console.BackgroundColor = ConsoleColor.Magenta;
Console.WriteLine(" Az 1. termék: {0}",arak[0]);
Console.WriteLine();
Console.WriteLine(" A 2. termék: {0}", termekek[1]);
Console.ForegroundColor = ConsoleColor.Red;
Console.BackgroundColor = ConsoleColor.Yellow;
Console.WriteLine(" A 2. termék: {0}", arak[1]);
Console.WriteLine();
Console.WriteLine(" A 3. termék: {0}", termekek[2]);
Console.ForegroundColor = ConsoleColor.White;
Console.BackgroundColor = ConsoleColor.Black;
Console.WriteLine(" A 3. termék: {0}", arak[2]);
Console.WriteLine();
//11. Ismételd meg ezeket minden termékkel.
//12. Hozz létre egy 3 elemű tömböt <<akcios_ar>> néven, amelyben a termékek akciós árát fogod tárolni.
double[] akcios_ar = new double[3];
//13. Ennek a tömbnek az elemeit töltsd föl a termékek általad kiszámolt akciós árával.
//Feltételek:
//Ha a termék ára 10000 forint, vagy annál magasabb, akkor a konstansban megadott százalékértéket használjuk.
//Ha a termék ára 10000 forint alatt van, akkor a konstansban megadottnál 5 %-kal alacsonyabb értékű akció vonatkozik rá.
if (arak[0] >=10000 )
{
akcios_ar[0] = arak[0] - (arak[0]*akcio/100);
Console.WriteLine(" Az új ár: {0}", akcios_ar[0]);
}
else
{
akcios_ar[0] = arak[0] - (arak[0] * (akcio - 5) / 100);
Console.WriteLine(" 10 ezer alatti akció: {0}",akcios_ar[0]);
}
//////////////////////////
if (arak[1] >= 10000)
{
akcios_ar[1] = arak[1] - (arak[1] * akcio / 100);
Console.WriteLine(" Az új ár: {0}", akcios_ar[1]);
}
else
{
akcios_ar[1] = arak[1] - (arak[1] * (akcio - 5) / 100);
Console.WriteLine(" 10 ezer alatti akció: {0}", akcios_ar[1]);
}
//////////////////////////////
if (arak[2] >= 10000)
{
akcios_ar[2] = arak[2] - (arak[2] * akcio / 100);
Console.WriteLine(" Az új ár: {0}", akcios_ar[2]);
}
else
{
akcios_ar[2] = arak[2] - (arak[2] * (akcio - 5) / 100);
Console.WriteLine(" 10 ezer alatti akció: {0}", akcios_ar[2]);
}
//14. Írd ki a három tömb értékeit a képernyőre a következő mintapélda alapján:
//MONITOR 40000 Ft helyett: 35000 Ft
//Ehhez a termékek nevét nagybetűssé kell alakítanod (csak a kiírás idejére, a tömbben ne változzon).
Console.WriteLine();
Console.WriteLine("{0} {1,8} Ft helyett: {2,15}",termekek[0].ToUpper(),arak[0],akcios_ar[0]);
Console.WriteLine("{0} {1,8} Ft helyett: {2,15}", termekek[1].ToUpper(), arak[1], akcios_ar[1]);
Console.WriteLine("{0} {1,8} Ft helyett: {2,15}", termekek[2].ToUpper(), arak[2], akcios_ar[2]);
Console.ReadLine();