[華為機試]判斷身份證資訊是否合法

來源:互聯網
上載者:User

標籤: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;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.