2012-02-28 68 views
1

好吧我正在做一些數據庫,我有4類program.cs,athlete.cs,event.cs和venue.cs。他們希望我包括的方法之一是搜索運動員,以及顯示事件名稱和場地名稱。這必須在所有變量都是私有的情況下完成。如何連接兩個相同但在不同類中的變量?

所以我想知道是否有運動員類中的事件名稱變量連接到事件類中的事件名稱。

運動員類

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

class Athlete 
{ 
    private string firstname, lastname, address, phonenumber; 
    private List<Event> eventlist = new List<Event>(); 
    private Event athleteEvent; 

    public string athleteFirstname 
    { 
     get 
     { 
      return firstname; 
     } 
     set 
     { 
      firstname = value; 
     } 
    } 

    public string athleteLastname 
    { 
     get 
     { 
      return lastname; 
     } 
     set 
     { 
      lastname = value; 
     } 
    } 
    public string athleteAddress 
    { 
     get 
     { 
      return address; 
     } 
     set 
     { 
      address = value; 
     } 
    } 
    public string athletePhonenumber 
    { 
     get 
     { 
      return phonenumber; 
     } 
     set 
     { 
      phonenumber = value; 
     } 
    } 

    public Event eventA 
    { 
     get 
     { 
      return athleteEvent; 
     } 
     set 
     { 
      athleteEvent = eventlist[0].eventName; 
     } 

    } 
} 

事件類

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

class Event 
{ 
    private string name, date, time, venueEvent; 
    private double fee; 
    private List<Athlete> athletes = new List<Athlete>(); 


    public void addAthlete(Athlete a) 
    { 
     athletes.Add(a);// adds the athletes towards this class 
    } 

    public void displayAthletes()// method used for displaying athlete when requested 
    { 
     foreach (Athlete a in athletes) //Constructor 
     { 
      Console.WriteLine(a.athleteFirstname); 
      Console.WriteLine(a.athleteLastname); 
     } 
    } 

    public string eventName 
    { 
     get 
     { 
      return name; 
     } 
     set 
     { 
      name = value; 
     } 
    } 
    public string eventDate 
    { 
     get 
     { 
      return date; 
     } 
     set 
     { 
      date = value; 
     } 
    } 

    public string eventTime 
    { 
     get 
     { 
      return time; 
     } 
     set 
     { 
      time = value; 
     } 
    } 

    public double eventFee 
    { 
     get 
     { 
      return fee; 
     } 
     set 
     { 
      fee = value; 
     } 
    } 

    public string eventVenue 
    { 
     get 
     { 
      return venueEvent; 
     } 
     set 
     { 
      venueEvent = value; 
     } 
    } 
} 

這是我的搜索方法

#region Search Athlete 
    static void searchAthlete() 
    { 
     Console.WriteLine("Please enter which athlete you would like to find"); 
     string searchChoice = Convert.ToString(Console.ReadLine()); 

     for(int i = 0; i < athleteClass.ToArray().Length;i++) // goes through the athletes class to the end 
     { 
      if (searchChoice == athleteClass[i].athleteFirstname) // checks to see what has been entered matches any of the data in the athlete class 
      { 
       Console.WriteLine("Athlete First Name: " + athleteClass[i].athleteFirstname); 
       Console.WriteLine("Athlete Last Name: " + athleteClass[i].athleteLastname); 
       Console.WriteLine("Event Name: " + athleteClass[i].eventA); 
       Console.WriteLine("Venue Name: " + eventClass[i].eventVenue); 
      } 
      else 
      { 
       Console.WriteLine("No record was found"); 
      } 
      //for (int e = 0; e < 2; e++) 
      //{ 
      // if (athleteClass[e].eventA == eventClass[e].eventName) // checks 
      // { 
      //  Console.WriteLine("Event name: " + eventClass[e].eventName); 
      // } 
      // for (int v = 0; v < 2; v++) 
      // { 
      //  if (eventClass[v].eventVenue == venueClass[v].venueName) 
      //  { 
      //   Console.WriteLine("Venue Name: " + venueClass[v].venueName); 
      //  } 
      // } 
      //} 

     } 
    } 
    #endregion 
+0

這功課嗎?如果是這樣,它應該被標記爲這樣。 – bschultz 2012-02-28 23:47:30

+0

'connect'是什麼意思? – 2012-02-28 23:50:16

+0

不知道有一個家庭作業標籤。 – user1073429 2012-02-28 23:50:27

回答

0

對於每一個運動員,你有事件的列表由您的代碼表示。當他們添加一個新的運動員時,他們應該能夠在控制檯添加諸如{event1,event2 ...等等}的事件列表。在您的搜索中,您只需調用運動員對象Athlete.GetEventsList()並打印出與此運動員相關的每個事件。我會做僞代碼,讓你自己學習。

編輯 首先你需要保存每個運動員事件。所以你需要一個Set/Get方法來保存來自特定運動員控制檯的傳入事件。一旦你有運動員的事件清單,那麼你可以做到這一點。

for each Athlete a in ListOfAthletes 
{ 
    get eventList for a 
    for each event in eventList 
    get event Name 
    //print out athlete Name and event Name 
} 
+0

那麼現在運動員只能分配到一個事件。是的,當你添加一名運動員時,你爲事件輸入1或2。 – user1073429 2012-02-29 00:12:53

+0

請參閱編輯。你需要保存事件,否則你將如何訪問運動員的事件? – EKet 2012-02-29 00:16:05

+0

我已經按照上面的代碼中所述設置了方法 – user1073429 2012-02-29 00:18:19

相關問題