using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace zh3
{
class szöveg
{
private LinkedList<string> szavak;
public szöveg() // paraméter nélküli konstruktor
{
string valami_szó, akar_e_meg;
bool beolvasás = true;
int hanyadik = 1;
szavak = new LinkedList<string>();
while (beolvasás)
{
Console.Write("Adjon meg egy szót! ");
valami_szó = Console.ReadLine();
szavak.AddLast(valami_szó);
Console.Write("Akarsz-e új szót megadni? (i/n) ");
akar_e_meg = Console.ReadLine();
beolvasás = !((akar_e_meg == "n") || (akar_e_meg == "N"));
if (hanyadik < 3)
beolvasás = true;
hanyadik++;
}
}
public string utolso_szo {
get { //Lekérdező tulajdonság
return szavak.Last.Value;
}
set { //Beállító tulajdonság
szavak.RemoveLast();
szavak.AddLast(value);
}
}
public bool a_betűsek() //A betűsek
{
return szavak.All(aktuális_szó => (aktuális_szó.Contains("a") || aktuális_szó.Contains("A"))); // => lambda kifejezés (elnevezetlen függvény
}
public bool keres(string keresnivaló) // kereső függvény
{
return szavak.Any(aktuális_szó => aktuális_szó.Contains(keresnivaló));
}
}
class Program
{
static void Main(string[] args)
{
szöveg sz = new szöveg(); //példányosítás
// sz.utolso_szo = "úgyisezlesz"; // beállító tulajdonság felhasználása
Console.WriteLine("A szöveg utolsó szava: {0}", sz.utolso_szo); //a lekérdező tul felhasználása nem teszünk mögé ()et
if (sz.a_betűsek()) Console.WriteLine("Minden szó a betűs.");
else Console.WriteLine("Nem minden szó a betűs.");
Console.Write("Adja meg a keresendő szót! ");
string keresendő_szó = Console.ReadLine();
bool található_e = sz.keres(keresendő_szó);
if (található_e) Console.WriteLine("Szerepel a listában.");
else Console.WriteLine("Nem szerepel a listában.");
Console.ReadLine();
}
}
}