Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using StringProcessingApp.Views;

namespace StringProcessingApp
{
class Program
{
static void Main(string[] args)
{
StringView view = new StringView();
view.Run();
}
}
}
65 changes: 65 additions & 0 deletions StringService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
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 string ToUpperCase()
{
currentText = currentText.ToUpper();
return currentText;
}

public string ToLowerCase()
{
currentText = currentText.ToLower();
return currentText;
}

public int CountCharacters()
{
return currentText.Length;
}

public bool ContainsWord(string word)
{
return currentText.Contains(word);
}

public string ReplaceWord(string oldWord, string newWord)
{
currentText = currentText.Replace(oldWord, newWord);
return currentText;
}

public string ExtractSubstring(int startIndex, int length)
{
return currentText.Substring(startIndex, length);
}

public string TrimSpaces()
{
currentText = currentText.Trim();
return currentText;
}

public void ResetText()
{
currentText = originalText;
}
}
}
104 changes: 104 additions & 0 deletions StringView.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
using System;
using StringProcessingApp.Services;

namespace StringProcessingApp.Views
{
public class StringView
{
private StringService service = new StringService();
private bool isRunning = true;

public void Run()
{
while (isRunning)
{
DisplayMenu();
Console.Write("Choose an option: ");
string choice = Console.ReadLine();
Console.WriteLine();

switch (choice)
{
case "1":
Console.Write("Enter text: ");
service.SetText(Console.ReadLine());
break;

case "2":
Console.WriteLine("Current Text: " + service.GetText());
break;

case "3":
Console.WriteLine("UPPERCASE: " + service.ToUpperCase());
break;

case "4":
Console.WriteLine("lowercase: " + service.ToLowerCase());
break;

case "5":
Console.WriteLine("Character Count: " + service.CountCharacters());
break;

case "6":
Console.Write("Enter word to check: ");
string word = Console.ReadLine();
Console.WriteLine("Contains? " + service.ContainsWord(word));
break;

case "7":
Console.Write("Word to replace: ");
string oldWord = Console.ReadLine();
Console.Write("New word: ");
string newWord = Console.ReadLine();
Console.WriteLine("Updated Text: " + service.ReplaceWord(oldWord, newWord));
break;

case "8":
Console.Write("Start Index: ");
int start = int.Parse(Console.ReadLine());
Console.Write("Length: ");
int length = int.Parse(Console.ReadLine());
Console.WriteLine("Substring: " + service.ExtractSubstring(start, length));
break;

case "9":
Console.WriteLine("Trimmed Text: " + service.TrimSpaces());
break;

case "10":
service.ResetText();
Console.WriteLine("Text reset to original.");
break;

case "11":
isRunning = false;
break;

default:
Console.WriteLine("Invalid option.");
break;
}

Console.WriteLine();
}
}

private void DisplayMenu()
{
Console.WriteLine("====== 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.WriteLine("======================================");
}
}
}