int main()
{
double data = 0.0;
while (cin >> data)
{
if (fabs(data - 0.0) <= 0.000001) { break; }
if (data > 0.0) { cout << data - floor(data) << endl; }
else { cout << data - ceil(data) << endl; }
}
return 0;
}
bool Date(string date, int* pnYear, int* pnMonth, int* pnDay)
{
if ((NULL == pnYear) || (NULL == pnMonth) || (NULL == pnDay)) { return false; }
if (8 != date.length()) { return false; }
int nYear = atoi(date.substr(0, 4).c_str());
int nMonth = atoi(date.substr(4, 2).c_str());
int nDay = atoi(date.substr(6, 2).c_str());
if (nYear <= 0) { return false; }
if ((nMonth < 1) || (nMonth > 12)) { return false; }
if ((nDay < 1) || (nDay > 31)) { return false; }
switch (nMonth)
{
case 4:
case 6:
case 9:
case 11:
if (nDay > 30) { return false; }
break;
case 2:
{
bool bLeapYear = ((0 == nYear % 4) && (0 != nYear % 100)) || (0 == nYear % 400);
if ((bLeapYear && nYear > 29) || (!bLeapYear && nYear > 28)) { return false; }
}
break;
default: break;
}
*pnYear = nYear;
*pnMonth = nMonth;
*pnDay = nDay;
return true;
}
int main()
{
int nYear = 0;
int nMonth = 0;
int nDay = 0;
if (Date("20070412", &nYear, &nMonth, &nDay)) { cout << "Year: " << nYear << ", Month: " << nMonth << ", Day: " << nDay << endl; }
else { cout << "Date Error!" << endl; }
return 0;
}