From be6b64e878bbdb35e44f21696d5d55ae11c908ce Mon Sep 17 00:00:00 2001 From: DrenAyaret Date: Sat, 28 Feb 2026 11:15:55 +0800 Subject: [PATCH 1/3] Program.cs --- Program.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Program.cs diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..33de641 --- /dev/null +++ b/Program.cs @@ -0,0 +1,13 @@ +using StringProcessingApp.Views; + +namespace StringProcessingApp +{ + class Program + { + static void Main(string[] args) + { + StringView view = new StringView(); + view.Run(); + } + } +} From ee9055447a77f3630ce2c8e7eb762c9077edabbe Mon Sep 17 00:00:00 2001 From: DrenAyaret Date: Sat, 28 Feb 2026 11:17:30 +0800 Subject: [PATCH 2/3] StringService.cs --- Services/StringService.cs | 61 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Services/StringService.cs diff --git a/Services/StringService.cs b/Services/StringService.cs new file mode 100644 index 0000000..8947897 --- /dev/null +++ b/Services/StringService.cs @@ -0,0 +1,61 @@ +using System; + +namespace StringProcessingApp.Services +{ + public class StringService + { + private string originalText = ""; + private string currentText = ""; + + public void SetText(string text) + { + originalText = text; + currentText = text; + } + + public string GetText() + { + return currentText; + } + + public void ToUpperCase() + { + currentText = currentText.ToUpper(); + } + + public void ToLowerCase() + { + currentText = currentText.ToLower(); + } + + public int CountCharacters() + { + return currentText.Length; + } + + public bool ContainsWord(string word) + { + return currentText.Contains(word); + } + + public void ReplaceWord(string oldWord, string newWord) + { + currentText = currentText.Replace(oldWord, newWord); + } + + public void Substring(int start, int length) + { + currentText = currentText.Substring(start, length); + } + + public void TrimSpaces() + { + currentText = currentText.Trim(); + } + + public void Reset() + { + currentText = originalText; + } + } +} From 3314d71b3a91c1e600209cf15425a5b5cbc0fbf2 Mon Sep 17 00:00:00 2001 From: DrenAyaret Date: Sat, 28 Feb 2026 11:20:27 +0800 Subject: [PATCH 3/3] StringView.cs --- Views/StringView.cs | 96 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Views/StringView.cs diff --git a/Views/StringView.cs b/Views/StringView.cs new file mode 100644 index 0000000..d950476 --- /dev/null +++ b/Views/StringView.cs @@ -0,0 +1,96 @@ +using System; +using StringProcessingApp.Services; + +namespace StringProcessingApp.Views +{ + public class StringView + { + private StringService service = new StringService(); + + public void Run() + { + bool running = true; + + while (running) + { + Console.WriteLine("\n==== String Processing System ===="); + Console.WriteLine("1. Enter Text"); + Console.WriteLine("2. View Current Text"); + Console.WriteLine("3. Convert to UPPERCASE"); + Console.WriteLine("4. Convert to lowercase"); + Console.WriteLine("5. Count Characters"); + Console.WriteLine("6. Check if Contains Word"); + Console.WriteLine("7. Replace Word"); + Console.WriteLine("8. Extract Substring"); + Console.WriteLine("9. Trim Spaces"); + Console.WriteLine("10. Reset Text"); + Console.WriteLine("11. Exit"); + Console.Write("Choose: "); + + int choice = Convert.ToInt32(Console.ReadLine()); + + switch (choice) + { + case 1: + Console.Write("Enter text: "); + service.SetText(Console.ReadLine()); + break; + + case 2: + Console.WriteLine("Current text: " + service.GetText()); + break; + + case 3: + service.ToUpperCase(); + break; + + case 4: + service.ToLowerCase(); + break; + + case 5: + Console.WriteLine("Length: " + service.CountCharacters()); + break; + + case 6: + Console.Write("Enter word: "); + string word = Console.ReadLine(); + Console.WriteLine(service.ContainsWord(word)); + break; + + case 7: + Console.Write("Old word: "); + string oldWord = Console.ReadLine(); + Console.Write("New word: "); + string newWord = Console.ReadLine(); + service.ReplaceWord(oldWord, newWord); + break; + + case 8: + Console.Write("Start index: "); + int start = Convert.ToInt32(Console.ReadLine()); + Console.Write("Length: "); + int len = Convert.ToInt32(Console.ReadLine()); + service.Substring(start, len); + break; + + case 9: + service.TrimSpaces(); + break; + + case 10: + service.Reset(); + break; + + case 11: + running = false; + break; + + default: + Console.WriteLine("Invalid choice"); + break; + } + } + } + } +}