2015-04-29 138 views
-7

基本上我創建了一個酒店支票系統,我想創建客房1-100,然後當我爲客人創建一個新對象時,我想分配該客人如果你找到我,請將它放在某個房間物體上。這是我到目前爲止的客人和客房類別。客房和賓客(對象添加到另一個對象?)

編輯:對不明白我在問什麼。我想知道如何使用leadName屬性將訪客對象連接到房間對象(如果可能的話)?還有什麼是最好的方式來存儲所有這些房間和他們的所有屬性,如留在他們的客人等?

RoomClass:

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

namespace Hotel_Check_In 
{ 
public class Room 
    { 
    public int RoomNumber; 
    public string RoomType; 
    public string SmokingAllowed; 
    public Boolean booked; 
    private Guest LeadName; 

    public Room() 
    { } 
    } 
} 

客戶類別:

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

namespace Hotel_Check_In 
{ 
    public class Guest 
    { 
     public string LeadName; 
     public int roomNumber; 

     public Guest(string name, int roomN) 
     { 
      LeadName = name; 
      roomNumber = roomN; 
     } 
    }  
} 
+5

那麼,什麼是問題? – Guffa

+0

請[編輯]您的問題,以添加有關您困擾或需要幫助的信息。請描述您的代碼的預期行爲與您觀察的內容以及爲什麼/您在尋找原因時遇到困難。 – Alex

回答

0

完全改變了它,並用房間號碼連接使用哈希表房間和客人。

public static Hashtable checkBookedRooms(string Rtype) 
    { 
     Hashtable roomsAvailable = new Hashtable(); 
     int i = 0; 

     foreach(Room room in AllRooms) 
     { 
      i++; 
      if(room.booked==false && room.RoomType == Rtype) 
      { 
       roomsAvailable.Add(room.RoomNumber, room.RoomType); 
      } 
      if(i >= AllRooms.Count) 
      { 
       i = 0; 
       return roomsAvailable; 

      } 
     } 
     Console.WriteLine("Room.checkBookedRooms() Returned Null"); 
     return null; 
    } 
-1

看看這有助於

namespace Hotel_Check_In 
{ 
    public class Room 
    { 
    public static List<Room> rooms = null; 
    public int RoomNumber; 
    public string RoomType; 
    public string SmokingAllowed; 
    public Boolean booked; 
    private Guest LeadName; 

    public Room(int numberOfRooms) 
    { 
     for(int i = 1; i <= numberOfRooms ; i++) 
     { 
      Room newRoom = new Room(); 
      rooms.Add(newRoom); 
      newRoom.RoomNumber = i; 
     } 
    } 

    } 

} 
+0

僅供參考,代碼段功能適用於JavaScript,HTML等可執行代碼片段。 –

+0

您是否考慮過使用SQL Server數據庫進行存儲?您可以從msdn.com免費下載Express版本。 – jdweng

0

嘗試此獲得領先。我讓客人公開而不是私人。

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

 
namespace Hotel_Check_In 
 
{ 
 
    class Program 
 
    { 
 
     static void Main(string[] args) 
 
     { 
 
      string lead = "JohnSmith"; 
 
      Room room = Room.rooms.AsEnumerable() 
 
       .Where(x => x.LeadName.LeadName == lead).FirstOrDefault(); 
 
     } 
 
    } 
 
    public class Room 
 
    { 
 
     public static List<Room> rooms = null; 
 
     public int RoomNumber; 
 
     public string RoomType; 
 
     public string SmokingAllowed; 
 
     public Boolean booked; 
 
     public Guest LeadName; 
 

 
     public Room(int numberOfRooms) 
 
     { 
 
      for (int i = 1; i <= numberOfRooms; i++) 
 
      { 
 
       Room newRoom = new Room(); 
 
       rooms.Add(newRoom); 
 
       newRoom.RoomNumber = i; 
 
      } 
 
     } 
 

 
    } 
 
    public class Guest 
 
    { 
 
     public string LeadName; 
 
     public int roomNumber; 
 

 
     public Guest(string name, int roomN) 
 
     { 
 
      LeadName = name; 
 
      roomNumber = roomN; 
 
     } 
 
    }  
 
}

+0

您能否解釋Main()中發生了什麼? – Emcrank

相關問題