using System.Collections.Generic;
const int LISTLENGTH = 10;
static String[] starters = new String[10]
"Soup", "Salad", "Mushrooms", "Whitebait", "Bruschetta", "Avocado", "Prawns", "Olives", "Bread", "Doughballs"
static String[] mains = new String[10]
"Chicken", "Steak", "Pizza", "Risotto", "Pasta", "Salad", "Pie", "Casserole", "Pork", "Lasagne"
static String[] desserts = new String[10]
"Fruit", "Ice Cream", "Sorbet", "Crumble", "Cheese", "Rice Pudding", "Tiramisu", "Trifle", "Cheesecake", "Apple Pie"
private static String GetCustomerName()
Console.WriteLine("Please enter your name: ");
string name = Console.ReadLine();
if (name.Length < 3 || name.Length > 12)
private static int GetOffsetNumber(int notAllowed, string name)
string[] letters = new string[27]
"0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
string letter = name.Substring(0, 1);
string Letter = letter.ToUpper();
for (int i = 0; i < 27; i++)
if (Letter == letters[i])
private static int GetOffsetNumber2(int notAllowed, string name)
string[] letters = new string[27]
"0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
string letter = name.Substring(1, 1);
string Letter = letter.ToUpper();
for (int i = 0; i < 27; i++)
if (Letter == letters[i])
private static int GetOffsetNumber3(int notAllowed, string name)
string[] letters = new string[27]
"0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
string letter = name.Substring(2, 1);
string Letter = letter.ToUpper();
for (int i = 0; i < 27; i++)
if (Letter == letters[i])
private static String GetHatedItemStarter(String[] things)
string strstarters = string.Join(", ", things);
Console.WriteLine("Please choose your least favourite starter from this list of starters: ");
Console.WriteLine(strstarters);
string hatedStarter = Console.ReadLine();
for (i = 0; i < LISTLENGTH; i++)
string hatedStarter1 = hatedStarter.ToUpper();
string Item = item.ToUpper();
if (hatedStarter1 == Item)
private static String GetChosenItemStarter(int offset, String hatedStarter, String[] things)
string chosenStarter = "";
for (i = 0; i < LISTLENGTH; i++)
hatedStarter = hatedStarter.ToUpper();
String Item = item.ToUpper();
if (Item == hatedStarter)
chosenStarter = things[pos % 10];
public static void Main(string[] args)
String name = GetCustomerName();
int offset = GetOffsetNumber(10, name);
Console.WriteLine(offset);
int offset2 = GetOffsetNumber2(10, name);
Console.WriteLine(offset2);
int offset3 = GetOffsetNumber3(10, name);
Console.WriteLine(offset3);
String hatedStarter = GetHatedItemStarter(starters);
String hatedMain = GetHatedItemStarter(mains);
String hatedDessert = GetHatedItemStarter(desserts);
String chosenStarter = GetChosenItemStarter(offset, hatedStarter, starters);
String chosenMain = GetChosenItemStarter(offset2, hatedMain, mains);
String chosenDessert = GetChosenItemStarter(offset3, hatedDessert, desserts);
Console.WriteLine(@"Hello {0}, your starter is {1}, your main is {2}, and your desert is {3}.
Please enjoy", name, chosenStarter, chosenMain, chosenDessert);