The string in NewString doesnt seem to return to UserType() function. Is it wrong to declare that variable there? I want to return values to UserType so I can use it in another function like the Vowel function.
using System;
namespace prob1{
class Pogram{
static void Main(string[] args){
UserType();
}
static void Menu(){
Console.WriteLine("\nChoice of Operation:");
Console.WriteLine("1. Enter new/another string");
Console.WriteLine("2. Count vowels in string and display result");
Console.WriteLine("3. Count consonants in string and display result");
Console.WriteLine("4. Convert string to uppercase letters and display");
Console.WriteLine("5. Convert string to lowercase letters and display");
Console.WriteLine("6. Count number of words in the string");
Console.WriteLine("7. Exit Program");
}
static void UserType(){
string mainString = System.String.Empty;
Menu();
int menuChoice;
menuChoice = Int32.Parse(Console.ReadLine());
switch (menuChoice)
{
case 1:
NewString(mainString);
UserType();
break;
case 2:
Vowel(mainString);
UserType();
break;
default:
break;
}
}
static string NewString(string mainString){
Console.WriteLine("Enter a new string: ");
mainString = Console.ReadLine().ToLower();
return mainString;
}
static void Vowel(string mainString){
int total = 0;
var vowels = new HashSet<char> { 'a', 'e', 'i', 'o', 'u' };
for (int finder = 0; finder < mainString.Length; finder++)
{
if (vowels.Contains(mainString[finder]))
{
total++;
}
}
Console.WriteLine("total: " + total);
Console.ReadKey(true);
}
}
}