標籤:blog http os 2014 for io
代碼為;
#include <iostream>#include <sstream>#include <fstream>#include <string>#include <vector>int main(){std::vector<std::string> identity;std::string temp;std::ifstream file("in.txt");while(getline(file, temp) && temp != "0"){identity.push_back(temp);}for (size_t i = 0; i < identity.size(); i++){if (identity[i].size() != 18){std::cout << 1<<std::endl;continue;}for (int j = 0; j < 17; j++){if (identity[i][j] < '0' && identity[i][j] > '9'){std::cout << 2 <<std::endl;continue;}}if (identity[i][17] != 'x' && (identity[i][17] < '0' || identity[i][17] > '9')){std::cout << 3 <<std::endl;continue;}//年std::string tempYear;for (int j = 0; j < 4; j++){tempYear += identity[i][6 + j];}int year = atoi(tempYear.c_str());if (year < 1900 || year > 2100){std::cout << 4<<std::endl;continue;}//月std::string tempMonth;for (int j = 0; j < 2; j++){tempMonth += identity[i][10 + j];}int month = atoi(tempMonth.c_str());if (month < 1 || month > 12){std::cout << 5 <<std::endl;continue;}//daystd::string tempDay;for (int j = 0; j < 2; j++){tempDay += identity[i][12 + j];}int day = atoi(tempDay.c_str());if (day < 1 || day > 31){std::cout << 6 << std::endl;continue;}if (month == 4 || month == 6 || month == 9 || month == 11 ){if (day == 31){std::cout << 6 <<std::endl;continue;}}if (month == 2){if ( !((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0))){if (day == 29){std::cout << 6 <<std::endl;continue;}}}std::cout<<0 <<std::endl;} system("pause");return 0;}