2016-04-21 4 views
1

Я знаю, что я могу получить много голосов для этого, но я просто немного в порядке c#, но все же у меня есть время. Я действительно ценю, может ли кто-нибудь помочь мне. Мое приложение в основном содержится в классе под названием dailyMenu. Класс имеет следующие поля:Как написать метод, который выводит список дней, когда вход будет подаваться на основе ввода пользователя?

public class dailyMenu 
{ 
    private string day = ""; 
    private int date = 0; 
    public string entree { get; private set; } 
    private double price; 
    private double calories; 
    static int initalDate = 1; 
    static string[] daysOfWeek = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; 
    static string[] entrees = {"Beef Tenderloin Fresco", "Madagascar Filet Mignon", "Filet Mignon", " Lobster Ravioli", "Asian Infused Braised Beef", "New Age Chicken Cordon Bleu", "Short Ribs", " Beef Wellington", 
     "Fajitas", "Bacon Cheeseburger", " Beef Burgandy", "Spagehetti"}; 
    static double[] entreePrices = { 5.99, 7.99, 6.99, 4.50, 9.99, 10.29, 5.67, 8.99, 3.99, 4.78, 10, 79, 6.98 }; 
    static int[] entreeMealCaloricVal = { 999, 1288, 770, 699, 450, 999, 1500, 873, 911, 1011, 777, 500 }; 

Это мои свойства:

public string Day 
{ 
    get { return day; } 
    set { day = value; } 
} 
public int Date 
{ 
    get { return date; } 
    set { date = value; } 
} 
public string Entree 
{ 
    get { return entree; } 
    set { entree = value; } 
} 
public double Price 
{ 
    get { return price; } 
    set { price = value; } 
} 
public double Calories 
{ 
    get { return calories; } 
    set { calories = value; } 
} 

Далее, я должен был создать объекты моего dailymenu класса в моем основном методе.

public static void Main(string[] args) 
{ 
    dailyMenu[,] daysOfMonth = new dailyMenu[4, 5]; 
    for (int column = 0; column < daysOfMonth.GetLength(0); column++) 
    { 
     for (int row = 0; row < daysOfMonth.GetLength(1); row++) 
     { 
      dailyMenu dm = new dailyMenu(); 
      daysOfMonth[column, row] = dm; 
      Console.WriteLine(dm.ToString()); 
     } 
    } 
} 

И теперь, я пытаюсь придумать функцию, которая после того, как пользователь вводит в одном из вышеуказанных блюд, консоль будет распечатать все дни, в которых вхож, который был введен будет подан на. Он также принимает 2D-массив в качестве аргумента. Это то, к чему я придумал.

static void entreeSearch(dailyMenu[,] daysOfMonth) 
{ 
    Console.WriteLine("PLease enter the entree you'd like to search for today :)"); 
    string response = Console.ReadLine(); 
    response = response.ToUpper(); 

    for (int column = 0; column < daysOfMonth.GetLength(0); column++) 
    { 
     for (int row = 0; row < daysOfMonth.GetLength(1); row++) 
     { 
      if (response ==) 
      { 
       dailyMenu dm = new dailyMenu(); 
       daysOfMonth[column, row] = dm; 
       Console.WriteLine(dm.ToString()); 
      } 

     } 
    } 

ответ

3

Ну что ж, вам нужно заполнить в какой день какой вход. В настоящее время вы инициализируете значения по умолчанию, поэтому каждый день вводится null. Но как только вы это исправите, это должно сработать:

static void entreeSearch(dailyMenu [,] daysOfMonth) 
    { 
     Console.WriteLine ("PLease enter the entree you'd like to search for today :)"); 
     string response = Console.ReadLine(); 
     response = response.ToUpper(); 

     for (int column = 0; column < daysOfMonth.GetLength(0); column++) 
     { 
      for (int row = 0; row < daysOfMonth.GetLength(1); row++) 
      { 
       dailyMenu dailyMenuAtThisRowAndColumn = daysOfMonth[column, row]; 
       if (dailyMenuAtThisRowAndColumn.Entree.ToUpper() == response) 
       { 
        Console.WriteLine($"Entree {response} was found on day {daysOfMonth[column, row].Day}"); 
       } 

      } 
     } 
+0

См. Теперь смешно, что я смотрю, что это имеет смысл, но не могли бы вы объяснить мне, как это работает? –

+0

Вы не знаете, как это работает? Вы не писали код, который вы опубликовали? 'daysOfMonth' - это массив объектов' dailyMenu'. Вы заполняете этот массив этой строкой, 'daysOfMonth [column, row] = dm'. Чтобы установить вход в каждый день, вы можете сделать до этой строки, 'dm.Entree =" Spagehetti ";'. Каждый объект 'dailyMenu' имеет строковое свойство с именем' Entree', поэтому мы просто сравниваем Entree дня с ответом, как показано в моем ответе. Я отредактирую его, чтобы было более ясно, что массив 'daysOfMonth' содержит объекты' dailyMenu'. – Quantic

+0

Я действительно понимаю, и это мой код, я просто хотел бы посмотреть на хорошее объяснение вещей, но большое спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^