• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyciąganie wartości z listy przy podanym warunku

Aruba Cloud - Virtual Private Server VPS
0 głosów
130 wizyt
pytanie zadane 21 kwietnia 2018 w C# przez jking Początkujący (350 p.)

Witam serdecznie, próbuję i próbuję ale odpowiedzi nigdzie znaleźć nie mogę.

Mam stworzoną listę, do której dodaję studentów.

Prezentuje się to następująco:

    class Student
    {
        private int _nrIndeksu;
        private string _imie;
        private string _nazwisko;
        private int _rokSt;
        private int _ocena1, _ocena2, _ocena3;

        // Gettery i Settery
        public int Indeks
        {
            get
            { return _nrIndeksu; }
            set
            {
                if (value > 0)
                    _nrIndeksu = value;
                else
                    Console.WriteLine("Numer indeksu nie może być mniejszy bądź równy zero!");
            }
        }

        public string Imie
        {
            get
            { return _imie; }
            set
            {
                if (value != "")
                    _imie = value;
                else
                    Console.WriteLine("Musisz podać imię!");
            }
        }

        public string Nazwisko
        {
            get
            { return _nazwisko; }
            set
            {
                if (value != "")
                    _nazwisko = value;
                else
                    Console.WriteLine("Musisz podać nazwisko!");

            }
        }

        public int RokStudiow
        {
            get
            { return _rokSt; }
            set
            {
                if (value > 0)
                    _rokSt = value;
                else
                    Console.WriteLine("Numer roku nie może być mniejszy bądź równy zero!");
            }
        }

        public int Ocena1
        {
            get { return _ocena1; }
            set
            {
                if ((value > 0) && (value <= 4))
                    _ocena1 = value;
                else
                    Console.WriteLine("Podaj prawidłową ocene!");
            }
        }

        public int Ocena2
        {
            get
            { return _ocena2; }
            set
            {
                if ((value > 0) && (value <= 4))
                    _ocena2 = value;
                else
                    Console.WriteLine("Podaj prawidłową ocene!");
            }
        }

        public int Ocena3
        {
            get
            { return _ocena3; }
            set
            {
                if ((value > 0) && (value <= 4))
                    _ocena3 = value;
                else
                    Console.WriteLine("Podaj prawidłową ocene!");
            }
        }
        // Koniec Getterów i Setterów

        // Konstruktor 
        public Student(int nrIndeksu, string imie, string nazwisko, int rokSt, int ocena1, int ocena2, int ocena3)
        {
            Indeks     = nrIndeksu;
            Imie       = imie;
            Nazwisko   = nazwisko;
            RokStudiow = rokSt;
            Ocena1     = ocena1;
            Ocena2     = ocena2;
            Ocena3     = ocena3;
        }
        // Koniec konstruktora

        // Wyświetlanie studenta
        public void ShowStudent()
        {
            Console.WriteLine("Imie: ", _imie, "Nazwisko: ", _nazwisko, "Numer indeksu: ", _nrIndeksu, "Rok studiów: ", _rokSt);
        }
        // Koniec wyświetlania studenta
    }

 

    public class Uni
    {
        static List<Student> listaStudentow = new List<Student>();
        static List<DopuszczalneOceny> listaDopuszczalnychOcen = new List<DopuszczalneOceny>();

        // Dodawanie studena
        public void DodajStudenta()
        {
            listaDopuszczalnychOcen.Add(new DopuszczalneOceny(2, 3, 4));
            

            int nrIndeksu;
            string imie;
            string nazwisko;
            int rokSt;
            int ocena1, ocena2, ocena3;
            Console.WriteLine("DODAWANIE NOWEGO STUDENTA\n");

            Console.Write("Podaj imie: ");
            imie = Console.ReadLine();

            Console.Write("Podaj nazwisko: ");
            nazwisko = Console.ReadLine();

            Console.Write("Podaj numer indeksu: ");
            nrIndeksu = Convert.ToInt32(Console.ReadLine());

            Console.Write("Podaj rok studiów: ");
            rokSt = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Podaj oceny: ");
            Console.Write("Ocena pierwsza: ");
            ocena1 = Convert.ToInt32(Console.ReadLine());

            Console.Write("Ocena druga: ");
            ocena2 = Convert.ToInt32(Console.ReadLine());

            Console.Write("Ocena trzecia: ");
            ocena3 = Convert.ToInt32(Console.ReadLine());

            listaStudentow.Add(new Student(nrIndeksu, imie, nazwisko, rokSt, ocena1, ocena2, ocena3));
        }

Wszystko działa bez problemu, tylko teraz mam pewien problem. Potrzebuję wyciągnąć Ocena1, Ocena2, Ocena3 jako inty, z listy danego studenta, który jest wyszukiwany po numerze indeksu.

Wyciągnąć studenta po numerze indeksu potrafię, robię to następująco:

        // Liczenie średniej studenta
        public void ObliczSrednia(int indeks)
        {
            listaStudentow.Find(r => (r.Indeks == indeks));
        }

Tylko teraz za cholerę nie wiem jak mam wyciągnąć z listy 3 wartości, jeżeli mam już wyciągniętego studenta z listy po numerze indeksu.

Z góry uprzejmie dziękuję za pomoc.

1 odpowiedź

+1 głos
odpowiedź 21 kwietnia 2018 przez Qwerty96 Stary wyjadacz (13,580 p.)
wybrane 21 kwietnia 2018 przez jking
 
Najlepsza

Skoro umiesz wyciągnąć obiekt klasy Student, to co za problem uzyskać jakąś właściwość tego obiektu? Nie za bardzo rozumiem z czym masz problem.

Student stud = listaStudentow.Find(r => (r.Indeks == indeks));
Console.WriteLine(stud.Ocena1);
Console.WriteLine(stud.Ocena2);
Console.WriteLine(stud.Ocena3);
komentarz 21 kwietnia 2018 przez jking Początkujący (350 p.)
Ja pierdziele, a ja tutaj kombinowałem z jakimiś warunkami >.<

Nie pomyślałem o tym, żeby stworzyć obiekt z listy i po prostu dostać się do jego pól.

W każdym razie dzięki za odpowiedź, działa jak należy!

Podobne pytania

+1 głos
0 odpowiedzi 717 wizyt
0 głosów
1 odpowiedź 238 wizyt
pytanie zadane 8 marca 2020 w Python przez viGor Użytkownik (740 p.)
0 głosów
0 odpowiedzi 112 wizyt
pytanie zadane 2 listopada 2018 w SQL, bazy danych przez niezalogowany

93,335 zapytań

142,330 odpowiedzi

322,416 komentarzy

62,669 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...