2015-04-29 67 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

相关问题