Так как из-за структуры языка все символы, вводимые для типа int превращаются в 0, то после ввода в main можно проверяться на наличие нуля. Это никак не навредит программе, поскольку в датах не может быть нуля.
Кодint main()
{
int day = 0, month = 0, year = 0;
cout << "Ilya (d//m//y): ";
cin >> day >> month >> year;
if((day == 0) || (month == 0) || (year == 0)){
cout << "Вы ввели неверные данные!";
return 0;
}
else{
// ...
}
return 0;
}
ПроверкаIlya (d//m//y): six 3 1999
Вы ввели неверные данные!
Ilya (d//m//y): ( 8 1954
Вы ввели неверные данные!
x2, y2 - конец отрезка
x0, y0 - координаты точки принадлежность которой мы будем проверять
Вывод будет True, если принадлежит, False, если не принадлежит.
Программа:
program fff;
const _Eps: Real = 1e-3;
var x0, y0, x1, y1, x2, y2 : real; tmp : boolean; begin
readln(x1, y1); readln(x2, y2); readln(x0, y0); tmp := ((x0 - x1) * (y2 - y1) - (y0 - y1) * (x2 - x1)) <= _Eps; tmp := tmp and ( ((x1 < x0) and (x0 < x2)) or ((x2 < x0) and (x0 < x1)) ); write(tmp); end.