Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Muasir proq dil C++.doc
Скачиваний:
15
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆

9.5. Faylın bağlanması

Faylla işi qurtardıqdan sonra onu bağlamaq lazımdır. Proq­ram öz işini sona çatdırdıqdan sonra faylın obyekti avtomatik ola­raq, bağlanır. Hər bir açıq fayl sistemin resurslarını tələb et­diyində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ə­ya­ta 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 kla­viaturadan daxil edilməsi üçün istifadə olunan >> - ardıcıl da­xil etmə operatoru istifadə olunur. Yeganə fərq ondan iba­rət­dir ki, cin obyekti əvəzinə ifstream və ya fstream obyekti istifadə olunur.

Misal 9.2. Aşağıdakı proqram informasiyanı telebe.dat fay­­­lı­na yazır, proqram onu fayldan oxuyur və onu ekrana çı­xa­­­rı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;

}

  1. Strukturlar və siniflər

    1. Strukturlar və onların elanı

Obyektyönlü proqramlaşdırmada struktur və sinif anla­yı­ş­la­rın­­dan çox tez-tez istifadə olunur.

Obyektləri bir dəyişənlə təsvir etmək üçün onlar çox mü­rək­kəb­dirlər. Massiv çoxlu sayda dəyişən saxlaya bilər, la­kin 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əhdud­lan­mır. Məsələn, tələbə dedikdə burada hər hansı ümumi xarak­te­­ri­sti­kalar olur - onların adları, topladığı ballar, boyları, oxu­duqları fakültə və s. Onlardan hər birinin qiymətini dəyişəndə sax­la­maq 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ə ola­raq, 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++ -­da­kı adi int və ya C–sətir tipləri deyil. Həqiqətdə bu proq­ramçı 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;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]