strings_4/Program.cs
La Programmatrice Verde cce7ba5469 Opzione 2
2025-02-26 09:22:50 +01:00

119 lines
4.0 KiB
C#

namespace strings_4;
class Program {
static void Main(string[] args) {
Menu();
}
static void Menu() {
Console.Clear();
int scelta;
string stringa1, stringa2;
do {
Console.WriteLine("Inserire un'opzione:");
Console.WriteLine("1. Conta spazi pre maiuscola");
Console.WriteLine("2. Converti in binario");
Console.WriteLine("3. Primo carattere maiuscolo");
Console.WriteLine("4. Sostituisci sottostringa");
Console.WriteLine("5. Parola palindroma pari");
Console.WriteLine("0. Esci");
Console.Write("Scelta: ");
scelta = Convert.ToInt32(Console.ReadLine());
switch (scelta) {
case 0:
break;
case 1:
Console.Clear();
Console.WriteLine($"La stringa contiene {ContaSpaziPreMaiuscola(Input())} spazi prima di una maiuscola.");
Pausa();
break;
case 2:
Console.Clear();
Console.WriteLine(ToBinary());
Pausa();
break;
case 3:
Console.Clear();
stringa1 = Input();
/* if (Controllo2(stringa1, LUNGHEZZA)) {
Console.WriteLine(PrimoCarattereMaiuscolo(stringa1));
}
else {
Console.WriteLine($"Errore: la frase non può essere più lunga di {LUNGHEZZA} caratteri");
}*/
Pausa();
break;
case 4:
Console.Clear();
Console.WriteLine("È richiesta la frase in cui effettuare la ricerca");
stringa1 = Input();
Console.WriteLine();
Console.WriteLine("È richiesta la frase che verrà sostituita");
stringa2 = Input();
Console.WriteLine();
/*if (Controllo2(stringa2, stringa1.Length)) {
Console.WriteLine(TrovaESostituisci(stringa1, stringa2));
}
else {
Console.WriteLine($"Errore: la frase da cercare non può essere più lunga della frase in cui cercare");
}*/
Pausa();
break;
case 5:
Console.Clear();
//Console.WriteLine(CreaPalindromo(Input(), true));
Pausa();
break;
case 6:
Console.Clear();
//Console.WriteLine(CreaPalindromo(Input(), false));
Pausa();
break;
default:
Console.WriteLine("Opzione non valida.");
Pausa();
break;
}
}
while (scelta != 0);
}
static void Pausa() {
Console.WriteLine("Premere un tasto per continuare. . .");
Console.ReadKey();
Console.Clear();
}
static string Input() {
Console.Write("Inserire una frase: ");
return Console.ReadLine();
}
static int ContaSpaziPreMaiuscola(string p_stringa) {
int ritorno = 0, i = 0;
do {
if (p_stringa.IndexOf(' ') + i == -1) {
break;
}
if (char.IsUpper(p_stringa[p_stringa.IndexOf(' ') + i])) {
ritorno++;
p_stringa = p_stringa.Substring(p_stringa.IndexOf(' ') + i);
i = 0;
}
else {
i++;
}
}
while (p_stringa.Contains(' ') && p_stringa.IndexOf(' ') + i < p_stringa.Length);
return ritorno;
}
static string ToBinary() {
Console.Write("Inserire un numero: ");
return Convert.ToString(Convert.ToInt32(Console.ReadLine()), 2);
}
}