“ Sayohat agentligi” faoliyatini baholash uchun dasturiy ilova yaratish mavzusida tayyorlagan

O’ZBEKISTON RESPUBLIKASI 
OLIY VA O‘RTA-MAXSUS TA’LIM VAZIRLIGI 
SHAROF RASHIDOV NOMIDAGI
 
“   Say ohat  agent ligi ”  faoliy at ini baholash uchun dast uriy  ilov a
y arat ish mav zusida t ay y orlagan
SAMARQAND   2022-2023
1KURS 
ISHI Kirish ……………………………………………………………………….…3
Asosiy qism……………………………………………………………..…….5
1-BOB.   Turizm ilovasini yaratish qadamlari...………………………………..5
     1. 1. Form oynasini ishga tushirish……..……………………………...…..5
     1. 2. Kapmpanintalarni hosil qilish…………………………………..…….7
2-BOB.   Ro’yxatdan o’tkazish………...……………………………………....10
     2. 1. Login yoki parol o’tkazish…….…..……………………………...…..10
     2. 2. Ro’yxatdan o’tganlar………………………………………………….13
Xulosa……………………………………………………………………...…..20
Adabiyotlar……………………………………………………………………..21
2 Kirish
                         Har bir sayohat  yoki tur zamirida unga sabab bo`luvchi asosiy maqsad
yotadi.   Bu   maqsadning   yo`qotilishi   yoki   unga   erisha   olmaslik     ushbu   sayohatni
turizm  tarkibiga kiritmaslikka asos  bo`ladi yoki turist  qoniqish olmaydi. Shunday
qilib,   har   qanday   sayohat   yoki   turistik   safardan   asosiy   maqsad   bor   bo`lib,   unga
ko`ra bu sayohatdan   turizmning biror turiga mansubligi aniqlanadi va unga ilova
yaratib turist va uning turi statistikaning u yoki bu turiga kiritiladi, ilovaga turli xil
imtiyozlar beriladi.
Har   bir   turist   ilovaga   kirganda     biron   narsani,   masalan,   sovg`a   yoki
foydalanish uchun biror pr е dm е tni sotib olishni maqsad qilib qo`yadi. Biroq, ba'zi
turistlar   turistik   safarga   borishda   bu   ilovadan   foydalanib   o’ziga   yoqgan   davlatga
safar   uyushtirishi   mumkin.   Va   sayohat   davomida     mahalliy   bozorlarda
r е jalashtirilgan   tovarlarning   barchasini   sotib   olgandan   so`ng,   turistlar   mahalliy
r е storan   yoki   plyajlarda   bir   n е cha   kun   dam   olsada,   tovar   olib   -   sotish   ularning
asosiy maqsadiga aylanadi. Bunday turistlar  shopping - turistlar toifasiga mansub
bo`lib, ular uchun maxsus shop - turlar tashkil qilinadi. Rossiyada bunday turistlar
«ch е lnoklar», - d е b nomlanadi.
Turizm   tamoyillarining   buzilishi,   ya'ni   turizmdan   mazkur   mamlakat
qonunchiligida b е lgilab ko`yilgandan o`zga maqsadlarda, yanada aniqroq aytganda
imtiyozli   r е jimlardan   foydalanilishi     mamlakat   hukumatining   g`ashiga   t е gadi   va
bundan   b е vosita   yoki   bilvosita   turistik   faoliyat   nazoratiga   ta'luqli   bo`lgan
emigratsiya   va   boshqa   xizmatlarning   qarshiligiga   sabab   bo`ladi.   Masalan,   agar
turistik firma mamlakatga turistlar o`rniga yamon maqsadlarda bo`lib k е lishini o`z
oldiga   maqsad   qilgan   bo`lib,   shu   maqsadda   turistlarni,   emigrantlarni,   ish   qidirib
k е lganlarni   yoki   o`qish   uchun   k е lganlarni   olib   kiradigan   bo`lsa,   bu   holda   firma
mazkur   mamlakat   elchixonasining   konsullik   bo`limida   o`z   akkr е ditatsiyalaridan
mahrum etiladi va xalqaro turizmga barham beriladi.
Turizm - boshqa mamlakatga ayg`oqchi yuborish hamda iqtisodiy va boshqa
turdagi   ma'lumotlarni   to`plash   va   tahlil   qilish   bilan   shug`ullanuvchi   ba'zi   -   bir
mahkama   va   idoralar   uchun   bunday   ma'lumotlarni   olishning   samarali   usulidir.
3 Davlatlarning   konsullik   xizmatlari   mamlakatga   kiritmaslik   shart   bo`lgan   shaxslar
toifasidan   iborat   «qora   ro`yxat»ni,   shuningd е k,   turizm   qoidalarini   suist е 'mol
qiluvchi firmalar ro`yxatini tuzishda faollik ko`rsatadilar.
Turizmning   eng   asosiy   iqtisodiy   tamoyilini   eslatib   o`tamiz.   Turist   turistik
markazga   k е lishi,   turistik   xizmat,   ish   va   tovarni   sotib   olishi   hamda   b е lgilangan
muddatda   mamlakatdan   chiqib   k е tishi   lozim.   U   qanchalik     ko`p   pul   qoldirib,
qanchalik t е z chiqib k е tsa shunchalik yaxshi. Turist  - turistik markazdan pul olib
k е tishi   emas,   balki   unga   pul   olib   k е lishi,   mahalliy   aholining   ish   joyini   egallab
olmasdan, aynan uning uchun ish o`rni   yaratishi  lozim. Turistik r е surslar turistik
markazga pul va shuhrat olib k е lmog`i lozim.
Ahloqqa   zid   bo`lgan   maqsadlar   qatorida   -   turizmni   k е ltirish   mumkin.
Umuman   olganda   ushbu   masalaga   ehtiyotkorlik   bilan   yondashmoq   lozim.
Rivojlangan   mamlakatlardagi   mutaxassislarning   ayrimlari:     Vaxta   ishchilari   va
harbiy xizmatchilarning Tailand va Kubaga sayohati shular jumlasidandir. Bu erda
jahon  - turizm markazlari joylashgan, - d е gan fikrdadirlar.  Shunday maqsadlarda
bolalardan   foydalanish     jahon   hamjamiyati   g`azabini   qo`zg`atmoqda.   Turizmning
bu turi  ayniqsa Janubi  - Sharqiy Osiyoda k е ng tarqalgan. U ta'qib ostiga olingan.
Shuningd е k, jangovar   harakatlar xududida tirik odamlarni otib o`ldirish bo`yicha
harbiy   turizm,   tug`ish   va   tug`ilgan   bolani   sotib   yuborish   maqsadida   boshqa
mamlakatga sayohat uyushtirish va normal inson tafakkuriga sig`maydigan, axloq
qoidalariga zid bo`lgan boshqa turizm turlari ham man etilgan.
                                     
4                                                    Asosiy qism
1-BOB.   Turizm ilovasini yaratish qadamlari
1. 1. Form oynasini ishga tushirish
                                                          1-Rasm
   Biz bu bo’limda muhitning bosh oynasini ,yana loyihalarda ishlatiladigan asosiy
formalar   va   ularning   sifatli   chiqish   uchun   zarur   bo’lgan   maxsus   konstruksiyarni
qarab   chiqamiz.   bu   yerda   ham   konsolli   ilovalarda   o’rganilgan   tushunchalardan
foydalaniladi.  Bu va bundan keying bo’limlarda biz murakkab ilovalarning grafik
interfeysi   bilan   tanishamiz.   Ilovalarni   yaratishda   forma   tushiunchasini   ishlatamiz.
Bosh oynadagi formaning ko’rinishi  keltirilgan.
                      Bosh   oynaning  chap   qismida   ikki   bo’lakli   vkladka   joylashgan.   Birinchi
qism   ma’lumotlar   bazasi   bilan   ishlashni   tashkil   etsa,   ikkinchi   qismda
kompanentalar ro’yxati keltirilgan 
                        Agar   ishchi   stolimizning   strukturasiga   e’tibor   bersak,   har   bir   oynaning
sarlavhasi   o’z   gtarkibidsa   bo’lgan   ko’plab   funksional   masalalarga   mos   ravishda
tanlangan.   Bu   oynalarni   sichqonchani   chap   tugmasi   yordamida   istalgan   joyga
joylashtirish   mumkin.   Oynalarni   o’zaro   birlashtirib   bir   nechta   vkladkalar
ko’rinishida   ham   joylashtirib   qo’yish   mumkin.   Siz   agar   biror   oynani   tanlanib,
sichqoncha yordamida kerakli joyga o’rnatishingiz mumkin.    
5 Biz   siz   bilan   bu   mavzuda   Visual   Studio   2013   muhitida   C++   tili   yordamida
Windows formalari yaratish haqida suhbatlashamiz. Avvalo shuni aytishimiz kera-
kki, VS 2012 muhitida mavjud bo’lgan Windows Forms ilovasi yangi muhitdan ol-
ib   tashlangan.   Yangi   muhitda   bu   ilova   C#   bilan   bajarishimiz   kerak.   Ro’yxatda
Windows   Forms   yo’q   bo’lsada,   biz   buni   qanday   yaratishni   o’rganamiz.   Bu
mavzuda aynan shu haqida so’z yuritamiz.
                       Dastlab, Visual  Studio muhitida ishga tushiramiz. VS ishga tushgandan
so’ng quyidagi ketma ketlikni bajaramiz;  файл - Создать - проект
                   Bu ketma ketlik bajarilgandan so’ng , loyiha tipini tanlash uchun  создат
проект   oynasi   ochiladi.   Bu   oynaga   Visual   C++qismidan   CLR   bo’limiga   o’tib
Пустой   проект  CLR punktini tanlaymiz.
Имя -qismiga loyiha nomi yoziladi. 
Расположение -   qismiga   loyihamiz   saqlanadigan   manzil   ko’rsatiladi   Bosh
oynaning   chap   qismida   ikki   bo’lakli   vkladka   joylashgan.   Birinchi   qism
ma’lumotlar   bazasi   bilan   ishlashni   tashkil   etsa,   ikkinchi   qismda   kompanentalar
ro’yxati   keltirilgan   Biz   bu   bo’limda   muhitning   bosh   oynasini   ,yana   loyihalarda
ishlatiladigan   asosiy   formalar   va   ularning   sifatli   chiqish   uchun   zarur   bo’lgan
maxsus   konstruksiyarni   qarab   chiqamiz.   bu   yerda   ham   konsolli   ilovalarda
o’rganilgan tushunchalardan foydalaniladi.   Bu va bundan keying bo’limlarda biz
murakkab ilovalarning grafik interfeysi bilan tanishamiz. Biz siz bilan bu mavzuda
Visual   Studio   2013   muhitida   C++   tili   yordamida   Windows   formalari   yaratish
haqida   suhbatlashamiz.   Avvalo   shuni   aytishimiz   kera-kki,   VS   2012   muhitida
mavjud bo’lgan Windows Forms ilovasi yangi muhitdan ol-ib tashlangan.
1. 2. Kapmpanintalarni hosil qilish
6                                                      2-Rasm
   Ro’yhatdan otish panelidagi ok tugmasi bosilsa quyidagi kod bajariladi.
String^ pochta;
       String^ parol;
       int i = 0;
private: System::Void button7_Click(System::Object^ sender, System::EventArgs^
e) {
  //Signup ok btn
  String ^ism= Convert::ToString(textBox1->Text);
  String^ familiya=Convert::ToString(textBox2->Text);
  String^ manzili= Convert::ToString(textBox3->Text);
  String^ davlat= Convert::ToString(comboBox1->Text);
  pochta= Convert::ToString(textBox4->Text);
  String^ traqam= Convert::ToString(maskedTextBox1->Text);
  parol = Convert::ToString(textBox5->Text);
  if (ism = ""  familiya = ""  manzili = "" || parol = "") {
    MessageBox::Show("Maydonlarni to'liq to'ldring", "xatolik");
  }
  else {
    i++;
7     listViewItem = gcnew Windows::Forms::ListViewItem("" + i);
    listViewItem->SubItems->Add(ism);
    listViewItem->SubItems->Add(familiya);
    listViewItem->SubItems->Add(manzili);
    listViewItem->SubItems->Add(davlat);
    listViewItem->SubItems->Add(pochta);
    listViewItem->SubItems->Add(traqam);
    this->listView1->Items->Add(this->listViewItem);
    panel2->Visible = false;
    this->panel3->Location = System::Drawing::Point(164, 165);
    this->panel3->Size = System::Drawing::Size(583, 228);
    panel3->Visible = true;
  }
}         
                        Dastur   ishga   tushgandagi   dastlabki   dasturning   ko’rinishi.   Bunda   biz
ro’yxatdan   o’tishimizni   ko’rishimiz   mumkin.   Birinchi   bo’lib   ism   kiritiladi   kiyin
bo’lsa   familiya,   undan   kiyin   manzillarni   kiritganimizdan   so’ng   davlatni
tanlashimiz mumkin. Undan so’ng elektron pochta manzili, telefon raqam kiritiladi
oxirida bo’lsa parol kiritishimiz mumkin
8                                                      3-Rasm
Tizimga kirish tugmasi bosilsa quyidagi kod bajariladi.
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^
e) {
  //login btn
  button3->Visible = false;
  button4->Visible = false;
  button5->Visible = false;
  button6->Visible = false;
  this->panel3->Location = System::Drawing::Point(164, 165);
  this->panel3->Size = System::Drawing::Size(583, 228);
  panel2->Visible = false;
  panel15->Visible = false;
  panel4->Visible = false;
  panel5->Visible = false;
  panel14->Visible = false;
  panel3->Visible = true;
}
2-BOB.   Ro’yxatdan o’tkazish
9 2. 1. Login yoki parol o’tkazish
Login sahifasi
                                                          4-Rasm
Maydonlar to’ldirilmagandagi holat ya’ni bu yerda ro’yxatdan o’tgandagi elektron 
pochta bilan parol bir xilda bo’lishi lozim. Yoki xatolik yuz bersa manashu pasdagi
halotga kelishi mumkin 
                                              5-Rasm
Maydonlar ya’ni pochta yoki parol xató bo’lgandagi xolat.
10                                                 6-Rasm
Pochta va parol tastiqlangandagi holat.
                                               7-Rasm
Formani initsializatsiyalashda bajariladigan kod.
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
      this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
      this->BackColor = System::Drawing::SystemColors::AppWorkspace;
      this->ClientSize = System::Drawing::Size(947, 500);
11       this->Controls->Add(this->panel15);
      this->Controls->Add(this->panel14);
      this->Controls->Add(this->panel5);
      this->Controls->Add(this->panel4);
      this->Controls->Add(this->panel3);
      this->Controls->Add(this->panel2);
      this->Controls->Add(this->panel1);
      this->MaximumSize = System::Drawing::Size(963, 539);
      this->MinimumSize = System::Drawing::Size(963, 539);
      this->Name = L"Form1";
      this->StartPosition = 
System::Windows::Forms::FormStartPosition::CenterScreen;
      this->Text = L"WORLDWIDE TRAVEL";
      this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
   
  
2. 2. Ro’yxatdan o’tganlar
12 Logindan   o’tgandagi   dasturning   ko’rinishi   bunda   biz   hammasini   to’g’ri   bajarib
kodlarni   to’g’ri   kiritganimizda   xatosiz   bajarilganda   dastur   shu   kurinishga   yetib
keladi.   Ya’ni   bunda   biz   ism   familiya   telifon   nomer   login   va   elektron   pochtalarni
tog’ri bexato kiritganimizda.
                                                8-Rasm
“Agentligimiz haqida” tugmasi bosilsa quyidagi oyna ochiladi.   9-Rasm
13 "agentligimz xaqida" tugmasi bosilsa quyidagi kod bajariladi.
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^
e) {
  //Agentligimz haqida btn
  this->panel4->Location = System::Drawing::Point(4, 83);
  this->panel4->Size = System::Drawing::Size(931, 411);
  panel3->Visible = false;
  panel2->Visible = false;
  panel15->Visible = false;
  panel5->Visible = false;
  panel4->Visible = true;
}
                                              10-Rasm
"agentligimiz xizmatlari " tugmasi bosilsa quyidagi kod bajariladi.
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^
e) {
  //Agentligimz xizmatlari btn
  this->panel5->Location = System::Drawing::Point(4, 83);
  this->panel5->Size = System::Drawing::Size(943, 416);
  panel4->Visible = false;
  panel14->Visible = false;
  panel15->Visible = false;
  panel3->Visible = false;
14   panel2->Visible = false;
  panel5->Visible = true;
}
“Ro’yhatdan o’tganlar” tugmasi bosilsa ro’yhatdan o’tganlar oynasi ochiladi.
                                                11- Rasm
"royhatdan otganlar" tugmasi bosilsa quyidagi kod bajariladi
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^
e) {
  //ro'yhatdan o'tganlar btn
  panel2->Visible = false;
  panel3->Visible = false;
  panel15->Visible = false;
  panel4->Visible = false;
  panel5->Visible = false;
  this->panel14->Location = System::Drawing::Point(0, 83);
  this->panel14->Size = System::Drawing::Size(935, 421);
15   panel14->Visible = true;
}
“Agentligimiz xizmatlaridan foydalanganlar” xizmatdan foydalanganlar ro’yxati 
kelib chiqadi. Ya’ni bu ro’yxatdan o’tgan foydalanuvchilar ro’yxati.
                                              12-Rasm
"Agentligimz xizmatlaridan foydlanganlar" tugmasi bosilsa quyidagi kod bajariladi
private: System::Void button6_Click(System::Object^ sender, System::EventArgs^
e) {
  //users
  this->panel15->Location = System::Drawing::Point(12, 99);
  this->panel15->Size = System::Drawing::Size(923, 402);
  panel2->Visible = false;
  panel3->Visible = false;
  panel4->Visible = false;
  panel5->Visible = false;
  panel14->Visible = false;
  panel15->Visible = true;
}
16 Kerakli so’zni qidirish uchun “search” tugmasi bosiladi
                                         13-Rasm
search tugmasi bosilsa quyidagi dastur kodi bajariladi
private: System::Void button9_Click(System::Object^ sender, System::EventArgs^
e) {
  //search btn
  int col = Convert::ToInt32(numericUpDown1->Value) - 1;
  int colCount = col + 1;
  bool find = false;
  int lastItm = 0;
  if (checkBox1->Checked)
  {
    colCount = listView1->Columns->Count;
    col = 0;
  }
  for (int colAll = col; colAll < colCount; colAll++)
  {
    for (int lst12 = lastItm; lst12 < listView1->Items->Count; lst12++)
    {
17       if (listView1->Items[lst12]->SubItems[colAll]->Text->IndexOf(textBox8-
>Text) > -1 |
        listView1->Items[lst12]->SubItems[colAll]->Text->ToUpper()-
>IndexOf(textBox8->Text->ToUpper()) > -1)
      {
        listView1->TopItem = listView1->Items[lst12];
        if (checkBox2->Checked)
        {
          if (lastItm > 0) listView1->Items[lastItm - 1]->BackColor = Color::Empty;
          listView1->Items[lst12]->BackColor = Color::Aqua;
        }
        lastItm = lst12 + 1;
        find = true;
        break;
      }
    }
    if (find)
      break;
  }
}
forn_load funksiyasi quyidagi kodni bajaradi
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ 
e) {
    this->panel2->Location = System::Drawing::Point(228, 93);
    this->panel2->Size = System::Drawing::Size(535, 383);
  }
18                                                  Xulosa
Bu   kurs   ishi   davomida,   biz   sayohat   agentligi   uchun   ma’lumotlarni   saqlash
va   yozish   uchun   kichik   dasturiy   ta’minotni   ishlab   chiqdik.   Bunda   biz   visual
dasturlashdan   foydalandek.   Dasturiy   ta’minotni   yaratish   davomida   asosiy   urg’uni
bilan   ishlashga   qaratildi.   Visual   dasturlash   yordamida   biz   konsolli   dasturlarni
visual   ko’rinishda   foydalanuvchi   uchun   qulay   holda   ifodalanishimiz   mumkin
bo’ladi.   Bu   usulda   foydalanuvchi   uchun   tushunarli   bo’ladi.   Visual   muhitda   biz
komponentalar   bilan   ishladik.   Kurs   ishi   davomida   visual   muhitda   bir   necha
dasturlar ustida(qism dastur) lar ustida ishladik. 
Biz bu kurs ishi davomida sayohatga boradigan odamlarni birinchi navbatda
ro’yxatdan   o’tkazdik   va   ularning   qaysi   shahardan   boshqa   shaharga   borish   uchun
ketadigan pul miqdorlarini chiqarib beruvchi dastur yaratdik. Bu dastur sayohatga
borish istagida bo’lgan har qanday odam uchun juda qulay hisoblanadi. 
Bunda   ro’yxatdan   o’tib   har   qanday   shaharni   tanlash   imkoniyati   mavjud
bo’lib har qanday inson o’zi xohlagan viloyat, shahar va hatto boshqa davlatlarga
ham borishi mumkin.
19 .
        Foydalanilgan adabiyotlar ruyxati
1-O`zb е kiston  R е spublikasi Pr е zid е ntining 1995 - yil 2 - iyundagi  “ Buyuk Ipak 
yo`li ” ni qayta tiklashda O`zb е kiston R е spublikasining ishtirokini avj oldirish va  
r е spublikada Xalqaro turizmni rivojlantirish borasidagi chora - tadbirlar 
to`g`risida ” gi farmoni.
2-O`zb е kiston R е spublikasi Vazirlar Mahkamasining  1998 - yil 8 - avgustdagi 
“ Turistik tashkilotlar faoliyatini takomillashtirish to`g`risida" gi qarori
3-O`zb е kiston R е spublikasining "Turizm to`g`risidagi" qonuni
4- O`zb е kiston  R е spublikasi Pr е zid е ntining  “ O`zb е kturizm ”  MKni tashkil etish 
to`g`risida"gi farmoni
5- Internet saytlari ma`lumotlari.
20