Kirish ma’lumoti (input) — dasturga foydalanuvchi tomonidan qiymat berish. Shu paytgacha qiymatlarni kod ichida o’zimiz yozib keldik, biroq haqiqiy dastur foydalanuvchi bilan muloqot qiladi. C++’da klaviaturadan ma’lumot olish uchun cin obyekti ishlatiladi va u ko’pincha sinf obyektlarini to’ldirishda qo’llaniladi.
cin — “character input” so’zlaridan olingan,
iostreamkutubxonasidagi standart kirish oqimi. U klaviaturadan ma’lumotni>>(oqimdan olish) operatori orqali o’qiydi.
cin bilan qiymat o’qish
cin va >> operatori foydalanuvchi kiritgan qiymatni o’zgaruvchiga joylaydi:
#include <iostream>
using namespace std;
int main() {
int yosh;
cout << "Yoshingizni kiriting: ";
cin >> yosh;
cout << "Siz " << yosh << " yoshdasiz" << endl;
return 0;
}
Yoshingizni kiriting: 26
Siz 26 yoshdasiz
cin >> yosh foydalanuvchi kiritgan sonni yosh ga o’qidi. >> yo’nalishi cout ning << iga qarama-qarshi — ma’lumot oqimdan o’zgaruvchiga “oqib kiradi”.
Sinf obyektini foydalanuvchi ma’lumoti bilan to’ldirish
Endi kirish ma’lumotini OOP bilan birlashtiramiz — foydalanuvchidan olingan qiymatlar bilan obyekt maydonlarini to’ldiramiz:
#include <iostream>
#include <string>
using namespace std;
class Talaba {
public:
string ism;
int ball;
};
int main() {
Talaba t;
cout << "Ism: ";
cin >> t.ism;
cout << "Ball: ";
cin >> t.ball;
cout << t.ism << " ballari: " << t.ball << endl;
return 0;
}
Ism: Farrux
Ball: 95
Farrux ballari: 95
Foydalanuvchi kiritgan qiymatlar to’g’ridan-to’g’ri obyekt maydonlariga joylandi. Bu real ilovalarda — ro’yxatdan o’tish, forma to’ldirish — doimo uchraydigan naqsh.
Bir necha qiymatni ketma-ket o’qish
cin ni zanjirlab, bir necha qiymatni bir qatorda o’qish mumkin. Foydalanuvchi ularni probel yoki yangi qator bilan ajratib kiritadi:
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "Ikki son kiriting: ";
cin >> a >> b;
cout << "Yig'indi: " << a + b << endl;
return 0;
}
Ikki son kiriting: 15 27
Yig'indi: 42
cin >> a >> b ikki qiymatni ketma-ket o’qidi. Bu ixcham va qulay.
Muhim: cin va getline farqi
Nozik nuqta: cin >> faqat birinchi so’zni oladi (probelgacha). Ism-familiya kabi probelli matn uchun getline(cin, ozgaruvchi) ishlatiladi. Sonlarni cin >> bilan o’qib, so’ng matn o’qishga o’tsangiz, oraliqdagi ko’rinmas yangi qator belgisiga e’tibor bering — bu ko’p boshlovchini chalkashtiradigan holat.
Xulosa
Bu bo’limda cin va >> bilan klaviaturadan qiymat o’qish, sinf obyektini foydalanuvchi ma’lumoti bilan to’ldirish, bir necha qiymatni ketma-ket o’qish va cin/getline farqini ko’rib chiqdik. Kirish ma’lumoti dasturni jonli va interaktiv qiladi. Keyingi darsda enkapsulatsiya — ma’lumotni himoyalashga o’tamiz.