Pomoc przy C# - dokończenie programu

0

Witam wszystkich. Pierwszy post i już potrzebuję pomocy przy dokończeniu programu na zaliczenie na uczelni.

Otóż, sam niewiele wiem o programowaniu a robię to bo muszę - w każdym razie jestem kiepski w te klocki. Potrzebuję kawałka kodu źródłowego - funkcję main:

user image

Przesyłam też wspomnianą w obrazku/załączniku klasę Lista.cs :

 public class Lista
    {
        private List<Pracownik> lista;// = new List();

        public Lista()
        {
            lista = new List<Pracownik>();
        }

        public void Dodaj(Pracownik pracownk)
        {
            lista.Add(new Pracownik(pracownk));
        }

        public void WstawWPolozenie(int indeks, Pracownik pracownik)
        {
            lista.Insert(indeks, pracownik);
        }
        public int Usun(string nazwisko)
        {
            Pracownik pracownik = this.Szukaj(nazwisko);
            if (pracownik == null) return -1;
            int index = lista.IndexOf(pracownik);
            lista.Remove(pracownik);
            return index;

        }
        public void Usun(int indeks)
        {
            lista.RemoveAt(indeks);
        }
        public Pracownik Szukaj(string nazwisko)
        {
            foreach (Pracownik p in lista)
            {
                if (p.Nazwisko.Equals(nazwisko))
                {
                    return p;
                }
            }
            return null;
        }
        public void Sortuj(IComparer<Pracownik> ic)
        {
            lista.Sort(ic);
        }
        public void ZapisConsole()
        {
            foreach (Pracownik pracownik in lista)
            {
                Console.WriteLine(pracownik);
            }
        }
        public void OdczytConsole()
        {
            Pracownik p = new Pracownik();
            p.OdczytConsole();
            lista.Add(p);
            p.OdczytConsole();
            lista.Add(p);
        }
        public void Wyczysc()
        {
            Console.Clear();
        }
        public Pracownik this[int i]
         {
             get { return lista[i]; }
             set { lista[i] = value; }
         }
 
       
         public int Rozmiar
         {
             get{return lista.Count;}
         }

Z góry wielkie dzięki za pomoc, będę zobowiązany!

0

I sądzisz, że ktoś ci to dokończy ot tak, tak? A zobowiązany to chyba do zapłaty :|

1
Regulamin korzystania z Serwisu napisał(a)

§4. Forum dyskusyjne
7. Zabronione jest umieszczanie w postach prośby o rozwiązanie zadań domowych, zadań zaliczeniowych. Lenistwo nie jest tolerowane. Można poprosić o rozwiązanie konkretnego problemu, a nie całego zadania, paru zadań.

Przykro mi...

1

Otóż, sam niewiele wiem o programowaniu a robię to bo muszę

A ja oddycham bo muszę. Każdy ma jakiś problem.

0
Regulamin korzystania z Serwisu napisał(a)

§4. Forum dyskusyjne
7. Zabronione jest umieszczanie w postach prośby o rozwiązanie zadań domowych, zadań zaliczeniowych. Lenistwo nie jest tolerowane. Można poprosić o rozwiązanie konkretnego problemu, a nie całego zadania, paru zadań.

Cóż, wrzuciłem tylko kawałek programu - jak to w regulaminie pisze konkretny problem - a jednak nadal jestem upominany regulaminem. Gdybym chciał programować poszedłbym na Informatykę, niestety - nie jestem na niej. Zagieliście mnie argumentami - temat do zamknięcia.

0
ostry_7 napisał(a):

Cóż, wrzuciłem tylko kawałek programu - jak to w regulaminie pisze konkretny problem - a jednak nadal jestem upominany regulaminem.

Nie przejmuj się, upominanie regulaminem przez zwykłych użytkowników nie ma mocy prawnej. ;)

Wrzuciłeś kawałek programu - to już coś, ale nie zadałeś konkretnego pytania - czego nie rozumiesz, czego nie umiesz zrobić, co nie działa. Napisałeś, że potrzebujesz pomocy, ale nie napisałeś przy czym dokładnie.

Gdybym chciał programować poszedłbym na Informatykę, niestety - nie jestem na niej.

Rozumiem Twój ból, bo na studiach informatycznych też jest masa nieinformatycznych przedmiotów do zaliczenia.

0

Ok, let's try. Wyrzuca mi takie błędy:

1# 'InterfejsGraficzny1.Program.Main(string[])' must declare a body because it is not marked abstract, extern, or partial
2# } expected - że niby po linijce static void Main(string[] args) - zastanawiające, bo jak dam na końcu to też błąd.

Jakieś pomysły?

namespace InterfejsGraficzny1
{
    public class Program
    {
        static void Main(string[] args)
        {
            public string sciezka = @"C:\Document and Settings\Ostry\Pulpit";
            public StreamReader odczyt;
            public StreamWriter zapis;
            public ArrayList lista;
    
        public void Wczytaj()
        {
            Pracownik x = new Pracownik() ;
            Console.WriteLine("Podaj typ pracownika");
            Console.WriteLine("i - informatyk");
            Console.WriteLine("l - lekarz");
            Console.WriteLine("n - nauczyciel");
            char typ = char.Parse(Console.ReadLine());
            switch(typ)
            {
                case 'i':
                {
                    x = new Informatyk();
                    x.OdczytConsole();
                    break;
                }
                
                case 'l':
                {
                    x = new Lekarz();
                    x.OdczytConsole();
                    break;
                }
                
                case 'n':
                {
                    x = new Nauczyciel();
                    x.OdczytConsole();
                    break;
                }
                
                default:
                {
                    Console.WriteLine("Błędny typ");
                    break;
                }

            }
            lista.Add(x);
        }

        public void ZapiszStream() // ZAPIS DO PLIKU
        {
            try
            {
                zapis = new StreamWriter(sciezka);
                Pracownik x;
                for (int a = 0; a < lista.Count; a++)
                {
                    x = (Pracownik)lista[a];
                    zapis.WriteLine(x.ToStringPlik());
                }
                
            }
            catch (IOException e)
            {
                Console.WriteLine(e);
            }
            finally 
            {
               
            }

        }

        public ArrayList OdczytajStream()
        {
            lista = new ArrayList();
            Pracownik p = new Pracownik();
            odczyt = new StreamReader(sciezka);
            string tekst = odczyt.ReadLine();
            string[] skladniki;
            while (tekst != null)
            {
                skladniki = tekst.Split('|');
                switch (skladniki[0])
                {
                    case "Informatyk":
                        {
                            p = new Informatyk();
                            break;
                        }

                    case "Lekarz":
                        {
                            p = new Lekarz();
                            break;
                        }

                    case "Nauczyciel":
                        {
                            p = new Nauczyciel();
                            break;
                        }
                }

                try
                {
                    p.OdczytajDane(skladniki);
                }
                catch (Exception e)
                {
                   Console.WriteLine(e.Message);
                }
                lista.Add(p);
                tekst = odczyt.ReadLine();
            }
            return lista;
        }
    }
}
2

Nie można definiować metod w metodach. Wynieś je po za Main. Albo stwórz własną klasę albo zrób je statycznymi w obecnej klasie.

W zasadzie widzę, że ten Main to tak losowo wstawiłeś, bo zaraz masz w niej deklarację pól klasy.

ps. nie korzystaj z ArrayList tylko z List<T>.

1 użytkowników online, w tym zalogowanych: 0, gości: 1