3- ma’ruza. O‘qish-yozish oqimlari (cin, cout) Reja
cin operatori va ignore funksiyasi
Download 0.76 Mb. Pdf ko'rish
|
Maruza 3
- Bu sahifa navigatsiya:
- Yozish oqimi (cout)
cin operatori va ignore funksiyasi
Agarda berilganlar oqimidan faqat kerakli qismini kiritish kerak bo‘lsa, unda kiritish oqimining ignore funksiyasidan foydalanish mumkin. ignore funksiyasining sintaksisi quyidagicha: cin.ignore(inexp, chexp);
ignore funksiyasi ikkita parametrdan tashkil topgan bo‘lib, birinchi parameter int turida, ikkinchi parametri char belgi turida, misol tariqasida quyidagi dasturni ko‘raylik: O‘zgaruvchilar qiymati quyidagicha bo‘lsin int a, b; cin >> a; cin.ignore(100, '\n'); cin >> b; Quyidagi qiymatlar kiritilsin: 25 67 89 43 72 12 78 34
Bu yerda Kiritish oqimi 25 qiymatini a o‘zgaruvchisiga o‘qiydi Ikkinchi operator cin.ignore(100, '\n');, ‘\n’ – belgisigacha inkor qiladi va cin >> b, kiritish operatori 12 qiymatini b o‘zgaruvchisiga o‘qib oladi.
3. Yozish oqimi (cout) Berilganlarni oqimga chiqarish uchun cout kalit so‘zidan va << operatoridan foydalaniladi. cout << soni;
Bir nechta o‘zgaruvchiga ham kiritish oqimidan berilganlarni kiritish mumkin, quyidagicha: cout << soni << vazni; shuningdek, yuqoridagi operatorni quyidagicha yozish mumkin: cout << soni; cout << vazni;
Berilganlarni turli formatda va ko‘rinishda chop etish uchun manipulyatorlardan foydalaniladi. Manipulyatorlarni dasturda ishlatish uchun iomanip kutubxonasidan foydalanish kerak.
fixed manipulyatori haqiqiy sonni fiksirlangan nuqtali ko‘rinishda chop etadi. Ushbu manipulyatordan foydalanish imkonini cout.unsetf(ios::fixed); funksiyasi orqali o‘chirib qo‘yish mumkin. scientific manipulyatori esa haqiqiy sonni ilmiy formatda (eksponensial) chop etishda ishlatiladi.
#include using namespace std; int main() { double hours = 35.45; double rate = 15.00; double tolerance = 0.01000; cout << "hours = " << hours << ", rate = "
cout << scientific; cout << "Scientific notation: " << endl; cout << "hours = " << hours << ", rate = " << rate << ", pay = " << hours * rate << ", tolerance = " << tolerance << endl << endl; cout << fixed; cout << "Fixed decimal notation: " << endl; cout << "hours = " << hours << ", rate = " << rate << ", pay = " << hours * rate << ", tolerance = " << tolerance << endl << endl; return 0; } Dastur natijasi: hours = 35.45, rate = 15, pay = 531.75, tolerance = 0.01 Scientific notation: hours = 3.545000e+001, rate = 1.500000e+001, pay = 5.317500e+002, tolerance = 1.000000e-002 Fixed decimal notation: hours = 35.450000, rate = 15.000000, pay = 531.750000, tolerance = 0.010000
setprecision manipulyatori haqiqiy sonlarni chop etishda ishlatiladi. Bu manipulyator orqali son kasr qismining nechta raqamini chop etish keraklagini aniqlash imkoni tug‘iladi. cout << setprecision(2); double d=123.456; cout << fixed << setprecision(2); cout << d;
Dastur natijasi: 123.45 soni ekranga chop etiladi. setw manipulyatori o‘zgaruvchi yoki ifoda qiymati natijalarini maxsus kataklarda (joy) chiqarish imkonini beradi. setw(n) – ko‘rinishida beriladigan ushbu manipulyatorda n – nechta katakchada chiqarish kerakligini aniqlaydi.
#include using namespace std; int main() { int x = 19; int a = 345; double y = 76.384; cout << fixed << showpoint; cout << "12345678901234567890" << endl; cout << setw(5) << x << endl; cout << setw(5) << a << setw(5) << "Hi" << setw(5) << x << endl << endl; cout << setprecision(2); cout << setw(6) << a << setw(6) << y
cout << setw(6) << x << setw(6) << a << setw(6) << y << endl << endl; cout << setw(5) << a << x << endl; cout << setw(2) << a << setw(4) << x << endl; return 0; } Dastur natijasi: 12345678901234567890 19
345 Hi 19 |
ma'muriyatiga murojaat qiling