logo

“PROGRAMMALASH ASOSLARI” FANIDAN

Yuklangan vaqt:

13.08.2023

Ko'chirishlar soni:

0

Hajmi:

327.19921875 KB
“PROGRAMMALASH ASOSLARI”  FANIDAN
“SAYOHAT AGENTLIGI” 
Mundarija 
KIRISH ......................................................................................................................... 2
Visual C + + haqida ...................................................................................................... 3
“Sayohat agentligi” loyihasi ........................................................................................ 8
Xulosa .......................................................................................................................... 38
Foydalanilgan adabiyotlar ......................................................................................... 39 KIRISH
Vizual   dasturlashni   qo’llab-quvvatlaydigan   juda   ko’plab   instumentlar   mavjud.
Bular   qatoriga   Borland   Delphi,   Borland   C++   Builder,   Embarcadero   RAD   Studio,
Visual Studio va boshqalarni keltirib o’tishimiz mumkin. Ulardan qaysi birini tanlash
esa   dasturchining   o’ziga   bog’liq.   Lekin   shuni   unutmaslik   kerakki,   garchi   ulardan
qo’llaniladigan dasturlash tili turlicha bo’lsa-da, ularning barchasining asosida bir xil
uslub yotadi. Biz ushbu kitobda instrument sifatida Microsoftning mahsuloti bo’lmish
Visual   Studio   integrallashgan   muhitini   tanladik.   Chunki   bu   instrument   so’nggi
yillarda   eng   ommalashgan   muhitlardan   biri   bo’lib   kelmoqda.   Biz   yaratayotgan
loyihalarimizning asosiy qismi  Windows muhiti uchun ishlab chiqarilishini  inobatga
olsak,   aynan   ushbu   muhitni   tanlaganimiz   bejiz   emas.   Chunki   ushbu   integrallashgan
muhit Windows OS ning juda ko’p funksiyalarini o’z ichiga jamlagan bo’lib, loyiha
tuzayotganda   ulardan   keng   miqyosida   foydalanamiz.   Uning   tarkibida   bir   qancha
kutubxonalarda   bu   funksiyalar   joylashib,   ularga   murojaat   etish   orqali,   bir   qancha
amallarni   osongina   hal   etishimiz   mumkin   Ushbu   kitobda   Visual   Studio   2013
integrallashgan muhitida Formalar yordamida ilovalar yaratish haqida so’z yuritiladi.
Windows   Forms   texnologiyasi   komponentalarga   asoslanadi.   Bu   komponentalarni
birlashtirib, turli xil ilovalarni yaratishni ko’rib o’tamiz.
 Komponenta - bu visual dasturlashning asosiy tushunchalaridan biridir. Ta’bir
joiz   bo’lsa,   komponenta   –   “g’isht”   bo’lsa,   ularni   birlashtirib   turuvchi   ilova   esa
“uy”dir. Biz bu g’ishtlarni birlashtirib, uy, hattoki, uylar yasashimiz mumkin. Uyimiz
qanchalik sifatli chiqishini istasak,  g’ishtimizni sifatli va mustahkam  qilib terishimiz
kerak. Poydevor qanchalik mustahkam bo’lsa, uy ham shuncha baquvvat va ko’rkam
bo’ladi. Inson va ma’lumotlarga ishlov berish o’rtasidagi  aloqa kompyuter dasturlari
orqali   boshqariladi.   Markaziy   protsessor   (CRI)   belgilari   to’plami   ikkita   belgigacha
“0” va “1” yoki “yoqilgan” va “o’chirilgan” bilan chegeralangan. Visual C + + haqida
Visual  studio Microsoft uchun mo’ljallangan dasturlash muhiti  hisoblanadi. U
console   (boshqaruv   paneli)   va   grafik   interfeysli   dasturlar,   shu   bilan   birga   Windows
tarkibidagi dasturlar, veb-saytlar, veb dasturlar, va veb xizmatlarni tarkibidagi hamda
boshqa   kodlar   yordamida   Microsoft   Windows,   Windows   Phone,   Windows   CE,   .Net
Framework,   .Net   Compact   Framework   va   Microsoft   Silverlight   kabi   dasturlar
muhitlarini   daturashda   ishlatialdi. Visual  Studio  muhitidada  dastrur  tuzish  uchun  bir
qancha elementlar: menyular paneli, standart uskunalar paneli, ochiq yoki ekranning
o’ng,   chap,   yuqori,   yoki   pastki   qismida   avtomatik   yashiringan   turli   xildagi
qo’shimcha   uskunalar   joylashgan.   Visual   Studioda   Console   Interfeys   ilovada
ishlashni hosil qilish uchun quyidagi amallarni bajarish lozim. Dastlab asosiy oynadan
“New Project” qismi orqali, “File” tugmasi orqali, “New” tugmasini tanlab, “Project”
qismini tanlanadi, yoki “Ctrl+Shift+A” tugmalarini bosishimiz mumkin.  
 Visual C++ da dasturlar ilovalar deb nomlanadi. Ilovalar maxsus konstruksiya
ko’rinishidagi   muhitda   –   foydalanuvchi   uchun   bir   qancha   fayllar   majmui
ko’rinishidagi loyihada yaratiladi.  C tilidagi dastur bu – belgilangan talablarga javob
beruvchi, maxsus dasturlash tuzilishiga ega funksiyalar majmuidir. Ilova – bu ichida
ilova   algoritmini   amalga   oshiruvchi   operatorlar   joylashtirilgan   asosiy   funksiyadir.
Operatorlar   ichida   shundaylari   ham   borki,   ular   algoritmni   amalga   oshishida   talab
qilinadigan   boshqa   funksiyalarni   chaqirishga   xizmat   qiladi.   Ixtiyoriy   dasturni   ishga
tushirish,   dasturning   qolgan   barcha   qismini   o’zida   jamlagan   asosiy   funksiyani   ishga
tushirishdan boshlanadi. Funksiyaning bir qismi dasturchi tomonidan, qolgan qismi –
kutubxona funksiyalari  – foydalanuvchiga dasturiy muhit  tomonidan taqdim qilinadi
va dasturni ishlab chiqish jarayonida foydalaniladi.   Yaratiluvchi ilovalarni 2 ta katta
kategoriyaga   ajratish   mumkin.   Ular   ishchi   stol   ilovalari   va   Windows   8   ilovalaridir.
Ishchi   stol   ilovalari   bu   biz   bilgan   va   sevadigan   ilovalardir.   Ular   menyu   paneli,
instrumentlar paneli va ko’pincha ilova oynasining pastki qismida joylashgan holatlar satriga ega bo’ladilar. Biz ushbu fanda ishchi stol ilovalarini yaratishni maqsad qilib
qo’ydik.   Windows   8   ilovalari   ishchi   stol   ilovalaridan   ancha   farqli.   Ularda
foydalanuvchi interfeysi mavjud bo’lib u ishchi stol ilovalaridan butunlay farq qiladi.
Foydalanuvchining   to’g’ridan   to’g’ri   ma’lumotlar   bilan   bog’lanishi   diqqat
markazidadir. 1.2. Microsoft Visual C++ da konsol ilova dasturlar yaratish C/C++ ni
o’rganishda biz maxsus ilovalar ko’rinishidan foydalanamiz – shablonlarni tayyorlash
muhitida   oldindan   tayyorlangan   konsol   ilovalar   asosida   shakllantiriladi.   Konsol
ilovalar   –   bu   grafik   interfeyssiz   ilovalar   bo’lib,   ular   foydalanuvchi   bilan   maxsus
buyruqlar   satri   orqali   o’zaro   aloqada   bo’ladi   yoki   asosiy   menyu   muhitidagi   maxsus
buyruqlar   bilan   ishga   tushiriladi.   Bunday   ilovalar   File/New   Project   buyrug’i
bajarilishidan   so’ng   ochiluvchi   dialog   oynasiga   ega   bo’lgan   maxsus   shablonlar
yordamida   yaratiladi.   Konsol   ilovalar   shabloni   yaratiluvchi   ilovaga   barcha   zarur
elementlarni qo’shadi, shundan so’ng dasturchi bu shablonga o’zining C/C++ tilidagi
operatorlarini   qo’shadi.   Keyin   ilova   avtonom   ishga   tushuvchi   fayl   sifatida
kompilyatsiyalanadi va bajarish uchun ishga tushirilishi mumkin. Foydalanuvchi bilan
muloqot   ilova   ishga   tushirilgandan   so’ng   ochiluvchi   maxsus   konsol   oynasi   orqali
amalga oshiriladi (shu oynada dastur  habarlari tasvirlanadi, u orqali hisoblash uchun
ma’lumotlar   kiritiladi   va   uning   o’ziga   hisoblangan   natijalar   chop   qilinadi).
Kompilyatsiya   va   proyektni   bitta   joyga   jamlash   asosiy   menyuning   Build   buyrug’I
orqali   amalga   oshiriladi.   Kompilyatsiya   va   proyektni   bir   joyga   yig’ishdan   so’ng   uni
bajarish   uchun   ishga   tushirish   mumkin.   Bajarilish   uchun   ishga   tushurish   asosiy
menyuning   Debbug   buyrug’i   yordamida   amalga   oshiriladi.   Konsol   ilovalar   yaratish
uchun quyidagi qadamlarni bajarish zarur: 1. Visual C++ ni ishga tushirish. 2. Asosiy
menyuning File/New/Project  buyrug’ini  bajarish.  3.1 – rasmdagi  dialog oynasi  hosil
bo’ladi.   Unda   quyidagilarni   ketma   –   ket   bajaring:   Win32   bandini   tanlang;   Win32
Console   Application   qismini   tanlang;   Ilovaning   saqlanish   joyini   ko’rsatish   uchun
“Browse…” tugmasidan foydalaning; Name maydoniga hosil qilinuvchi ilova nomini
kiriting; OK tugmasini bosing.   
  Inson   harflardan,   raqamlardan,   tasvirlardan   foydalanadi.   Inson   va   mashina
o’rtasidagi   interfeysni   (muloqotni),   (kodlashtirish)ni   dasturiy   ta’minot   tartibga   solib
turadi.   Bu   vazifadan   tashqari   kompyuter   dasturi   operatsion   tizimi   ko’rinishida
kompyuterni   butun   apparat   qismini   boshqarilishini   tartibga   soladi.   Shunday   qilib
dasturiy ta’minot ikki qismga bo’linadi:
 tizimli dastur ko’rinishidagi apparat qismining boshqarilishi 
 muammolarning yechilishiga qaratilgan amaliy dasturlar
Bu   bilan   bir   qatorda   tizimli   va   amaliy   dasturlar   ishlab   chiqish   va   kompyuter
xizmatini yengillashtirish uchun bir qator dasturlash tillari va qo’llash servisi mavjud.
Tizimli   dastur   shu   bilan   birga,   kompyuter   va   unga   tegishli   periferiyalardan
foydalanishga   imkon   beradi.   Tizimli   dasturlarga   foydalanuvchining   ma’lumotlarga
ishlov   berish   tizimining   ishlash   tamoyillari   bo’yicha   keyingi   texnik   belgilarga   ega
bo’lishini talab qilmasdan, masalani kiritish va chiqarish boshqaruvini tayyorlaydigan
operatsion   tizimlarini   o’z   ichiga   oladi.   Xizmat   uchun   belgilangan   va   yordamchi dasturlar   ham   tizimli   dasturlarga   oid   bo’lib,   masalan   formatlash   va   nusxalashda
axborot   tashuvchilar   bilan   muomala   qilish   singari   operatsion   tizimlar   bilan
munosabatni yengillashtiradi. Windows XP, Windows 2003 mijozserver arxitekturali
Novell, UNIX va LINUXning har xil  variantlari  mashhur operatsiya tizimlaridandir.
Professional   va   kundalik   masalalar   qo’yilishini   hal   qilish   uchun   iqtisodiy,   texnik   va
ilmiy sohadan  amaliy dasturlar  foydalaniladi  yoki  ishlab chiqiladi. Foydalanuvchilar
va   qo’llanish   miqdoriga   ko’ra   soni   va   ushbu   amaliy   dasturlarni   yana   bo’laklarga
bo’lib chiqish mumkin. Standart dasturiy ta’minot quyidagicha ko’rinishda deyarli har
qanday masala qo’yilishi uchun amal qiladi, masalan: 
 Matnga ishlov berish (masalan, MS Word) 
 Elektron jadvallar bilan ishlash (masalan, MS Excel) 
 Ma’lumotlar bazalari (masalan, MS Access, Oracle) 
 Grafiklar (masalan, Visio, CorelDraw) 
 Nashriy tizimlar (Desktop Publishing) (mas. Adobe Pagemaker, QuarkXPress) 
 Loyihalash (masalan, MS Project) 
Tipi – Integrallash ishlab chiqaruvchi muhit
 Ishlab chiqaruvchi – Microsoft
 Dasturlash tillari – C++ va C#
 Operatsion tizim – Windows
 Interfeys tili – xitoy, ingliz, fransuz, portugal, nemis, italyan, yapon, koreys,
ispan , rus tillari
 Oxirgi versiya – Visual Studio 2015 (20-iyul 2015-yil)
 Litsenziya – foydalanuvchi bilan kelishuvi asosida
 Sayt –  www.visualstudio.com
Komponentlari.   Visual   Studio   quyidagi   bitta   yoki   bir   qancha   komponentlarni
qo’llaydi:  Visual Basic .NET – u Visual Basic asosida paydo bo’lgan
 Visual C++
 Visual C#
 Visual F# (Bu Visual Studio 2010 dan boshlab ishlatiladi)
Boshqa   variantlarni   quyidagilarni   yoqish   orqali   yetkazib   berish   mumkin:   Microsoft
SQL Server yoki Microsoft SQL Server Express 
Visual Studioning oldingi tarkibiga ham mahsulotlar kiritilgan:
 Visual InterDev
 Visual J++
 Visual J#
 Visual FoxPro
 Visual Source Safe – fayl-server tizimini boshqarish versiyasi
Versiyalari. Visual Studio 4.0 ning dastlabki versiyasida Visual Basic 3, Visual C+
+,   Visual   FoxPro   va   Source   Safe   ishlab   chiqaruvchi   muhitlarini   mustaqil   paket
sifatida   yetkazib   berilgan.   Visual   Studio   97.   Visual   Studio   97   –   Visual   Studioning
birinchi ishlab chiqilgan versiyasi hisoblanib, turli muhitlarda dasturiy ta’minot ishlab
chiqish   uchun   ilk   bora   bir   joyda   to’plangan.   U   ikki   xil   versiyada   chiqarilgan   –
Professional  hamda Enterprise va ular Visual  Basic 5.0, Visual  C++ 5.0, Visual  J++
1.1, Visual FoxPro 5.0 va ilk bora ASP ishlab chiqarish muhiti – Visual InterDev ni
joylashtirdi. Microsoft bu versiyasida ilk bora ko’plab tillarni: Visual C++, Visual J+
+, Visual InterDev va MSDN ni bir muhitda qo’llashga urinib ko’rdi va u Developer
Studio   deb   nomlandi.   Visual   FoxPro   va   Visual   Basiclar   alohida   ishlab   chiqarish
muhiti sifatida ishlatildi. Visual  Studio 6.0 (1998). Visual Studio 6.0 – Windows 9x
platformasida   ishlaydigan   Visual   Studioning   eng   oxirgi   versiyasi.   Avvalgidek,
ommaviy   bo’lgan   Visual   Basic   muhitidan   foydalanildi.   Ushbu   versiyadan
Microsoftning   Windows   platformasi   ilovalari   uchun   .NET   paydo   bo’ldi.     Visual Studio   .NET   (2002).   Visual   Studio   .NET   (Kodli   nomi   Rainier,   ichki   versiyasi   7.0)
2002-yil fevralda ishlab chiqarilgan (.NET Framework 1.0ni qo’llaydi). Visual Studio
.NET   Service   Pack   1   uchun   2002-yil   martida   ishlab   chiqildi.   Visual   Studio   .NET
2003. Visual Studio .NET (2003) (Kodli nomi Everett, ichki versiya 7.1) 2003 yilda
ishlab   chiqarilgan   (Framework   1.1   qo’llaydi).   Microsoft   2005-yilning   aprelida
maxsus   muhit   ishlab   chiqarilganini   e’lon   qildi,   uning   nomi   Microsoft   Visual
Studio   .NET   Professional   Special   Edition   deb   ataldi.   Bu   maxsus   ishlab   chiqarilgan
muhit   Microsoft   Visual   Studio   .NET   2003   Professional   Editionga   DTning   serverli
komplektini   va   boshqa   instrumentlarni   qo’shadi   (bu   qismlarga   operatsion   tizimlar:
Windows   Server   2003   Standard   Edition   va   SQL   Server   2000   Developer   Editionlar
kiradi).   Muhitni   bunday   ko’rinishda   rag’batlantirish   ishlab   chiqarishning   yangi
bosqichiga   ko’tarilishiga   olib   keldi   va   Microsoft   boshqalar   bilan   raqobatga   kirisha
oladigan   DT   yaratuvchini   ishlab   chiqdi.   Visual   Studio   .NET   2003   Service   Pack   1
uchun   2006-yil   13-sentabrda   ishlab   chiqarilgan.   Visual   Studio   2005.   Visual   Studio
2005 (kodli nomi Whidbey, ichki versiyasi 8.0) – 2005- yil oktabrning oxirida ishlab
chiqarilgan (.NET Framework 2.0 ni qo’llaydi). Windows 2000 da ishlatiladigan eng
so’nggi   rasmiy   versiya.   2005-yil   noyabr   boshlarida   ham   bir   qancha   seriyadagi
mahsulotlarni   Express   tahririda   ishlab   chiqildi:   Visual   C++   2005   Express,   Visual
Studio   Basic   2005   Express,   Visual   C#   2005   Express   va   boshqalar.   2006-yil   19-
aprelda   Express   tahriri   bepul   qilib   belgilandi.   VS2005   Service   Pack   1   uchun   va
barcha   Express   tahriri   2006-yilning   14-dekabrida   chiqarilgan.   Windows   Vista   bilan
birgalikda muammolarni hal qiladigan, SP1 uchun qo’shimcha patch 2007-yilning 6-
martida ishlab chiqarilgan. 
“Sayohat agentligi” loyihasi
 Biz visual studio 2008 dasturlash muhitida yangi project yaratib olamiz, buning 
uchun quyidagi qadamlarni bajaramiz.
1-daqam. “ Fayl->Yaratish->Loyiha”  ketma-ketligida buyruqlarni tanlaymiz. 1-rasm.
Endigi qadamda yaratilayotgan loyihaning turini va unga nom berib, uning 
qayerga saqlash kerak ekanli haqidagi bo’limni quyidagicha to’ldiramiz: 2-rasm.
Bizga paydo bo’lgan oynada yangi loyiha uchun forma yaratiladi.
3-rasm.
Endi   formaning   xususiyatlari   o’rnatishni   boshlaymiz.   Birinchi   o’rinda
AutoScaleMode   xususiyatining   qiymatini   None   qilib   o’zgartirib   qo’yamiz   va   Font
xususiyatini o’zgartiramiz.
Formaning bu tabiga 3 ta panel, 1 ta Label, 2 ta ListBox, 6 ta GroupBox, 6 ta
textBox va 1 ta Button komponentalarni joylashtirib ulardan kerakli komponentalarni
Text   xususiyatlarini   o’zgartirib   chiqamiz   va   keyinchalik   murojat   qilishimiz   uchun
ularning  Name  xususiyatini ham o’zgartirib boraveramiz. (o’zimizga qulay bo’lishligi
uchun   ularning   nomlarini   eslatma   sifatida   yozib   borganimiz   ma’qul.   Misol   uchun
Button1,   Kirish   tugmasini   uchun   Name   xususiyatini   “ Qo’shish ”   deb   o’zgartirib
qo’yganimiz ma’qul.  4-rasm.
4-rasmdagi   ma’lumot   kiritish   uchun   kerakli   bo’ladigan   komponentalarni
joylashtirib, sozlab chiqamiz. 5-rasm.
Dastur   davomida   ishlatilgan   har   bir   button   komponentasining   bosilish   holati
uchun   izoh   sifatida   kodlar   belgilanib   ketgan,   ularning   quyidagi   kodlar   orqali   ko’rib
olishimiz mumkin:
Dastur kodi.
#pragma once
namespace Sayohat {
          using namespace System; using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
}
                     protected:
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::TabControl^  tabControl1;
protected: 
private: System::Windows::Forms::TabPage^  tabPage1;
          private: System::Windows::Forms::TabPage^  tabPage2;
private: System::Windows::Forms::GroupBox^  groupBox1;
private: System::Windows::Forms::TextBox^  textBox1;
private: System::Windows::Forms::Label^  label1;
private: System::Windows::Forms::GroupBox^  groupBox9; private: System::Windows::Forms::TextBox^  textBox9;
          private: System::Windows::Forms::GroupBox^  groupBox11;
private: System::Windows::Forms::TextBox^  textBox11;
private: System::Windows::Forms::GroupBox^  groupBox12;
private: System::Windows::Forms::TextBox^  textBox12;
private: System::Windows::Forms::GroupBox^  groupBox13;
private: System::Windows::Forms::TextBox^  textBox13;
          private: System::Windows::Forms::GroupBox^  groupBox15;
private: System::Windows::Forms::TextBox^  textBox15;
private: System::Windows::Forms::GroupBox^  groupBox16;
private: System::Windows::Forms::TextBox^  textBox16;
private: System::Windows::Forms::Button^  button1;
private: System::Windows::Forms::GroupBox^  groupBox2;
private: System::Windows::Forms::TextBox^  textBox2;
private: System::Windows::Forms::Label^  label2;
private: System::Windows::Forms::Button^  button2;
private: System::Windows::Forms::GroupBox^  groupBox4;
private: System::Windows::Forms::TextBox^  textBox4;
private: System::Windows::Forms::GroupBox^  groupBox5;
private: System::Windows::Forms::TextBox^  textBox5;
private: System::Windows::Forms::Panel^  panel1;
private: System::Windows::Forms::Label^  label3;
private: System::Windows::Forms::Button^  button3;
private: System::Windows::Forms::GroupBox^  groupBox3;
private: System::Windows::Forms::TextBox^  textBox3;
private: System::Windows::Forms::Panel^  panel2;
private: System::Windows::Forms::Panel^  panel3;
private: System::Windows::Forms::DataGridView^  dataGridView1; private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column1;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column7;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column2;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column3;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column4;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column5;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column6;
          private:
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
void InitializeComponent(void)
{
this->tabControl1 = (gcnew 
System::Windows::Forms::TabControl());
this->tabPage1 = (gcnew System::Windows::Forms::TabPage());
this->button1 = (gcnew System::Windows::Forms::Button());
this->groupBox2 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox2 = (gcnew System::Windows::Forms::TextBox());
this->groupBox1 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox1 = (gcnew System::Windows::Forms::TextBox());
this->label1 = (gcnew System::Windows::Forms::Label());
this->tabPage2 = (gcnew System::Windows::Forms::TabPage());
this->groupBox4 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox4 = (gcnew System::Windows::Forms::TextBox()); this->groupBox5 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox5 = (gcnew System::Windows::Forms::TextBox());
this->label3 = (gcnew System::Windows::Forms::Label());
this->button3 = (gcnew System::Windows::Forms::Button());
this->groupBox3 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox3 = (gcnew System::Windows::Forms::TextBox());
this->label2 = (gcnew System::Windows::Forms::Label());
this->button2 = (gcnew System::Windows::Forms::Button());
this->groupBox9 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox9 = (gcnew System::Windows::Forms::TextBox());
this->groupBox11 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox11 = (gcnew System::Windows::Forms::TextBox());
this->groupBox12 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox12 = (gcnew System::Windows::Forms::TextBox());
this->groupBox13 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox13 = (gcnew System::Windows::Forms::TextBox());
this->groupBox15 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox15 = (gcnew System::Windows::Forms::TextBox());
this->groupBox16 = (gcnew 
System::Windows::Forms::GroupBox());
this->textBox16 = (gcnew System::Windows::Forms::TextBox()); this->panel1 = (gcnew System::Windows::Forms::Panel());
this->dataGridView1 = (gcnew 
System::Windows::Forms::DataGridView());
this->panel3 = (gcnew System::Windows::Forms::Panel());
this->panel2 = (gcnew System::Windows::Forms::Panel());
this->Column1 = (gcnew 
System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column7 = (gcnew 
System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column2 = (gcnew 
System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column3 = (gcnew 
System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column4 = (gcnew 
System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column5 = (gcnew 
System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column6 = (gcnew 
System::Windows::Forms::DataGridViewTextBoxColumn());
this->tabControl1->SuspendLayout();
this->tabPage1->SuspendLayout();
this->groupBox2->SuspendLayout();
this->groupBox1->SuspendLayout();
this->tabPage2->SuspendLayout();
this->groupBox4->SuspendLayout();
this->groupBox5->SuspendLayout();
this->groupBox3->SuspendLayout();
this->groupBox9->SuspendLayout(); this->groupBox11->SuspendLayout();
this->groupBox12->SuspendLayout();
this->groupBox13->SuspendLayout();
this->groupBox15->SuspendLayout();
this->groupBox16->SuspendLayout();
this->panel1->SuspendLayout();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^  
>(this->dataGridView1))->BeginInit();
this->panel3->SuspendLayout();
this->panel2->SuspendLayout();
this->SuspendLayout();
// 
// tabControl1
// 
this->tabControl1->Controls->Add(this->tabPage1);
this->tabControl1->Controls->Add(this->tabPage2);
this->tabControl1->Location = System::Drawing::Point(12, 12);
this->tabControl1->Name = L"tabControl1";
this->tabControl1->SelectedIndex = 0;
this->tabControl1->Size = System::Drawing::Size(605, 457);
this->tabControl1->TabIndex = 0;
// 
// tabPage1
// 
this->tabPage1->Controls->Add(this->button1);
this->tabPage1->Controls->Add(this->groupBox2);
this->tabPage1->Controls->Add(this->groupBox1);
this->tabPage1->Controls->Add(this->label1); this->tabPage1->Location = System::Drawing::Point(4, 32);
this->tabPage1->Name = L"tabPage1";
this->tabPage1->Padding = 
System::Windows::Forms::Padding(3);
this->tabPage1->Size = System::Drawing::Size(597, 421);
this->tabPage1->TabIndex = 0;
this->tabPage1->Text = L"Tizimga kirish";
this->tabPage1->UseVisualStyleBackColor = true;
// 
// button1
// 
this->button1->Location = System::Drawing::Point(191, 288);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(200, 31);
this->button1->TabIndex = 3;
this->button1->Text = L"Tizimga kirish";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, 
&Form1::button1_Click);
// 
// groupBox2
// 
this->groupBox2->Controls->Add(this->textBox2);
this->groupBox2->Location = System::Drawing::Point(191, 196);
this->groupBox2->Name = L"groupBox2";
this->groupBox2->Size = System::Drawing::Size(200, 69);
this->groupBox2->TabIndex = 2;
this->groupBox2->TabStop = false; this->groupBox2->Text = L"Parol";
// 
// textBox2
// 
this->textBox2->Location = System::Drawing::Point(6, 29);
this->textBox2->Name = L"textBox2";
this->textBox2->Size = System::Drawing::Size(188, 30);
this->textBox2->TabIndex = 0;
// 
// groupBox1
// 
this->groupBox1->Controls->Add(this->textBox1);
this->groupBox1->Location = System::Drawing::Point(191, 121);
this->groupBox1->Name = L"groupBox1";
this->groupBox1->Size = System::Drawing::Size(200, 69);
this->groupBox1->TabIndex = 1;
this->groupBox1->TabStop = false;
this->groupBox1->Text = L"Login";
this->groupBox1->Enter += gcnew System::EventHandler(this, 
&Form1::groupBox1_Enter);
// 
// textBox1
// 
this->textBox1->Location = System::Drawing::Point(6, 29);
this->textBox1->Name = L"textBox1";
this->textBox1->Size = System::Drawing::Size(188, 30);
this->textBox1->TabIndex = 0;
//  // label1
// 
this->label1->AutoSize = true;
this->label1->Font = (gcnew System::Drawing::Font(L"Tahoma", 
14.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
static_cast<System::Byte>(0)));
this->label1->Location = System::Drawing::Point(259, 78);
this->label1->Name = L"label1";
this->label1->Size = System::Drawing::Size(65, 23);
this->label1->TabIndex = 0;
this->label1->Text = L"Kirish";
// 
// tabPage2
// 
this->tabPage2->Controls->Add(this->groupBox4);
this->tabPage2->Controls->Add(this->groupBox5);
this->tabPage2->Controls->Add(this->label3);
this->tabPage2->Controls->Add(this->button3);
this->tabPage2->Controls->Add(this->groupBox3);
this->tabPage2->Location = System::Drawing::Point(4, 22);
this->tabPage2->Name = L"tabPage2";
this->tabPage2->Padding = 
System::Windows::Forms::Padding(3);
this->tabPage2->Size = System::Drawing::Size(597, 431);
this->tabPage2->TabIndex = 1;
this->tabPage2->Text = L"Ro\'yxatdan o\'tish";
this->tabPage2->UseVisualStyleBackColor = true;
//  // groupBox4
// 
this->groupBox4->Controls->Add(this->textBox4);
this->groupBox4->Location = System::Drawing::Point(198, 213);
this->groupBox4->Name = L"groupBox4";
this->groupBox4->Size = System::Drawing::Size(200, 69);
this->groupBox4->TabIndex = 22;
this->groupBox4->TabStop = false;
this->groupBox4->Text = L"Parol";
// 
// textBox4
// 
this->textBox4->Location = System::Drawing::Point(6, 29);
this->textBox4->Name = L"textBox4";
this->textBox4->Size = System::Drawing::Size(188, 30);
this->textBox4->TabIndex = 0;
// 
// groupBox5
// 
this->groupBox5->Controls->Add(this->textBox5);
this->groupBox5->Location = System::Drawing::Point(198, 138);
this->groupBox5->Name = L"groupBox5";
this->groupBox5->Size = System::Drawing::Size(200, 69);
this->groupBox5->TabIndex = 21;
this->groupBox5->TabStop = false;
this->groupBox5->Text = L"Login";
// 
// textBox5 // 
this->textBox5->Location = System::Drawing::Point(6, 29);
this->textBox5->Name = L"textBox5";
this->textBox5->Size = System::Drawing::Size(188, 30);
this->textBox5->TabIndex = 0;
// 
// label3
// 
this->label3->AutoSize = true;
this->label3->Font = (gcnew System::Drawing::Font(L"Tahoma", 
14.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
static_cast<System::Byte>(0)));
this->label3->Location = System::Drawing::Point(224, 21);
this->label3->Name = L"label3";
this->label3->Size = System::Drawing::Size(176, 23);
this->label3->TabIndex = 20;
this->label3->Text = L"Ro\'yxatdan o\'tish";
// 
// button3
// 
this->button3->Location = System::Drawing::Point(82, 312);
this->button3->Name = L"button3";
this->button3->Size = System::Drawing::Size(441, 36);
this->button3->TabIndex = 19;
this->button3->Text = L"Tizimda ro\'yxatdan o\'tish";
this->button3->UseVisualStyleBackColor = true;
this->button3->Click += gcnew System::EventHandler(this, 
&Form1::button3_Click); // 
// groupBox3
// 
this->groupBox3->Controls->Add(this->textBox3);
this->groupBox3->Location = System::Drawing::Point(204, 66);
this->groupBox3->Name = L"groupBox3";
this->groupBox3->Size = System::Drawing::Size(194, 66);
this->groupBox3->TabIndex = 18;
this->groupBox3->TabStop = false;
this->groupBox3->Text = L"Ismi";
// 
// textBox3
// 
this->textBox3->Location = System::Drawing::Point(6, 29);
this->textBox3->Name = L"textBox3";
this->textBox3->Size = System::Drawing::Size(188, 30);
this->textBox3->TabIndex = 0;
// 
// label2
// 
this->label2->AutoSize = true;
this->label2->Font = (gcnew System::Drawing::Font(L"Tahoma", 
14.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
static_cast<System::Byte>(0)));
this->label2->Location = System::Drawing::Point(72, 21);
this->label2->Name = L"label2";
this->label2->Size = System::Drawing::Size(184, 23);
this->label2->TabIndex = 17; this->label2->Text = L"Ma\'lumot qo\'shish\r\n";
// 
// button2
// 
this->button2->Font = (gcnew 
System::Drawing::Font(L"Tahoma", 14.25F, System::Drawing::FontStyle::Bold, 
System::Drawing::GraphicsUnit::Point, 
static_cast<System::Byte>(0)));
this->button2->Location = System::Drawing::Point(368, 21);
this->button2->Name = L"button2";
this->button2->Size = System::Drawing::Size(238, 36);
this->button2->TabIndex = 16;
this->button2->Text = L"Qo\'shish\r\n";
this->button2->UseVisualStyleBackColor = true;
this->button2->Click += gcnew System::EventHandler(this, 
&Form1::button2_Click);
// 
// groupBox9
// 
this->groupBox9->Controls->Add(this->textBox9);
this->groupBox9->Location = System::Drawing::Point(16, 168);
this->groupBox9->Name = L"groupBox9";
this->groupBox9->Size = System::Drawing::Size(200, 66);
this->groupBox9->TabIndex = 15;
this->groupBox9->TabStop = false;
this->groupBox9->Text = L"...ga ";
// 
// textBox9 // 
this->textBox9->Location = System::Drawing::Point(6, 29);
this->textBox9->Name = L"textBox9";
this->textBox9->Size = System::Drawing::Size(188, 30);
this->textBox9->TabIndex = 0;
// 
// groupBox11
// 
this->groupBox11->Controls->Add(this->textBox11);
this->groupBox11->Location = System::Drawing::Point(16, 96);
this->groupBox11->Name = L"groupBox11";
this->groupBox11->Size = System::Drawing::Size(200, 66);
this->groupBox11->TabIndex = 13;
this->groupBox11->TabStop = false;
this->groupBox11->Text = L"Tel_raqami";
// 
// textBox11
// 
this->textBox11->Location = System::Drawing::Point(6, 29);
this->textBox11->Name = L"textBox11";
this->textBox11->Size = System::Drawing::Size(188, 30);
this->textBox11->TabIndex = 0;
// 
// groupBox12
// 
this->groupBox12->Controls->Add(this->textBox12);
this->groupBox12->Location = System::Drawing::Point(16, 24);
this->groupBox12->Name = L"groupBox12"; this->groupBox12->Size = System::Drawing::Size(200, 66);
this->groupBox12->TabIndex = 12;
this->groupBox12->TabStop = false;
this->groupBox12->Text = L"Sayohat_turi";
// 
// textBox12
// 
this->textBox12->Location = System::Drawing::Point(6, 29);
this->textBox12->Name = L"textBox12";
this->textBox12->Size = System::Drawing::Size(188, 30);
this->textBox12->TabIndex = 0;
// 
// groupBox13
// 
this->groupBox13->Controls->Add(this->textBox13);
this->groupBox13->Location = System::Drawing::Point(16, 163);
this->groupBox13->Name = L"groupBox13";
this->groupBox13->Size = System::Drawing::Size(200, 66);
this->groupBox13->TabIndex = 11;
this->groupBox13->TabStop = false;
this->groupBox13->Text = L"..dan ";
// 
// textBox13
// 
this->textBox13->Location = System::Drawing::Point(6, 29);
this->textBox13->Name = L"textBox13";
this->textBox13->Size = System::Drawing::Size(188, 30);
this->textBox13->TabIndex = 0; // 
// groupBox15
// 
this->groupBox15->Controls->Add(this->textBox15);
this->groupBox15->Location = System::Drawing::Point(16, 98);
this->groupBox15->Name = L"groupBox15";
this->groupBox15->Size = System::Drawing::Size(200, 66);
this->groupBox15->TabIndex = 9;
this->groupBox15->TabStop = false;
this->groupBox15->Text = L"Ismi";
// 
// textBox15
// 
this->textBox15->Location = System::Drawing::Point(6, 29);
this->textBox15->Name = L"textBox15";
this->textBox15->Size = System::Drawing::Size(188, 30);
this->textBox15->TabIndex = 0;
// 
// groupBox16
// 
this->groupBox16->Controls->Add(this->textBox16);
this->groupBox16->Location = System::Drawing::Point(16, 24);
this->groupBox16->Name = L"groupBox16";
this->groupBox16->Size = System::Drawing::Size(200, 66);
this->groupBox16->TabIndex = 8;
this->groupBox16->TabStop = false;
this->groupBox16->Text = L"Familiyasi";
//  // textBox16
// 
this->textBox16->Location = System::Drawing::Point(6, 29);
this->textBox16->Name = L"textBox16";
this->textBox16->Size = System::Drawing::Size(188, 30);
this->textBox16->TabIndex = 0;
// 
// panel1
// 
this->panel1->Controls->Add(this->dataGridView1);
this->panel1->Controls->Add(this->panel3);
this->panel1->Controls->Add(this->panel2);
this->panel1->Controls->Add(this->label2);
this->panel1->Controls->Add(this->button2);
this->panel1->Location = System::Drawing::Point(4, 9);
this->panel1->Name = L"panel1";
this->panel1->Size = System::Drawing::Size(613, 453);
this->panel1->TabIndex = 1;
this->panel1->Visible = false;
// 
// dataGridView1
// 
this->dataGridView1->ColumnHeadersHeightSizeMode = 
System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize
;
this->dataGridView1->Columns->AddRange(gcnew cli::array< 
System::Windows::Forms::DataGridViewColumn^  >(7) {this->Column1,  this->Column7, this->Column2, this->Column3, this-
>Column4, this->Column5, this->Column6});
this->dataGridView1->Location = System::Drawing::Point(23, 
349);
this->dataGridView1->Name = L"dataGridView1";
this->dataGridView1->Size = System::Drawing::Size(583, 101);
this->dataGridView1->TabIndex = 20;
// 
// panel3
// 
this->panel3->Controls->Add(this->groupBox12);
this->panel3->Controls->Add(this->groupBox9);
this->panel3->Controls->Add(this->groupBox11);
this->panel3->Location = System::Drawing::Point(371, 71);
this->panel3->Name = L"panel3";
this->panel3->Size = System::Drawing::Size(235, 256);
this->panel3->TabIndex = 19;
// 
// panel2
// 
this->panel2->Controls->Add(this->groupBox16);
this->panel2->Controls->Add(this->groupBox15);
this->panel2->Controls->Add(this->groupBox13);
this->panel2->Location = System::Drawing::Point(23, 71);
this->panel2->Name = L"panel2";
this->panel2->Size = System::Drawing::Size(242, 256);
this->panel2->TabIndex = 18;
//  // Column1
// 
this->Column1->HeaderText = L"ID";
this->Column1->Name = L"Column1";
// 
// Column7
// 
this->Column7->HeaderText = L"Ismi";
this->Column7->Name = L"Column7";
// 
// Column2
// 
this->Column2->HeaderText = L"Familiyasi";
this->Column2->Name = L"Column2";
// 
// Column3
// 
this->Column3->HeaderText = L"Tel_raqami";
this->Column3->Name = L"Column3";
// 
// Column4
// 
this->Column4->HeaderText = L"Sayohat_turi";
this->Column4->Name = L"Column4";
// 
// Column5
// 
this->Column5->HeaderText = L"..dan"; this->Column5->Name = L"Column5";
// 
// Column6
// 
this->Column6->HeaderText = L"...ga";
this->Column6->Name = L"Column6";
// 
// Form1
// 
this->AutoScaleMode = 
System::Windows::Forms::AutoScaleMode::None;
this->ClientSize = System::Drawing::Size(624, 478);
this->Controls->Add(this->panel1);
this->Controls->Add(this->tabControl1);
this->Font = (gcnew System::Drawing::Font(L"Tahoma", 14.25F, 
System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
static_cast<System::Byte>(0)));
this->Margin = System::Windows::Forms::Padding(5);
this->Name = L"Form1";
this->StartPosition = 
System::Windows::Forms::FormStartPosition::CenterScreen;
this->Text = L"Sayohat";
this->tabControl1->ResumeLayout(false);
this->tabPage1->ResumeLayout(false);
this->tabPage1->PerformLayout();
this->groupBox2->ResumeLayout(false);
this->groupBox2->PerformLayout();
this->groupBox1->ResumeLayout(false); this->groupBox1->PerformLayout();
this->tabPage2->ResumeLayout(false);
this->tabPage2->PerformLayout();
this->groupBox4->ResumeLayout(false);
this->groupBox4->PerformLayout();
this->groupBox5->ResumeLayout(false);
this->groupBox5->PerformLayout();
this->groupBox3->ResumeLayout(false);
this->groupBox3->PerformLayout();
this->groupBox9->ResumeLayout(false);
this->groupBox9->PerformLayout();
this->groupBox11->ResumeLayout(false);
this->groupBox11->PerformLayout();
this->groupBox12->ResumeLayout(false);
this->groupBox12->PerformLayout();
this->groupBox13->ResumeLayout(false);
this->groupBox13->PerformLayout();
this->groupBox15->ResumeLayout(false);
this->groupBox15->PerformLayout();
this->groupBox16->ResumeLayout(false);
this->groupBox16->PerformLayout();
this->panel1->ResumeLayout(false);
this->panel1->PerformLayout();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^  
>(this->dataGridView1))->EndInit();
this->panel3->ResumeLayout(false);
this->panel2->ResumeLayout(false);
this->ResumeLayout(false); }
#pragma endregion
private: System::Void groupBox1_Enter(System::Object^  sender, 
System::EventArgs^  e) {
 }
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  
e) {
 tabControl1->Visible = false;
 panel1->Visible = true;
 }
 int i;
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  
e) {
 String^ismi = ""+textBox15->Text;
 String^familiyasi = ""+textBox16->Text;
 String^tel_raqami = ""+textBox11->Text;
 String^sayohat_turi = ""+textBox12->Text;
 String^dan = ""+textBox13->Text;
 String^ga = ""+textBox9->Text;
 dataGridView1->Rows->Add(""+
(i+1),ismi,familiyasi,tel_raqami,sayohat_turi,dan,ga);
i++;
 }
private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  
e) {
  tabControl1->Visible = false;
 panel1->Visible = true;
 } };
}
Dasturni ishga tushirib kerakli ma’lumotlarni kiritib oldik va quyidagi natijaga 
ega bo’ldik.
6-rasm. 7-rasm. 8-rasm.
9-rasm. X ulosa
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. Foydalanilgan adabiyotlar
1. “Visual studio 2013: windows forms ilovalar” Boris Paxanov Erali Eshonqulov
tarjimasi 2016.
2. “Dasturlash   asoslari”   o’quv-uslubiy   qo’llanma,   Erali   Eshonqulov,   F.  Meliyev,
O, Yusupov
3. https://tami.uz/matnga_qarang.php?id=176
4. https://www.homeandlearn.co.uk/csharp/csharp.html
5. https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/
6. https://www.softwaretestinghelp.com/c-sharp/introduction-to-csharp/
7. https://github.com/RobinKa/netprints

“PROGRAMMALASH ASOSLARI” FANIDAN “SAYOHAT AGENTLIGI” Mundarija KIRISH ......................................................................................................................... 2 Visual C + + haqida ...................................................................................................... 3 “Sayohat agentligi” loyihasi ........................................................................................ 8 Xulosa .......................................................................................................................... 38 Foydalanilgan adabiyotlar ......................................................................................... 39

KIRISH Vizual dasturlashni qo’llab-quvvatlaydigan juda ko’plab instumentlar mavjud. Bular qatoriga Borland Delphi, Borland C++ Builder, Embarcadero RAD Studio, Visual Studio va boshqalarni keltirib o’tishimiz mumkin. Ulardan qaysi birini tanlash esa dasturchining o’ziga bog’liq. Lekin shuni unutmaslik kerakki, garchi ulardan qo’llaniladigan dasturlash tili turlicha bo’lsa-da, ularning barchasining asosida bir xil uslub yotadi. Biz ushbu kitobda instrument sifatida Microsoftning mahsuloti bo’lmish Visual Studio integrallashgan muhitini tanladik. Chunki bu instrument so’nggi yillarda eng ommalashgan muhitlardan biri bo’lib kelmoqda. Biz yaratayotgan loyihalarimizning asosiy qismi Windows muhiti uchun ishlab chiqarilishini inobatga olsak, aynan ushbu muhitni tanlaganimiz bejiz emas. Chunki ushbu integrallashgan muhit Windows OS ning juda ko’p funksiyalarini o’z ichiga jamlagan bo’lib, loyiha tuzayotganda ulardan keng miqyosida foydalanamiz. Uning tarkibida bir qancha kutubxonalarda bu funksiyalar joylashib, ularga murojaat etish orqali, bir qancha amallarni osongina hal etishimiz mumkin Ushbu kitobda Visual Studio 2013 integrallashgan muhitida Formalar yordamida ilovalar yaratish haqida so’z yuritiladi. Windows Forms texnologiyasi komponentalarga asoslanadi. Bu komponentalarni birlashtirib, turli xil ilovalarni yaratishni ko’rib o’tamiz. Komponenta - bu visual dasturlashning asosiy tushunchalaridan biridir. Ta’bir joiz bo’lsa, komponenta – “g’isht” bo’lsa, ularni birlashtirib turuvchi ilova esa “uy”dir. Biz bu g’ishtlarni birlashtirib, uy, hattoki, uylar yasashimiz mumkin. Uyimiz qanchalik sifatli chiqishini istasak, g’ishtimizni sifatli va mustahkam qilib terishimiz kerak. Poydevor qanchalik mustahkam bo’lsa, uy ham shuncha baquvvat va ko’rkam bo’ladi. Inson va ma’lumotlarga ishlov berish o’rtasidagi aloqa kompyuter dasturlari orqali boshqariladi. Markaziy protsessor (CRI) belgilari to’plami ikkita belgigacha “0” va “1” yoki “yoqilgan” va “o’chirilgan” bilan chegeralangan.

Visual C + + haqida Visual studio Microsoft uchun mo’ljallangan dasturlash muhiti hisoblanadi. U console (boshqaruv paneli) va grafik interfeysli dasturlar, shu bilan birga Windows tarkibidagi dasturlar, veb-saytlar, veb dasturlar, va veb xizmatlarni tarkibidagi hamda boshqa kodlar yordamida Microsoft Windows, Windows Phone, Windows CE, .Net Framework, .Net Compact Framework va Microsoft Silverlight kabi dasturlar muhitlarini daturashda ishlatialdi. Visual Studio muhitidada dastrur tuzish uchun bir qancha elementlar: menyular paneli, standart uskunalar paneli, ochiq yoki ekranning o’ng, chap, yuqori, yoki pastki qismida avtomatik yashiringan turli xildagi qo’shimcha uskunalar joylashgan. Visual Studioda Console Interfeys ilovada ishlashni hosil qilish uchun quyidagi amallarni bajarish lozim. Dastlab asosiy oynadan “New Project” qismi orqali, “File” tugmasi orqali, “New” tugmasini tanlab, “Project” qismini tanlanadi, yoki “Ctrl+Shift+A” tugmalarini bosishimiz mumkin. Visual C++ da dasturlar ilovalar deb nomlanadi. Ilovalar maxsus konstruksiya ko’rinishidagi muhitda – foydalanuvchi uchun bir qancha fayllar majmui ko’rinishidagi loyihada yaratiladi. C tilidagi dastur bu – belgilangan talablarga javob beruvchi, maxsus dasturlash tuzilishiga ega funksiyalar majmuidir. Ilova – bu ichida ilova algoritmini amalga oshiruvchi operatorlar joylashtirilgan asosiy funksiyadir. Operatorlar ichida shundaylari ham borki, ular algoritmni amalga oshishida talab qilinadigan boshqa funksiyalarni chaqirishga xizmat qiladi. Ixtiyoriy dasturni ishga tushirish, dasturning qolgan barcha qismini o’zida jamlagan asosiy funksiyani ishga tushirishdan boshlanadi. Funksiyaning bir qismi dasturchi tomonidan, qolgan qismi – kutubxona funksiyalari – foydalanuvchiga dasturiy muhit tomonidan taqdim qilinadi va dasturni ishlab chiqish jarayonida foydalaniladi. Yaratiluvchi ilovalarni 2 ta katta kategoriyaga ajratish mumkin. Ular ishchi stol ilovalari va Windows 8 ilovalaridir. Ishchi stol ilovalari bu biz bilgan va sevadigan ilovalardir. Ular menyu paneli, instrumentlar paneli va ko’pincha ilova oynasining pastki qismida joylashgan holatlar

satriga ega bo’ladilar. Biz ushbu fanda ishchi stol ilovalarini yaratishni maqsad qilib qo’ydik. Windows 8 ilovalari ishchi stol ilovalaridan ancha farqli. Ularda foydalanuvchi interfeysi mavjud bo’lib u ishchi stol ilovalaridan butunlay farq qiladi. Foydalanuvchining to’g’ridan to’g’ri ma’lumotlar bilan bog’lanishi diqqat markazidadir. 1.2. Microsoft Visual C++ da konsol ilova dasturlar yaratish C/C++ ni o’rganishda biz maxsus ilovalar ko’rinishidan foydalanamiz – shablonlarni tayyorlash muhitida oldindan tayyorlangan konsol ilovalar asosida shakllantiriladi. Konsol ilovalar – bu grafik interfeyssiz ilovalar bo’lib, ular foydalanuvchi bilan maxsus buyruqlar satri orqali o’zaro aloqada bo’ladi yoki asosiy menyu muhitidagi maxsus buyruqlar bilan ishga tushiriladi. Bunday ilovalar File/New Project buyrug’i bajarilishidan so’ng ochiluvchi dialog oynasiga ega bo’lgan maxsus shablonlar yordamida yaratiladi. Konsol ilovalar shabloni yaratiluvchi ilovaga barcha zarur elementlarni qo’shadi, shundan so’ng dasturchi bu shablonga o’zining C/C++ tilidagi operatorlarini qo’shadi. Keyin ilova avtonom ishga tushuvchi fayl sifatida kompilyatsiyalanadi va bajarish uchun ishga tushirilishi mumkin. Foydalanuvchi bilan muloqot ilova ishga tushirilgandan so’ng ochiluvchi maxsus konsol oynasi orqali amalga oshiriladi (shu oynada dastur habarlari tasvirlanadi, u orqali hisoblash uchun ma’lumotlar kiritiladi va uning o’ziga hisoblangan natijalar chop qilinadi). Kompilyatsiya va proyektni bitta joyga jamlash asosiy menyuning Build buyrug’I orqali amalga oshiriladi. Kompilyatsiya va proyektni bir joyga yig’ishdan so’ng uni bajarish uchun ishga tushirish mumkin. Bajarilish uchun ishga tushurish asosiy menyuning Debbug buyrug’i yordamida amalga oshiriladi. Konsol ilovalar yaratish uchun quyidagi qadamlarni bajarish zarur: 1. Visual C++ ni ishga tushirish. 2. Asosiy menyuning File/New/Project buyrug’ini bajarish. 3.1 – rasmdagi dialog oynasi hosil bo’ladi. Unda quyidagilarni ketma – ket bajaring: Win32 bandini tanlang; Win32 Console Application qismini tanlang; Ilovaning saqlanish joyini ko’rsatish uchun “Browse…” tugmasidan foydalaning; Name maydoniga hosil qilinuvchi ilova nomini kiriting; OK tugmasini bosing.

Inson harflardan, raqamlardan, tasvirlardan foydalanadi. Inson va mashina o’rtasidagi interfeysni (muloqotni), (kodlashtirish)ni dasturiy ta’minot tartibga solib turadi. Bu vazifadan tashqari kompyuter dasturi operatsion tizimi ko’rinishida kompyuterni butun apparat qismini boshqarilishini tartibga soladi. Shunday qilib dasturiy ta’minot ikki qismga bo’linadi:  tizimli dastur ko’rinishidagi apparat qismining boshqarilishi  muammolarning yechilishiga qaratilgan amaliy dasturlar Bu bilan bir qatorda tizimli va amaliy dasturlar ishlab chiqish va kompyuter xizmatini yengillashtirish uchun bir qator dasturlash tillari va qo’llash servisi mavjud. Tizimli dastur shu bilan birga, kompyuter va unga tegishli periferiyalardan foydalanishga imkon beradi. Tizimli dasturlarga foydalanuvchining ma’lumotlarga ishlov berish tizimining ishlash tamoyillari bo’yicha keyingi texnik belgilarga ega bo’lishini talab qilmasdan, masalani kiritish va chiqarish boshqaruvini tayyorlaydigan operatsion tizimlarini o’z ichiga oladi. Xizmat uchun belgilangan va yordamchi