Олий таълим ўқув режаларидаги фанларга



Download 4,03 Mb.
bet63/102
Sana23.02.2022
Hajmi4,03 Mb.
#136190
1   ...   59   60   61   62   63   64   65   66   ...   102
Bog'liq
Dasturlash asoslari majmua

using System.IO;
namespace ConsoleApplication1
{
class Man { // 1
const int l_name = 30;
string name;
int birth_year;
double pay;
public Man() // конструктор
{
name = "Anonymous";
birth_year = 0;
pay = 0;
}
public Man(string s) // 2
{
name = s.Substring(0, l_name);
birth_year = Convert.ToInt32(s.Substring(l_name, 4));
pay = Convert.ToDouble(s.Substring(l_name + 4));
if (birth_year < 0) throw new FormatException();
if (pay < 0) throw new FormatException();
}
public override string ToString() // 3
{
return string.Format( "Name: {0,30} birth: {1} pay: {2:F2}",
name, birth_year, pay);
}
public int Compare(string name) // фамилияларни таққослаш
{
return (string.Compare(this.name, 0,
name + " ", 0, name.Length + 1,
StringComparison.OrdinalIgnoreCase));
}
// -------------------- класс ҳусусиятлари --------------------------
public string Name
{
get { return name; }
set { name = value; }
}
public int Birth_year
{
get { return birth_year; }
set { if (value > 0) birth_year = value;
else throw new FormatException(); }
}
public double Pay
{
get { return pay; }
set { if (value > 0) pay = value;
else throw new FormatException(); }
}
// ------------------ класс амаллари ------------------------------
public static double operator +(Man man1, double a)
{
man1.pay += a;
return man1.pay;
}
public static double operator +(double a, Man man1)
{
man1.pay += a;
return man1.pay;
}
public static double operator -(Man man1, double a)
{
man1.pay -= a;
if ( man1.pay < 0 ) throw new FormatException();
return man1.pay;
}
};


class Class1
{
static void Main()
{
Man[] dbase = new Man[100];
int n = 0;
try
{
StreamReader f = new StreamReader("dbase.txt"); // 4
string s;
int i = 0;
while ((s = f.ReadLine()) != null) // 5
{
dbase[i] = new Man(s);
Console.WriteLine(dbase[i]);
++i;
}
n = i - 1;
f.Close();
}
catch (FileNotFoundException e)
{
Console.WriteLine(e.Message);
Console.WriteLine("Файл номининг тўғрилигини текширинг!");
return;
}


catch (IndexOutOfRangeException)
{
Console.WriteLine("Файл жуда ҳам катта!");
return;
}
catch (FormatException)
{
Console.WriteLine("Туғилган сана ёки иш ҳақи нотўғри киритилди ");
return;
}


catch (Exception e)
{
Console.WriteLine("Ошибка: " + e.Message);
return;
}
int n_man = 0;
double mean_pay = 0;
Console.WriteLine("Ходим фамилиясини киритинг ");
string name;
while ((name = Console.ReadLine()) != "") // 6
{
bool not_found = true;
for ( int k = 0; k <= n; ++k )
{
Man man = dbase[k];
if (man.Compare(name) == 0)
{
Console.WriteLine(man);
++n_man; mean_pay += man.Pay;
not_found = false;
}
}
if (not_found) Console.WriteLine("бундай ходим йўқ");
Console.WriteLine(
" Ходим фамилиясини киритинг ёки тугатиш учун - Enter ");
}
if (n_man > 0)
Console.WriteLine("Ўртача иш ҳақи:{0:F2}", mean_pay / n_man);
}
}
}
19.3-листинг. Класс массивидан излаш

1-операторда битта ходим ҳақидаги маълумотларни сақлаш учун Man класси эълон қилинган. Маълумот майдонларидан ташқари, унда майдонларни тўлдириш учун конструктор ҳам аниқланган (2-оператор), сатрга алмаштириш методи қайта аниқланган (3-оператор 3) ва у объект экземплярини Console классининг WriteLine ёрдамида экранга чиқаришга имкон беради, шунингдек, хидим фамилиясини берилган фамилия билан таққослашга ёрдам берувчи Compare методи аниқланган. Таққослашда регистрлар эътиборга олинмайди.


Ҳусусият ва класс амаллари туғилган сана ва иш ҳақининг тўғри киритилганини назорат қилади.
Қирувчи файлни дастур ишга тушмасдан аввал ташкил қилинади. Уни тайёрлашда иҳтиёрий матн муҳарриридан фойдаланиш мумкин. Агар файл мавжуд бўлмаса бу ҳақда хабар берилади.
4-операторда белгили оқимнинг стандарт класси экземпляри тавсифланган. 5-цикл файлдан маълумотларни сатрма-сатр ўқийди ва Dbase массивини навбатдаги элементини тўлдиради. 6-операторда массви кўриб чиқилади.

  1. Download 4,03 Mb.

    Do'stlaringiz bilan baham:
1   ...   59   60   61   62   63   64   65   66   ...   102




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish