Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
3.8 kB
2
Indexable
namespace Zadanie4
{
    public class Towar
    {
        public string nazwa, producent;
        public int cena;

        public static Towar Dane(string nazwa, string producent, int cena)
        {
            Towar t = new Towar();
            t.nazwa = nazwa;
            t.producent = producent;
            t.cena = cena;
            return t;
        } //nadaje wartosci polom
        public static void Wyswietlanie(Towar t)
        {
            Console.WriteLine("Produkt: {0}, producent: {1}, cena: {2}", t.nazwa, t.producent, t.cena);
        } //wyswietlam dany towar
        public static Towar[] Wyszukaj(string nazwa, Towar[] towary)
        {
            int licznik = 0;
            for (int i = 0; i < towary.Length; i++)
            {
                if (towary[i].nazwa == nazwa)
                    licznik++;
            } //wyszukuje towar, którego nazwa zgadza sie z tym, ktory podalam w mainie
            //teraz chce zwrocic tablice, zeby nie wyswietlala sie tylko nazwa ale wszystkie inf o tym produkcie
            Towar[] wyszukane = new Towar[licznik];
            int j = 0;
            for (int i = 0; i < towary.Length; i++)
                if (towary[i].nazwa == nazwa)
                    wyszukane[j] = towary[i];
            return wyszukane; //zwraca teraz wszystkie inf o tym produkcie
            //teraz chce to zapisac w pliku
        }
        public static void Zapisz(string plik, Towar[] towary)
        {
            if (File.Exists(plik))
                File.Delete(plik); //jesli juz taki plik istnieje to program go usuwa
            for (int i = 0; i < towary.Length; i++)
            {
                string towar = towary[i].nazwa + ", " + towary[i].producent + ", " +
                    towary[i].cena;
                File.AppendAllText(plik, towar + "\r\n");
            }
        }
        public static Towar[] Wczytaj(string plik)
        {
            string[] Tekst = File.ReadAllLines(plik);
            Towar[] towary = new Towar[Tekst.Length];
            for (int i = 0; i < Tekst.Length; i++)
            {
                string[] dane = Tekst[i].Split(',');
                towary[i] = Dane(dane[0], dane[1], Convert.ToInt32(dane[2]));
            }
            return towary;
        }
        class Program
        {
            static void Main(string[] args)
            { /* Zdefiniuj klasę Towar, która będzie zawierać następujące pola: nazwa,
             producent, cena.. Napisz metody statyczne klasy Towar do nadawania
             wartości polom i do wyświetlania.. Utwórz tablicę towarów i dodaj metody do
             wyszukiwania towarów na tablicy np. po nazwie, cenie itp. Dodaj w klasie
             Towar metody statyczne do zapisywania tablicy towarów w pliku (opracuj
             format zapisu) i odczytywania tablicy towarów z pliku.  */

                Towar a = Towar.Dane("Perlage", "Cisowanka", 5);
                Towar.Wyswietlanie(a);
                Towar b = Towar.Dane("Baton", "Kinder", 7);
                Towar.Wyswietlanie(b);
                Towar[] towar1 = { a, b, Towar.Dane("serek z krówką", "Rolmlecz", 6)};

                Console.WriteLine();
                Towar[] towary = Towar.Wyszukaj("Baton", towar1);
                for (int i = 0; i < towary.Length; i++)
                    Towar.Wyswietlanie(towary[i]);
                Console.WriteLine();

                Towar.Zapisz("towar.txt", towar1);

                Towar[] odczytane = Towar.Wczytaj("towar.txt");
                for (int i = 0; i < odczytane.Length; i++)
                    Towar.Wyswietlanie(odczytane[i]);

                Console.ReadKey();
            }
        }
    }
}