Untitled
unknown
plain_text
a year ago
9.1 kB
9
Indexable
using System;
using System.Linq;
class Program
{
static bool SprawdzImie(string imie)
{
// Sprawdzenie długości imienia
if (imie.Length < 2 || imie.Length > 13)
return false;
// Sprawdzenie czy pierwsza litera jest wielka
if (!char.IsUpper(imie[0]))
return false;
// Sprawdzenie czy wszystkie pozostałe litery są małe
if (imie.Skip(1).Any(c => char.IsUpper(c)))
return false;
// Sprawdzenie czy imię nie zawiera cyfr
if (imie.Any(char.IsDigit))
return false;
return true;
}
static bool SprawdzNazwisko(string nazwisko)
{
// Sprawdzenie długości nazwiska
if (nazwisko.Length < 2 || nazwisko.Length > 20)
return false;
// Podział nazwiska na człony (jeśli występuje)
string[] czlonyNazwiska = nazwisko.Split('-');
// Sprawdzenie każdego członu nazwiska
foreach (string czlon in czlonyNazwiska)
{
// Sprawdzenie czy pierwsza litera jest wielka
if (!char.IsUpper(czlon[0]))
return false;
// Sprawdzenie czy wszystkie pozostałe litery są małe
if (czlon.Skip(1).Any(c => char.IsUpper(c)))
return false;
// Sprawdzenie czy człon nazwiska nie zawiera cyfr
if (czlon.Any(char.IsDigit))
return false;
}
return true;
}
static bool SprawdzNumerTelefonu(string numer)
{
// Sprawdzenie długości numeru
// Sprawdzenie czy numer zawiera tylko cyfry
if (!numer.All(char.IsDigit) && !numer.StartsWith("+"))
return false;
// Sprawdzenie, czy numer zaczyna się od "+"
if (numer.StartsWith("+"))
{
// Dla numeru zaczynającego się od "+", sprawdzenie długości
if (numer.Length < 11 || numer.Length > 13)
return false;
}
else
{
// Dla numeru bez "+", sprawdzenie czy ma dokładnie 9 cyfr
if (numer.Length != 9)
return false;
}
return true;
}
static void Pesel(string pesel)
{
int pierwszeDwieCyfry = int.Parse(pesel.Substring(0, 2));
int trzeciaCyfra = int.Parse(pesel.Substring(2, 1));
int czwartaCyfra = int.Parse(pesel.Substring(3, 1));
int piataszostaCyfra = int.Parse(pesel.Substring(4, 2));
Console.WriteLine(pierwszeDwieCyfry);
Console.WriteLine(trzeciaCyfra);
Console.WriteLine(czwartaCyfra);
Console.WriteLine(piataszostaCyfra);
}
//01234567890
static bool SprawdzPesel(string pesel)
{
// Sprawdzenie długości numeru PESEL
if (pesel.Length != 11)
return false;
// Sprawdzenie, czy PESEL składa się tylko z cyfr
if (!pesel.All(char.IsDigit))
return false;
// Sprawdzenie pierwszych dwóch cyfr
int pierwszeDwieCyfry = int.Parse(pesel.Substring(0, 2));
int trzeciaCyfra = int.Parse(pesel.Substring(2, 1));
int czwartaCyfra = int.Parse(pesel.Substring(3, 1));
int piataISzostaCyfra = int.Parse(pesel.Substring(4, 2));
if ((pierwszeDwieCyfry >= 0 && pierwszeDwieCyfry <= 12) && !(trzeciaCyfra == 1 || trzeciaCyfra == 2))
return false;
if ((pierwszeDwieCyfry >= 13 && pierwszeDwieCyfry <= 24) && !(trzeciaCyfra == 0 || trzeciaCyfra == 1 || trzeciaCyfra == 2))
return false;
if (pierwszeDwieCyfry >= 24 && pierwszeDwieCyfry <= 99)
{
if (!(trzeciaCyfra == 0 || trzeciaCyfra == 1))
return false;
if (trzeciaCyfra == 1 && !(czwartaCyfra >= 0 && czwartaCyfra <= 2))
return false;
if (trzeciaCyfra == 0 && !(czwartaCyfra >= 1 && czwartaCyfra <= 9))
return false;
}
// Sprawdzenie piątej i szóstej cyfry
if (piataISzostaCyfra < 1 || piataISzostaCyfra > 31)
return false;
return true;
}
static void Main(string[] args)
{
// Przykłady użycia
/*Console.WriteLine(SprawdzImie("Jan")); // True
Console.WriteLine(SprawdzImie("jan")); // False (pierwsza litera nie jest wielka)
Console.WriteLine(SprawdzImie("Jan1")); // False (cyfra w imieniu)
Console.WriteLine(SprawdzImie("JanKowalski")); // False (imię złożone z więcej niż 13 liter)
*/
Console.WriteLine(SprawdzNazwisko("Kowalski")); // True
Console.WriteLine(SprawdzNazwisko("Nowak-Jastrzębski"));// True
Console.WriteLine(SprawdzNazwisko("Nowak-jastrzębski"));
Console.WriteLine(SprawdzNazwisko("janowski")); // False (pierwsza litera nie jest wielka)
Console.WriteLine(SprawdzNazwisko("Jan1")); // False (cyfra w nazwisku)
Console.WriteLine(SprawdzNazwisko("Nowak-123")); // False (cyfra w nazwisku)
Console.WriteLine(SprawdzNazwisko("D")); // False (nazwisko zbyt krótkie)
Console.WriteLine(SprawdzNazwisko("DługopolskiTomaszewskiNowak")); // False (nazwisko zbyt długie)
Console.WriteLine("Numery");
Console.WriteLine(SprawdzNumerTelefonu("+123456789")); // false
Console.WriteLine(SprawdzNumerTelefonu("123456789")); // True
Console.WriteLine(SprawdzNumerTelefonu("+48123456789")); // True
Console.WriteLine(SprawdzNumerTelefonu("+481234567891")); // True
Console.WriteLine(SprawdzNumerTelefonu("+481234567891"));// coś
Console.WriteLine(SprawdzNumerTelefonu("+48")); // False (zbyt krótki numer)
Console.WriteLine(SprawdzNumerTelefonu("abc123456")); // False (litera w numerze)
Console.WriteLine(SprawdzNumerTelefonu("1234567890a")); // False (litera w numerze)
Console.WriteLine();
Console.WriteLine("==========================================");
Console.WriteLine("Pesel");
Console.WriteLine("==========================================");
//Tak powinno wyjść //Tak wychodzi
Console.WriteLine(SprawdzPesel("01234567890")); // False //False i dobrze bo dzień się nie zgadza
Console.WriteLine(SprawdzPesel("01231567890")); //True //True osoba 01-12 dzien miesiąc się zgadzają
Console.WriteLine(SprawdzPesel("11234567890")); // False (niewłaściwa trzecia cyfra) //False
Console.WriteLine(SprawdzPesel("11031567890")); // False //False bo jest 0 na 3 cyfrze
Console.WriteLine(SprawdzPesel("11131567890")); // False //True i to jest zle bo 3 i czwarta tworzą 13 czyli więcej niż miesięcy
Console.WriteLine("_________tu konczy się 01-12___________");
Console.WriteLine(SprawdzPesel("13314567890")); // False (niewłaściwe czwarta i piąta cyfra) //False
Console.WriteLine(SprawdzPesel("23456789012")); // False //False
Console.WriteLine(SprawdzPesel("24678901234")); // False (niewłaściwe trzecia) //False
Console.WriteLine(SprawdzPesel("31013167890")); // True //True Tu jest git 31 rocznik styczeń 31 dzień
Console.WriteLine(SprawdzPesel("31213167890")); //False //False bo trzecia jest 2 a to 31 rocznik
Console.WriteLine(SprawdzPesel("31124167890")); //False //False bo dzień 41
Console.WriteLine(SprawdzPesel("31123267890")); //False //False bo 32 dzień miesiąca
Console.WriteLine("_________tu zaczyna się 99_____________");
Console.WriteLine(SprawdzPesel("99100167890")); // True //True
Console.WriteLine(SprawdzPesel("99211167890")); // False //False bo po 99 musi być 1 lub 0
Console.WriteLine(SprawdzPesel("99011167890")); // True //True
Console.WriteLine(SprawdzPesel("99301367890")); // False //False 3 też być nie może w 3 cyfrze
Console.WriteLine(SprawdzPesel("99001367890")); //False
Console.WriteLine(SprawdzPesel("99131367890")); //False // False jest wpisane 13 miesiąc
Pesel("12345678910");
Console.ReadKey();
}
}Editor is loading...
Leave a Comment