8 - mustaqil ish.
1-savol.
Faylga ma’lumot yozish uchun fayl qanday yaratiladi va elon qilinadi? Fayldan o’qishdachi? C++ ma’lumotlar oqimini ifodalashda stream ifodasini ishlatadi. Agar ma’lumotlar oqimi dasturga kirsa, unda oqim kirish oqimi (input stream) deb ataladi. Agar ma’lumotlar oqimi dasturdan chiqsa chiqish oqimi (output stream) deb ataladi. Kirish va chiqish oqimlarini ishlatib ko`rganmiz. cin (console input) klaviaturadan o`qish uchun, oldindan ob’yektni aniqlab qo`yadi, cout (console output) konsolga belgilarni chop etish uchun, oldindan ob’yektni aniqlab qo`yadi. C++ fayllarga ishlov berish va ularni boshqarish uchun ifstream, ofstream, va fstream sinflarini taqdim etadi. Bu sinflar – kutubxona faylida aniqlangan. ifstream sinfi fayldan o`qish uchun, ofstream sinfi faylga yozish uchun va fstream sinfi faylga yozish va fayldan o`qish maqsadlarida qo`llanilishi mumkin.Bizda fstream shu nomli kutubxona bo’lganligi uchun (ofstream) sinifi aniqlanadi va bizning kutubxona faylni chaqirib oladi.
2-savol.
Faylning mavjud ekanligi qanday tekshiriladi? Faylning oxirini tekshirish qanday amalga oshiriladi? Bizning dasturda fayl mavjud bo’lmasa dastur xató o’qiydi. Bizning dasturda fayl bor yo yo’qligini bilishimiz kerak va biz open funksiyadan so’ng biz darxol fail( ) funksiyasini chaqiramiz .Agar fayl rost (true) bo’lsa bizga fayl yo’qligidan darak beradi.
3-savol.
Getline va get funksiyalarininig farqlari nimalardan iborat?
Tarkibida bo`sh jo`ylari mavjud bo`lgan satrlarni getline funksiyasi orqali o`qitishni o`rgangan edik. Biz aynan o`sha funksiyadan fayldagi satrli ma’lumotlarni o`qitishda ham foydalanishimiz mumkin. getline funksiyasi sintaksisiga qayta murojaat qilamiz. Funksiya ma’lumotlar o’qishda tasodifiy ravishda fayl so’ngida to’ztaydi. getline funksiya iostream - kutubxona faylida aniqlangan. Biz endi bitta belgini o’qishda get funksiyasdan foydalanamiz . Get funksiyasi ikki xil ko’rinishda bo’ladi. Bulardan kiritish ob’yektidan belgini qaytaradi. Ikkinchi versiyasi belgili argumentning havolasini yuboradi, belgini kiritish ob’yektidan o`qiydi va uni ch ga yozadi. Shuningdek bu funksiya, kiritish (input) ob’yekti ishlatganda, unga havolani yuboradi.
4-savol.
Fayil belgilarini yozish uchun biz Put funksiyasini chaqirishimiz kerak , bu funksiya bitta belgi yozadi . Biz belgin o’qishimiz uchun get funksiyasidan murajat qilsak bo’ladi.
Void put (charch)
Kabi ko’rinishda bo’ladi.Output esa ma’lumot belgisini chiqaradi.
5- savol.
Fayllarni yaratish rejimlari(mode) haqida ma’lumotlar keltiring.
Alternativ ravishda, kirish yoki chiqish oqimini hosil qilishda fstream sinfidan foydalanishimiz mumkin. Agar dasturimizda kirish va chiqish oqimlarining har ikkalasi uchun ham bitta oqim ob’yekti hosil qilish talab etilsa, bu talabga fstream sinfi mos tushadi. fstream faylni ochishda, C++ ga fayldan qanday foydalanishni aytib beruvchi faylni ochish shakli ni belgilab olishimiz zarur bo`ladi.
7 – savol.
#include
#include
using namespace std;
int main()
{
ifstream input;
input.open("d:\\Mashq13_4.txt");
if(input.fail())
{
cout << "Fayl mavjud emas\nDasturdan chiqing\n";
return 0;
}
int text[100];
int i = 0;
while(!input.eof())
{
input >> text[i];
if(input.eof()) break;
i++;
}
for(int i = 0; i < 100; i++)
for(int j = 0; j < 100; j++)
{
if(text[i] < text[j])
{
int temp = text[i];
text[i] = text[j];
text[j] = temp;
}
}
input.close();
ofstream output("d:\\Mashq13_4.txt");
for(int i = 0; i < 100; i++)
{
output << text[i] << " ";
}
output.close();
return 0;
}
9-savol.
Dastur kodi quidagicha
#include
#include
#include
#include
using namespace std;
int main()
{
ifstream input;
input.open("d:\\Mashq13_3.dat");
if(input.fail())
{
ofstream output("d:\\Mashq13_3.dat");
cout << "Fayl yaratildi\nDasturdan chiqish\n";
return 0;
}
input.close();
ofstream output("d:\\Mashq13_3.dat");
srand(time(0));
for(int i = 0; i < 100; i++)
{
output << rand() % 100 << " ";
}
output.close();
return 0;
}
Do'stlaringiz bilan baham: |