C++ լեզուն լռելյայն վերահսկում է նախաարժեքավորումը, բայց ոչ թե մուտքագրումը

Слайд 2

Validating an integer input int num=0; cout cin >> num; //Քանի

Validating an integer input

int num=0;
cout << "Enter an integer: ";
cin

>> num;
//Քանի դեռ մուտքագրվածն ամբողջ թիվ չէ, հուշել օգտագործողին՝ մուտքագրել ամբողջ թիվ
while (!cin)
{
cout << "That was no integer! Please enter an integer: ";
cin.clear();
cin.ignore(); //կամ՝ cin.ignore(10000) այն դեպքերում, երբ կանխատեսվում է մուտքային տվյալների ավելի մեճ շղթա.
cin >> num;
}
Слайд 3

cin.clear() ֆունկցիան զրոյացնում է սխալի նշիչը (clears the error flag on

cin.clear() ֆունկցիան զրոյացնում է սխալի նշիչը (clears the error flag on cin )

այնպես, որ մուտք/ելքի հետագա գործողությունները ճշգրիտ իրականացվեն, իսկ

cin.ignore(10000, '\n') հրամանով անտեսվում է այն ամենը, ինչը որ մուտքագրվել էր այդ տողում՝ ոչ համապատասխան տվյալների հետ կապված սխալների բացառման նպատակով:
Նշենք, որ այս դեպքում անտեսվելու են ընդամենը նշված քաբակով նիշերի մուտքը դեպի ծրագիր….

Մուտքային գործողության ձախողման դեպքում cin.fail() - ֆունկցիան վերադարձնում է 1:
Իսկ երբ cin-ը ձախողվում է, մուտքային բուֆերը մնում է սխալական վիճակում…

Слайд 4

Հետևեք, որպեսզի բացասական թվային արժեքները չուղղվեն դեպի unsigned դաշտեր, այլապես կկորցնեք մուտքային ինֆորմացիան

Հետևեք, որպեսզի բացասական թվային արժեքները չուղղվեն դեպի unsigned դաշտեր, այլապես կկորցնեք

մուտքային
ինֆորմացիան
Слайд 5

#include #include int main() { cout ::lowest() cout ::max() } Տվյալների հիմնային տիպերի վերաբերյալ տեղեկության բացահայտումը

#include
#include
int main()
{
cout << std::numeric_limits::lowest() << endl;
cout << std::numeric_limits::max()

<< endl;
}

Տվյալների հիմնային տիպերի վերաբերյալ տեղեկության բացահայտումը

Слайд 6

Վերահսկել int –ի սահմանները Հատկացնել ավելի մեծ պահուստային հիշողություն, օր.՝ long

Վերահսկել int –ի սահմանները

Հատկացնել ավելի մեծ պահուստային հիշողություն, օր.՝ long long

int, int64…(sizeof()..): Մուտքագրելուց հետո կարելի է հավաստիացնել ավանդական int-ի սահմանները
Մուտքագրել char* կամ striing տիպի դաշտեր, որից հետո՝ համոզվելով, որ մուտքագրվածն ամբողջովին թվանշաններից է բաղկացած (համապատասխան գրադարանային ֆունկցիաների միջոցով), մուտքային տվյալը կերպափոխել նպատակայինի: Նշենք, որ այս դեպքում վերանում է signed/unsigned ռիսկը…