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: 3Raqam 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: 4Matn 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, AnvarMASLAHAT
cin obyekti haqida ko'proq ma'lumot uchun iostream manbasi sahifasiga o'ting.
