- •Proqramlaşdırmanın əsasları
- •3. Yaddaş və verilənlərin tipləri
- •3.1. Yaddaş və onun növləri
- •3.2. Standart tip verilənlərin ölçüsü
- •3.3. Dəyişənlərin elan olunması
- •3.4. Konstantlar (Sabitlər)
- •3.5. İfadələr
- •4. Xətti və budaqlanan alqoritmlərin proqramlaşdırılması
- •4.1. Xətti alqoritmlərin proqramlaşdırılması
- •3.7. Tiplərin çevrilməsi
- •Müstəqil işləmək üçün tapşırıqlar
- •4.2. Giriş/çıxış operatorları
- •4.3. Budaqlanan alqoritmlərin proqramlaşdırılması
- •4.3.1. Şərt operatoru
- •4.3.3. Seçmə (variant) operatoru
- •4.3.4. Goto operatoru
- •4.3.5. Proqramın exit operatoru ilə dayandırılması
- •Müstəqil işləmək üçün tapşırıqlar
- •Dövri alqoritmlərin proqramlaşdırılması
- •5.1. Önşərtli dövr operatoru
- •5.2. Sonşərtli dövr operatoru
- •5.3. Parametrli dövr operatoru
- •5.4. Break operatoru
- •5.5. Continue operatoru
- •Müstəqil işləmək üçün çalışmalar
- •Funksiyalar
- •6.1. Funksiyanın sintaksisi
- •6.2. Funksiyanın təyin olunması
- •6.3. Funksiyanın çağırılması
- •6.4. Prototipin yaradılması
- •6.5. Lokal dəyişənlər
- •6.6. Qlobal dəyişənlər
- •6.7. Statik lokal dəyişənlər
- •6.8. Məlumatın funksiyaya göndərilməsi
- •6.9. Funksiyadan qiymətin qaytarılması
- •Müstəqil işləmək üçün tapşırıqlar
- •Massivlər
- •7.1. Birölçülü massivlər
- •7.2. İkiölçülü massivlər
- •İkiölçülü massivin ekrana çıxarılması:
- •Müstəqil işləmək üçün tapşırıqlar
- •Simvollar və sətirlər
- •8.1. Simvol və sətirlərin sintaksisi
- •Sətirlərlə işləyən funksiyalar
- •Müstəqil işləmək üçün tapşırıqlar
- •Fayllar: fayldan daxiletmə
- •Və fayla çıxış
- •Ikilik və mətn faylları
- •Fstream standart kitabxanası
- •Fayla girişin ümumi alqoritmi
- •9.4. Faylın açılması
- •9.4.1. Yazmaq üçün faylın açılması
- •9.4.2. Oxumaq üçün faylın açılması
- •9.4.3. Faylın oxumaq və yazmaq üçün açılması
- •9.5. Faylın bağlanması
- •9.6. Fayla yazmaq və fayldan oxumaq
- •Strukturlar və siniflər
- •Strukturlar və onların elanı
- •Int height;
- •Strukturun dəyişəninin elanı
- •Strukturun inisiallaşdırılması
- •Strukturların funksiya parametri kimi ötürülməsi
- •Siniflər
- •Operatorlar
- •Operatorların üstünlük dərəcəsi
- •Sərhəd qiymətlərinin sabitləri
- •Həqiqi tiplər üçün sabitlər – float.H faylı
- •C dilinin standart funksiyalar kitabxanası
- •Hesabi funksiyalar – math.H faylı
- •Standart fayllar üçün giriş-çıxış funksiyaları- stdio.H faylı
- •Sətirlərlə işləmək üçün funksiyalar- string.H, stdlib.H faylları
- •Mətn rejimində terminalla işləmək üçün funksiyalar- conio.H faylı
- •Xüsusi funksiyalar
- •Mündəricat
9.5. Faylın bağlanması
Faylla işi qurtardıqdan sonra onu bağlamaq lazımdır. Proqram öz işini sona çatdırdıqdan sonra faylın obyekti avtomatik olaraq, bağlanır. Hər bir açıq fayl sistemin resurslarını tələb etdiyindən faylla işləməni qurtardıqdan sonra onu bağladıqda proqramın məhsuldarlığı artır. Bundan başqa, bəzi əməliyyat sistemlərində açıq faylların miqdarı məhduddur.
Faylı bağlamaq parametrsiz close funksiya – həddi ilə həyata keçirilir. Aşağıdakı proqramda yazmaq üçün açılmış fayl bağlanır:
ofstream outfile;
outfile . open(“telebe. dat”);
// nə isə edirik
outfile . close();
oxumaq üçün açılmış faylın bağlanması:
ifstream infile;
infile . open(“telebe . dat”);
// nə isə edirik
infile . close();
9.6. Fayla yazmaq və fayldan oxumaq
Informasiya fayla onun ekrana çıxarılması üçün istifadə olunan << - ardıcıl çıxarma operatoru vasitəsilə yazılır. Bu zaman yeganə fərq ondan ibarətdir ki, cout obyekti və ya fstream obyekti istifadə olunur.
Informasiyanı fayldan proqrama daxil etmək üçün onun klaviaturadan daxil edilməsi üçün istifadə olunan >> - ardıcıl daxil etmə operatoru istifadə olunur. Yeganə fərq ondan ibarətdir ki, cin obyekti əvəzinə ifstream və ya fstream obyekti istifadə olunur.
Misal 9.2. Aşağıdakı proqram informasiyanı telebe.dat faylına yazır, proqram onu fayldan oxuyur və onu ekrana çıxarır.
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
char data[50];
ofstream outfile;
outfile.open("telebe.dat");
cout<<"writing to the file"<<endl;
cout<<"enter class name:";
cin.getline(data,50);
outfile<<data<<endl;
cout<<"enter number of telebe";
cin>>data;
cin.ignore();
outfile<<data<<endl;
outfile.close();
ifstream infile;
cout<<"reading from file"<<endl;
infile.open("telebe.dat");
infile>>data;
cout<<data<<endl;
infile.close();
getchar();
return 0;
}
Strukturlar və siniflər
Strukturlar və onların elanı
Obyektyönlü proqramlaşdırmada struktur və sinif anlayışlarından çox tez-tez istifadə olunur.
Obyektləri bir dəyişənlə təsvir etmək üçün onlar çox mürəkkəbdirlər. Massiv çoxlu sayda dəyişən saxlaya bilər, lakin massivdə bütün dəyişənlər eyni tip verilən olmalıdır.
Obyektlərdə qiymətlər verilənlərin bir tipi ilə məhdudlanmır. Məsələn, tələbə dedikdə burada hər hansı ümumi xarakteristikalar olur - onların adları, topladığı ballar, boyları, oxuduqları fakültə və s. Onlardan hər birinin qiymətini dəyişəndə saxlamaq olar. Lakin bu dəyişənlərin müxtəlif tip verilənləri olur. Boy tam ədəd kimi saxlana bilər, ad isə C – sətir tip dəyişən və ya C++ sətir sinfi kimi saxlana bilər.
Ad və boy dəyişənləri bir –biri ilə onunla əlaqəlidirlər ki, onlar bir adamın müxtəlif xarakteristikalarını təsvir edirlər. Lakin onları
string name
int height;
kimi elan etsək, onlar bir-biri ilə əlaqəli olmayacaq və sadəcə olaraq, iki müxtəlif dəyişənlər olacaqlar.
C++ dili bir –biri ilə əlaqəli olan dəyişənləri bir strukturda birləşdirməyə imkan verir. Struktur – bir neçə müxtəlif tip verilənlərdən ibarət dəyişənlərə malik ola bilər.
Mahiyyət etibarilə struktur – verilənlər tipidir. Lakin bu C++ -dakı adi int və ya C–sətir tipləri deyil. Həqiqətdə bu proqramçı tərəfindən təyin edilən verilənlər tipidir. Ona görə onu elan etmək lazımdır ki, kompilyator onun nə olduğunu başa düşsün. Məsələn,
struct telebe{
string name;
