Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- #include <time.h>
- #include <ctime>
- #include <string>
- #include <cstring>
- #include <stdio.h>
- #include <stdlib.h>
- #include <iterator>
- /*
- Rodné číslo v1.0 - aktuální rok získaný ze systému
- - Vývojové prostředí: Code::Blocks, Dev-C++.
- */
- using namespace std;
- string jmeno;
- string prijmeni;
- char rodneCisloCHAR[12];
- int rcint[11];
- string pohlavi;
- int suda, licha;
- int charlenght;
- int nowYear;
- string mesice[12] = { "leden", "únor", "březen", "duben", "květen", "červen", "červenec", "srpen", "září", "říjen", "listopad", "prosinec", };
- int main() {
- void vypisText(void);
- void prubeh(void);
- bool opakovac = true;
- char odpoved;
- while (opakovac) {
- prubeh();
- cout << "\n\nChceš opakovat? (Y/N)\nvolba: ";
- cin >> odpoved;
- toupper(odpoved);
- opakovac = odpoved == 'y' ? true : false;
- }
- return 0;
- }
- void vypisText() {
- system("cls");
- setlocale(LC_ALL, "");
- cout << "*******************************\n";
- cout << " Práce z rodným číslem \n";
- cout << "*******************************\n";
- cout << " \n";
- cout << " \n";
- }
- void prubeh() {
- jmeno = " ";
- prijmeni = " ";
- pohlavi = " ";
- suda = 0;
- licha = 0;
- charlenght = 0;
- void vypisText(void);
- int count(char[]);
- time_t theTime = time(NULL);
- struct tm *aTime = localtime(&theTime);
- nowYear = aTime->tm_year + 1900;
- vypisText();
- cout << "Zadej svoje jméno: ";
- cin >> jmeno;
- vypisText();
- cout << "Zadej svoje příjmení: ";
- cin >> prijmeni;
- vypisText();
- bool opakovat = true;
- back:
- for (int i = 0; i < 10; i++) {
- rcint[i] = 0;
- rodneCisloCHAR[i] = '0';
- }
- while (opakovat) {
- vypisText();
- cout << "Jaké je tvoje rodné číslo: ";
- cin >> rodneCisloCHAR;
- charlenght = count(rodneCisloCHAR);
- if ((charlenght == 11) && (rodneCisloCHAR[6] == '/')) {
- for (int i = 0; i < 10; i++) {
- if (i > 5) rcint[i] = rodneCisloCHAR[i + 1] - 48;
- else rcint[i] = rodneCisloCHAR[i] - 48;
- }
- }
- else if (charlenght == 10) {
- for (int i = 0; i < 10; i++)
- rcint[i] = rodneCisloCHAR[i] - 48;
- }
- else goto back;
- for (int i = 0; i < 10; i++)
- (i % 2) == 0 ? suda += rcint[i] : licha += rcint[i];
- if (((suda % licha) == 0) || ((licha % suda) == 0)) break;
- else goto back;
- }
- opakovat = true;
- int rok = ((rcint[0] * 10) + rcint[1]) + 2000;
- if (rok > nowYear) rok = (rok - 2000) + 1900;
- int den = (rcint[4] * 10) + rcint[5];
- int mesic = (rcint[2] * 10) + rcint[3];
- mesic > 12 ? pohlavi = "žena" : pohlavi = "muž";
- if (pohlavi == "žena") mesic = mesic - 50;
- vypisText();
- cout << "Jméno: " << jmeno << "\n";
- cout << "Příjmení: " << prijmeni << "\n";
- cout << "Datum narození: " << den << ". " << mesice[mesic - 1] << ", " << rok << "\n";
- cout << "Pohlaví: " << pohlavi << "\n";
- cout << "Aktuální věk: " << nowYear - rok << " \n";
- }
- int count(char arr[]) {
- int i = 0;
- while (arr[i]) i++;
- return i;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement