Skip to content

Kiritishni tekshirish (Input Validation)

Kiritishni tekshirish

Foydalanuvchilar dasturga ma'lumot kiritganda kutilmagan narsa yozishi mumkin. Kiritishni tekshirish dasturingiz davom etishidan oldin kiritish to'g'ri ekanligiga ishonch hosil qiladi.

Tekshirishsiz dasturingiz to'xtab qolishi yoki noto'g'ri ishlashi mumkin!

Quyidagi misollar foydalanuvchi kiritishini tekshirishning oddiy usullarini ko'rsatadi.


Butun son kiritishni tekshirish

Foydalanuvchi raqam kiritganiga ishonch hosil qiling. Agar boshqa narsa (masalan, harf) kiritsalar, qayta so'rang:

MISOL

cpp
int number;
cout << "Raqam kiriting: ";
while (!(cin >> number)) {  // Foydalanuvchi to'g'ri raqam kiritguncha so'rash
  cout << "Noto'g'ri kiritish. Qaytadan urinib ko'ring: ";
  cin.clear(); // Kiritish xatolarini tiklash
  cin.ignore(10000, '\n'); // Noto'g'ri kiritishni o'chirish
}
cout << "Siz kiritdingiz: " << number;

Natija:

Raqam kiriting: f
Noto'g'ri kiritish. Qaytadan urinib ko'ring: 3
Siz kiritdingiz: 3

Raqam diapazonini tekshirish

Raqam ruxsat etilgan diapazonda ekanligini tekshiring (masalan, 1 dan 5 gacha):

MISOL

cpp
int number;
do {
  cout << "1 va 5 orasida raqam tanlang: ";
  cin >> number;
} while (number < 1 || number > 5);  // Raqam 1 va 5 orasida bo'lguncha so'rash

cout << "Siz tanladingiz: " << number;

Natija:

1 va 5 orasida raqam tanlang: 8
1 va 5 orasida raqam tanlang: -2
1 va 5 orasida raqam tanlang: 4
Siz tanladingiz: 4

Matn kiritishni tekshirish

Ism bo'sh emasligini tekshiring:

MISOL

cpp
string name;
do {
  cout << "Ismingizni kiriting: ";
  getline(cin, name);
} while (name.empty());  // Foydalanuvchi biror narsa kiritguncha so'rash

cout << "Salom, " << name;

Natija:

Ismingizni kiriting:
Ismingizni kiriting:
Ismingizni kiriting: Anvar
Salom, Anvar

MASLAHAT

cin obyekti haqida ko'proq ma'lumot uchun iostream manbasi sahifasiga o'ting.