Witam , problem jest banalny lecz dlugo sie z tym mecze wiec postanowilem poprosic o pomoc.
Otóż w metodzie publicznej nazwie : **public int min() ** muszę wyswietlic minimalna zapłtę, czyli pobrac wartosc z pola zaplata. Wiem ze to jest banał ale jakos nie moglem uzyc tego pola wiec utowrzylem metode pomocnicza znajdujaca sie nad int min() .
Czyli program powinien mi wyswietlic 2280 , a caly czas wyswietla 0.
Gdzie mam błąd jezeli moglby ktos poprawic ten moj kodzik z gory bylbym szczerze bardzo wdzięczny.
Pozdrawiam.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
class Osoba
{
public int rok_urodzenia;
public Osoba(int r)
{
rok_urodzenia = r;
}
}
class Klient : Osoba
{
public int zaplata;
public Klient(int r, int z)
: base(r)
{
zaplata = z;
}
}
class Ewidencja
{
//na tablicach
public Osoba[] tab;
public int i;
public int[] zaplaty = new int[3];
public Ewidencja(int n) // konstruktor
{
// przekazanie wieklosci tablicy przez parametr
tab = new Osoba[n]; // tworzenie tablicy n elementowej
i = 0;
}
public void Insert(Osoba o) //
{
tab[i] = o; // w [] miejsce w tablicy
i++;
}
public void Wypisz()
{
int p;
for (p = 0; p < i; p++)
{
if (tab[p] is Klient) // spr czy w tablicy na miejscu p jest klient
{
Console.WriteLine("Klient " + tab[p].rok_urodzenia + " " + (tab[p] as Klient).zaplata); //obiekt na miejscu p jako klienta
}
else
{
Console.WriteLine("Osoba " + tab[p].rok_urodzenia + " ");
}
}
}
public int Ile(Klient k)
{
int ile = 0;
for (int t = 0; t < i; t++)
{
if (tab[t] is Klient && (tab[t] as Klient).zaplata > k.zaplata)
{
ile++;
}
}
return ile;
}
void pomocnicza(Klient k)
{
for (int t = 0; t < i; t++)
{
zaplaty[t] = (tab[t] as Klient).zaplata;
}
}
public int min()
{
int minimalna = zaplaty[0];
for (int t = 0; t < i; t++)
{
if (zaplaty[t] < minimalna)
{
minimalna = zaplaty[t];
}
}
return minimalna;
}
static void Main(string[] args)
{
Ewidencja obiekt = new Ewidencja(1000); //tworzymy nowy obiekt klasy ewidencja
obiekt.Insert(new Osoba(1992));
obiekt.Insert(new Klient(1953, 2280));
obiekt.Insert(new Klient(1980, 3020));
obiekt.Wypisz();
Console.WriteLine(obiekt.min());
Console.ReadLine();
}
}
}
}