Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
4.2 kB
2
Indexable
Never
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 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.ReadKey();
    }
}
Leave a Comment