Tworzenie tablic z numerem indeksu w tytule

0

Siemacie, mam kolejny drobny problem ze swoim jednym zadaniem :P

Otóż mam napisać program w stylu "lista studentów" no i ma on zawierać takie opcje jak sortowanie, wpisywanie ocen itp. no i mój problem polega na tym, ponieważ nie bardzo wiem jak zaprogramować te liche wpisywanie ocen.... Wpadłem na pomysł, żeby wg numeru indeksu utworzyć dla każdego oddzielną tablicę i zatytuować tą tablicę właśnie numerem indeksu. Chciałbym, żeby to działało mniej więcej tak: wpisuję imię i nazwisko i program wyszukuje, czy dana osoba istnieje (to akurat już zrobiłem) i jeżeli tą osobę znajdzie, przykładowo Roman Kowalski w indeksie nr 2 to żeby można było takiemu wpisać oceny i żeby te oceny wpisywał do oddzielnej tablicy i żeby ten plik (jak i tablica jednocześnie) się nazywał: 2.txt . Próbowałem coś kombinować wstawiając "i" do różnych nawiasów, znaków przystankowych itp. ale niestety nic mi nie zadziałało.... Jakieś pomysły?? Jeżeli potrzeba to mogę wkleić cały bądź kawałek (to bardziej preferuję, bo program jest ogromny :P ) kodu i wtedy zobaczycie co doradzić. Z góry wielkie dzięki za pomoc!!

A właśnie, zapomniałem jeszcze dodać, że programuję w języku C#

0
MaarioS napisał(a)

Próbowałem coś kombinować wstawiając "i" do różnych nawiasów, znaków przystankowych itp. ale niestety nic mi nie zadziałało.... Jakieś pomysły?? Jeżeli potrzeba to mogę wkleić cały bądź kawałek (to bardziej preferuję, bo program jest ogromny :P ) kodu i wtedy zobaczycie co doradzić.

Nie no, jasne, możemy pomóc znaleźć Ci błąd w Twoim kodzie na odległość. Jest w 17 linii.

A tak w ogóle, to co Ty kombinujesz? Nie prościej, żeby obiekt klasy Student miał po prostu List<int> oceny, a całość była serializowana do pliku XML?

0

Heheheh, taki miałem pomysł, jeżeli sądzisz, że jest do kitu/bez sensu to zarzuć jakiś swój :P . Oto początek i koniec mojego kodu:

 char c;
        char d;
        string s;
        string t;
        string plik1 = "Listanaz.txt";
        string plik2 = "Listaim.txt";
        string[] lista = null;//tablica studentów
        string[] lista2 = null;//tablica studentów
        int n = 0; // rozmiar tablicy, ilość studentów
        int o = 0; // rozmiar tablicy, ilość studentów

        if (File.Exists(plik1))
        {
            lista = File.ReadAllLines(plik1);
            n = lista.Length;
        }
        if (File.Exists(plik2))
        {
            lista2 = File.ReadAllLines(plik2);
            o = lista2.Length;
        }

        Console.WriteLine("Witamy w programie Lista studentów");

        do
        {
            Console.WriteLine("\nAby wypisać listę studentów wciśnij A\nAby wpisać osobę do listy wciśnij B\nAby wyszukać osobę z listy wciśnij C\nAby wyczyścić listę wciśnij D\nAby wpisać oceny studenta wciśnij E\nAby zakończyć i zapisać zmiany wciśnij K\n");
            c = Console.ReadKey(true).KeyChar;
            switch (c)
            {



                case 'e':
                case 'E':
                    Console.WriteLine("Wpisz nazwisko");
                    s = Console.ReadLine();
                    Console.WriteLine("Wpisz imię");
                    t = Console.ReadLine();
                    bool q = true;
                        if (lista != null || lista2!=null)
                        {
                            for (int i = 0; i < n && i < o; i++)
                            {
                                int z = i + 1;
                                if (s == lista[i] && t == lista2[i])
                                {
                                    Console.WriteLine("Wpisz oceny studenta " + lista[i] + " " + lista2[i] + " z pozycji " + z);
                                    int j = Convert.ToInt32(i);
                                    
                                    q = false;
                                }
                            }
                            if (q) Console.WriteLine("Nie znaleziono");
                        }
                        else Console.WriteLine("Nie znaleziono, lista jest pusta\n");
                        break;
                    break;
0

Dlaczego nie stworzysz klasy Student i nie zapiszesz listy tych obiektów do pliku XML?

0

....że co?? Napisz dokładniej o co chodzi bo jedyne co zrozumiałem to "czarne cztery litery". Jeżeli chodzi o to co jest na samej górze programu to mam using System, using System.IO i class Projekt.

0

Ale czego dokładnie nie rozumiesz? Nie wiesz, co to jest klasa i obiekt, czy co to jest plik XML? Jeśli to pierwsze, to poczytaj jakiś kurs lub najlepiej książkę. Jeśli drugie, to może na Wikipedii coś o tym będzie.

0

Chodzi oto, że tak się nie pisze takich rzeczy. Masz tyle tego w C# do dyspozycji i się pierdzielisz z takim czymś. Zrób klasę Student, który posiada listę ocen List<int> lista i porób metody, dodaj, usuń, wypisz itd. Wypisywanie z listy dzieje się w ten np. sposób:

// metoda w klasie student oczywiście
void Wypisz()
{
    for (int i = 0; i < lista.Length; i++)
    {
        Console.Write(lista[i] + ", ");
    }
}

W głównym członie programu (Main.cs) deklarujesz listę tak samo, tyle, że już studentów List<Student> lista.

0

Wypisywanie to akurat nie jest mi potrzebne, takie coś już od dawna mam zrobione :P . Głównie chodzi mi o te wpisywanie ocen i nie mam pojęcia jak to zrobić.

Co do rzeczy, których nie rozumiem to w skrócie powiem, że nie rozumiem wszystkiego po kolei. Tutoriale nie wiem czy coś dadzą, bo już czytałem niektóre po X razy i mogę powiedzieć, że w praktyce g*wno z nich i tak rozumiem....

0

To zacznij od podstaw C#, jak uczysz się robić naleśniki, to nie uczysz się smażenia tylko najpierw wymieszania składników. Przepraszam, źle przeczytałem, myślałem, że chodzi o w-y-pisywanie. Wpisywanie to będzie tak, że w klasie Student robisz metodę po prostu np. void Wpisz(int ocena), która dodaje do listy ocenę. Tylko, musisz jeszcze zrobić albo pole publiczne (lepiej nie), właściwość albo metodę zwracającą nazwę i id studenta, żeby móc określić czy użytkownik dobrze wpisał parametry wyszukiwania.

Ta klasa to na prawdę nic do zrobienia. Podał bym ci kod, ale wiem, że bym zgrzeszył.. Zapoznaj się się z klasami w C#, listą i na prawdę znajdź jakiś kurs od podstaw.

0

W sensie że.... te klasy miałbym wpisać jakoś na początku programu?? Nie wiem jaka byłaby w tym logika skoro już na starcie programu piszę, że żeby wpisać oceny, muszę wcisnąć E i potem wpisać jakieś polecenie do wpisywania... a jak wiadomo, to jest środek kodu.

Jeżeli podanie kodu byłoby grzechem to przynajmniej mógłbyś dać jakiś odpowiedni poradnik albo tutorial, który jasno to opisuje, bo tak jak już mówiłem, bardzo dużo mi da poradnik, w którym jest napisane, że plik XML jest uniwersalnym językiem formalnym przeznaczonym do reprezentowania różnych danych w strukturalizowany sposób. Na razie wiem jedynie tylko to, że klasy przechowują różne dane.

0

Wpisz w Google: class in csharp. Tam wszystko jest ładnie wytłumaczone. A ja powiedziałem co można zrobić, ew. jak czujesz się na siłach i ci się chce - czyli to nie duży problem wpisz w G: xml in csharp.

0
MaarioS napisał(a)

W sensie że.... te klasy miałbym wpisać jakoś na początku programu??

W sensie, że w swoim programie miałbyś zdefiniować swoje klasy. Swoje, czyli przechowujące takie dane i posiadające takie metody, których Ty potrzebujesz.
Np. klasa Student powinna mieć np. takie właściwości: NrIndeksu, Imie, Nazwisko, Oceny oraz metodę DodajOcene().
Mając taką klasę, możesz utworzyć kolekcję obiektów typu Student, w której przechowasz dane o wielu studentach. Będzie to lepsze niż wiele oddzielnych tablic, które próbujesz zastosować.

Nie wiem jaka byłaby w tym logika skoro już na starcie programu piszę, że żeby wpisać oceny, muszę wcisnąć E i potem wpisać jakieś polecenie do wpisywania... a jak wiadomo, to jest środek kodu.

Program to dużo więcej niż jedna metoda Main, w której chcesz zmieścić cały kod. ;]

Jeżeli podanie kodu byłoby grzechem to przynajmniej mógłbyś dać jakiś odpowiedni poradnik albo tutorial, który jasno to opisuje

http://www.centrumxp.pl/dotNET/20,1,kategoria,Kurs_C.aspx

0

Hmmm, i tak mało coś z tego czaję ale jednak coś mniej więcej zaczynam rozumieć. Moje pytanie nadal brzmi.... o co w tym dokładnie chodzi i jaki to ma dokładny cel :P . Potrzebuję, żeby każdy student miał oceny, średnią ocen, ilość obecności i nieobecności no i jeszcze numer indeksu, który to raczej nie będzie aż tak potrzebny ale skoro jest opcja to czemu nie. Na razie wpisałem coś takiego na początku ale na pewno jest źle i bez sensu. Poniżej daję cały program, żeby się nie chrzanić:

using System;
using System.IO;
class Student
{
    static void Wpisz()
    {
        int nrindex;
        int oceny;
        int obecn;
        int nieobecn;
        int sredn;
    }
}

class Projekt
{
    public static void Main()
    {
        char c;
        char d;
        string s;
        string t;
        string plik1 = "Listanaz.txt";
        string plik2 = "Listaim.txt";
        string[] lista = null;//tablica studentów
        string[] lista2 = null;//tablica studentów
        int n = 0; // rozmiar tablicy, ilość studentów
        int o = 0; // rozmiar tablicy, ilość studentów

        if (File.Exists(plik1))
        {
            lista = File.ReadAllLines(plik1);
            n = lista.Length;
        }
        if (File.Exists(plik2))
        {
            lista2 = File.ReadAllLines(plik2);
            o = lista2.Length;
        }

        Console.WriteLine("Witamy w programie Lista studentów");

        do
        {
            Console.WriteLine("\nAby wypisać listę studentów wciśnij A\nAby wpisać osobę do listy wciśnij B\nAby wyszukać osobę z listy wciśnij C\nAby wyczyścić listę wciśnij D\nAby wpisać oceny studenta wciśnij E\nAby zakończyć i zapisać zmiany wciśnij K\n");
            c = Console.ReadKey(true).KeyChar;
            switch (c)
            {
                case 'a':
                case 'A':
                    if (lista != null || lista2 != null)
                        for (int i = 0; i < n; i++)
                            Console.WriteLine(lista[i] + " " + lista2[i]);
                    else Console.WriteLine("Lista jest pusta\n");
                    break;
                case 'b':
                case 'B':
                    Console.WriteLine("Podaj nazwisko");
                    s = Console.ReadLine();
                    if (n == 0)
                    {
                        lista = new string[1];
                    }
                    else
                    {
                        string[] tmp = new string[n + 1];
                        for (int i = 0; i < n; i++)
                            tmp[i] = lista[i];
                        lista = tmp;
                    }
                    Console.WriteLine("Podaj imię");
                    t = Console.ReadLine();
                    if (o == 0)
                    {
                        lista2 = new string[1];
                    }
                    else
                    {
                        string[] tmp2 = new string[o + 1];
                        for (int i = 0; i < o; i++)
                            tmp2[i] = lista2[i];
                        lista2 = tmp2;
                    }
                    lista[n] = s;
                    lista2[o] = t;
                    o = o + 1;
                    n = n + 1;
                    Console.WriteLine("Wpisano studenta");
                    break;
                case 'c':
                case 'C':
                    Console.WriteLine("Jeżeli chcesz wyszukać po nazwisku, wciśnij N, jeżeli po imieniu to wciśnij I");
                    d = Console.ReadKey(true).KeyChar;
                    if (d == 'n' || d == 'N')
                    {
                        Console.WriteLine("Podaj nazwisko do wyszukania");
                        s = Console.ReadLine();
                        bool b = true;
                        if (lista != null)
                        {
                            for (int i = 0; i < n; i++)
                            {
                                int z = i + 1;
                                if (s == lista[i])
                                {
                                    Console.WriteLine("Znaleziono na pozycji " + z + " - " + lista[i] + " " + lista2[i]);
                                    b = false;
                                }
                            }
                            if (b) Console.WriteLine("Nie znaleziono");
                        }
                        else Console.WriteLine("Nie znaleziono, lista jest pusta\n");
                        break;
                    }
                    if (d == 'i' || d == 'I')
                    {
                        Console.WriteLine("Podaj imię do wyszukania");
                        t = Console.ReadLine();
                        bool v = true;
                        if (lista2 != null)
                        {
                            for (int i = 0; i < o; i++)
                            {
                                int z = i + 1;
                                if (t == lista2[i])
                                {
                                    Console.WriteLine("Znaleziono na pozycji " + z + " - " + lista2[i] + " " + lista[i]);
                                    v = false;
                                }
                            }
                            if (v) Console.WriteLine("Nie znaleziono");
                        }
                        else Console.WriteLine("Nie znaleziono, lista jest pusta\n");
                        break;
                    }
                    {
                        break;
                    }
                case 'd':
                case 'D':
                    lista = null;
                    lista2 = null;
                    n = 0;
                    o = 0;
                    Console.WriteLine("Wyczyszczono listę\n");
                    break;
                case 'e':
                case 'E':
                    Console.WriteLine("Wpisz nazwisko");
                    s = Console.ReadLine();
                    Console.WriteLine("Wpisz imię");
                    t = Console.ReadLine();
                    bool q = true;
                        if (lista != null || lista2!=null)
                        {
                            for (int i = 0; i < n && i < o; i++)
                            {
                                int z = i + 1;
                                if (s == lista[i] && t == lista2[i])
                                {
                                    Console.WriteLine("Wpisz oceny studenta " + lista[i] + " " + lista2[i] + " z pozycji " + z);
                                    int j = Convert.ToInt32(i);
                                    
                                    q = false;
                                }
                            }
                            if (q) Console.WriteLine("Nie znaleziono");
                        }
                        else Console.WriteLine("Nie znaleziono, lista jest pusta\n");
                        break;
                    
            }
        }
        while (!(c == 'k' || c == 'K'));
        File.WriteAllLines(plik1, lista);
        File.WriteAllLines(plik2, lista2);
    }
}
0

Chłopie źle to robisz i masz złe rozumowanie. Mówiliśmy "won do kursu!!".. Jak nie wiesz co to klasa i jak się z nią obchodzić to jak sobie wyobrażasz napisanie tego w klasach? TO co masz teraz w Main, powinno być w klasie Student ładnie opakowane. Podam ci kawałek kodu do reszty dojdź sam:

    class Student
    {
        // zmienne deklarujemy w tym miejscu, a nie w metodzie..
        List<int> oceny;
        int index;
        int obecnosci = 0;
        int nieobecnosci = 0;

        // mozna zrobic jeszcze wlasciwosci do indexu itd. by zapobiec dodaniu tego samego o tym samym indexie

        public Student(int index) // konstruktor.. wiesz w ogole co to??
        {
            // index przypisujemy w konstruktorze, by potem nie mozna bylo go zmienic
            // ofc mozna zmienic, ale nie bedziemy tworzyc metody, bo index jest 'staly'
            oceny = new List<int>(); // utworzenie nowej listy
            this.index = index;
        }

        void Wpisz() // metoda nie moze byc statyczna w tym przypadku, bo wpisuje dane do istniejacego obiektu
        {
            // tresc metody ktora wpisuje dane do obiektu, moze byc calosc, moze byc tylko wpisywanie, a przekazywanie wartosci przez argumenty
            // this.oceny.Add(ocena); // dodanie oceny, gdzie ocena moze byc wczytana przez konsole lub przekazna przez parametr
        }

        void Wypisz()
        {
            // tresc metody wypisujacej
        }

        // inne metody..
    }

    class Program
    {
        static void Main(string[] args)
        {
            List<Student> lista = new List<Student>();
            lista.Add(new Student(1234)); // dodanie nowego elementu
            lista.Add(new Student(1235));
            lista[0].Wypisz();
            lista.RemoveAt(lista.Count - 1); // usuniecie ostatniego studenta
            // itd.
        }
    }

O to mi mniej więcej chodzi.

BTW Wstawiaj kod w znaczniki kodu źródłowego, nie cytatu!

0

Obawiam się, że aby uczyć się poprzez czytanie kodu trzeba znać podstawy składni, ale niech będzie:

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml.Serialization;

namespace TurboStudentManager
{
    // nasza klasa definiująca studenta
    public class Student
    {
        // to są właściwości właściwości
        public int NrIndeksu { get; set; }
        public string Imie { get; set; }
        public string Nazwisko { get; set; }
        public List<int> oceny { get; set; }

        // konstruktor bezparametrowy, potrzebny do serializacji
        public Student()
        {
            this.oceny = new List<int>();
        }

        // tego konstruktora będziemy używać podczas tworzenia obiektów, moglibyśmy tamtego, ale ten jest fajniejszy
        public Student(int nrIndeksu, string imie, string nazwisko)
        {
            this.NrIndeksu = nrIndeksu;
            this.Imie = imie;
            this.Nazwisko = nazwisko;
            this.oceny = new List<int>();
        }

        // studentowi można dodać ocenę, będzie robiła to ta funkcja
        public void DodajOcene(int ocena)
        {
            this.oceny.Add(ocena);
        }

        // przeciążamy metodę ToString, więc będzie nam łatwo wyświetlać dane studenta
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder(); // to taka śmieszna klasa do wydajnego budowania napisów
            sb.AppendFormat("Student: {0} {1}, nr indeksu: {2}\n", this.Imie, this.Nazwisko, this.NrIndeksu);
            sb.Append("Oceny:");
            foreach (int o in this.oceny)
            {
                sb.AppendFormat(" {0}", o);
            }
            return sb.ToString();
        }
    }

    // główna klasa programu
    class Program
    {
        // lista studentów, na której będziemy pracować w aplikacji
        private static List<Student> studenci = new List<Student>();

        // główna funkcja aplikacji
        static void Main(string[] args)
        {
            bool koniec = false;
            do      // dzięki tej wspaniałej pętli będziemy mieli menu w aplikacji
            {
                Console.WriteLine("\nWybierz opcję:\n1 - Dodaj studenta\n2 - Wyświetl listę studentów \n3 - Dodaj ocene\n4 - Zapisz do pliku\n5 - Wyjście");
                int option = -1;
                while (!int.TryParse(Console.ReadLine(), out option))   // sprawdzamy, czy użytkownik wpisał liczbę
                {
                    Console.WriteLine("Wybierz poprawną opcję menu");
                }

                // w zależności od wyboru użytkownika uruchamiamy odpowiednią funkcję, a nie wsadzamy cały kod do jednej
                switch (option)
                {
                    case 1:
                        DodajStudenta();
                        break;
                    case 2:
                        WyswietlListe();
                        break;
                    case 3:
                        DodajOcene();
                        break;
                    case 4:
                        ZapiszDoPliku();
                        break;
                    case 5:
                        koniec = true;
                        break;
                    default:
                        Console.WriteLine("Nieznana opcja menu");
                        break;
                }
            } while (!koniec);

            Console.WriteLine("KONIEC!");
        }


        private static void DodajStudenta()
        {
            Console.Write("Podaj nazwisko: ");
            string nazwisko = Console.ReadLine();
            Console.Write("Podaj imię: ");
            string imie = Console.ReadLine();
            Console.Write("Podaj nr indeksu: ");
            int nrIndeksu = int.Parse(Console.ReadLine());

            Student nowy = new Student(nrIndeksu, imie, nazwisko);
            studenci.Add(nowy);
        }

        private static void WyswietlListe()
        {
            Console.WriteLine("------------------STUDENCI---------------------");
            foreach (var s in studenci)
            {
                Console.WriteLine(s);
                Console.WriteLine();
            }
            Console.WriteLine("-----------------------------------------------");
        }

        private static void DodajOcene()
        {
            Console.Write("Podaj nr indeksu studenta: ");
            int nrIndeksu = int.Parse(Console.ReadLine());

            Student s = ZnajdzStudenta(nrIndeksu);
            if (s == null)
            {
                Console.WriteLine("Nie ma takiego studenta!");
            }
            else
            {
                Console.Write("Podaj ocenę: ");
                int ocena = int.Parse(Console.ReadLine());
                s.DodajOcene(ocena);
            }
        }

        private static Student ZnajdzStudenta(int nrIndeksu)
        {
            foreach (var s in studenci)
            {
                if (s.NrIndeksu == nrIndeksu)
                {
                    return s;
                }
            }
            return null;
        }

        private static void ZapiszDoPliku()
        {
            // serializacja to najprostszy sposób zapisu struktur danych do pliku, ale można oczywiście zrobić to po swojemu
            using (FileStream fs = new FileStream(@"D:\Temp\studenci.txt", FileMode.OpenOrCreate))
            {
                new XmlSerializer(typeof(List<Student>)).Serialize(fs, studenci);
            }
        }
    }
}
 
0

Hmmm, wiecie co, mówiąc szczerze to absolutnie nic z tego nie rozumiem i zabiorę się do tego zadania zupełnie inaczej. Podobno trzeba będzie zrobić do tego zadania tablice postrzępione, no i skoro tak to wolałbym zrobić to tak, jak profesorek sobie życzy :P . No to moje pierwszorzędne pytanie brzmi: wiecie jak taką tablicę zapisać do pliku i tym samym ją na początku wczytać do programu?? Szukałem informacji na ten temat ale niczego nie znalazłem....

0

A co ma niby być w tych tablicach?

0

Właśnie, oceny mają być. Na razie chcę chociaż to zrobić i jak mi się uda to pojadę ze wszystkim dalej.

0

Heh, jeżeli takie coś jest niemożliwe to już nie mam pojęcia jak miałbym to wszystko zrobić....

0

Pewno chodzi o coś takiego:

int[][] tablicaOcenWszystkichStudentów = new int[3][];

// oceny 1 studenta
tablicaOcenWszystkichStudentów[0] = new int[2];
tablicaOcenWszystkichStudentów[0][0] = 4;
tablicaOcenWszystkichStudentów[0][1] = 2;

// oceny 2 studenta
tablicaOcenWszystkichStudentów[1] = new int[4];
tablicaOcenWszystkichStudentów[1][0] = 3;
tablicaOcenWszystkichStudentów[1][1] = 2;
tablicaOcenWszystkichStudentów[1][2] = 4;
tablicaOcenWszystkichStudentów[1][3] = 3;
            
// oceny 3 studenta
tablicaOcenWszystkichStudentów[2] = new int[3];
tablicaOcenWszystkichStudentów[2][0] = 5;
tablicaOcenWszystkichStudentów[2][1] = 5;
tablicaOcenWszystkichStudentów[2][2] = 3;

Syf, kiła i mogiła.

0

Heh, mniej więcej coś takiego ale jednak dowiedziałem się, że można to zrobić jeszcze za pomocą struktury danych :P . Sam nie wiem czy to będzie lepiej bo nic zupełnie nie wiem o co w tym chodzi i najprawdopodobniej musiałbym cały program pisać absolutnie od nowa...

0
MaarioS napisał(a)

dowiedziałem się, że można to zrobić jeszcze za pomocą struktury danych :P

Czyli tak, jak przykładzie, który zamieściłem poprzednio.

0

No dobra, mniej więcej rozpatruję ten program i może coś z niego zaczynam łapać, tylko wiesz może, jak napisać polecenie, które wypisuje różne dane studenta (np. tylko nazwisko, tylko imię, tylko oceny albo wszystko wsio naraz) omijając tą dziwną metodę ToString??

0

A właśnie, tak przy okazji, to jak sortować te listy wg np. nazwiska, imienia albo numeru indeksu?? Też jakoś przez Array.Sort( , )??

0

Tak, poprzez Array.Sort ale musisz zaimplementować własny IComparer
http://codebetter.com/davidhayden/2005/03/06/implementing-icomparer-for-sorting-custom-objects/

1

Ewentualnie, o wiele prościej i krócej - poprzez delegat Comparsion, np. Array.Sort(tablica, (first, second) => first.Imie.CompareTo(second.Imie)).

0

Ja pier.... naprawdę tyle walenia się jest??? No to mogę jedynie powiedzieć, że profesorek zdecydowanie zbyt wysoko wystrzelił z wymaganiami jak na absolutnie pierwszy semestr....

Mimo wszystko, u mnie klasa Student ma takie dane:
imię
nazwisko
nr indexu
oceny
ilość obecności
ilość nieobecności
średnia z ocen

No to..... jak miałbym posortować ich wszystkich w liście i żeby te wszystkie przypisane do nich dane się nie pomieszały między sobą??

0

Tak jak napisał Rev. Nie pomieszają się ze sobą, o to się nie martw :P

0

Hmm, a wystarczy tylko 1 linijka kodu?? Hmm, powiecie mi co mniej więcej trzeba powstawiać i jak powpisywać rzeczy?? Przepisałem tą całą linijkę kodu tylko zamiast "tablica" wpisałem "studenci" (bo tak się u mnie nazywa ta lista ze studentami) i mi nie zadziałało, 3 błędy...

1

Wysil trochę swoją mózgownicę, skoro masz tam listę to klasa do obsługi tablic za bardzo się nadawać nie będzie. Użyj metody Sort bezpośrednio na twojej liście.

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