Project Solution: Hotel Booking System

Rumman Ansari   Software Engineer   2024-07-06 03:10:03   180  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen
<span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">Hotel</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// Sample data</span><span class="pln">
        </span><span class="typ">String</span><span class="pln"> customerName </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Rumman Ansari"</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> membershipCode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
        </span><span class="typ">String</span><span class="pln"> roomType </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Deluxe"</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> numberOfRooms </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> numberOfDays </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">

        </span><span class="com">// Initialize variables</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> perDayCharge </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> deluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> superDeluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> bill </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> discount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> amountPayable </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">

        </span><span class="com">// Welcome message</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"\t\tWelcome to Hotel Dream Land"</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">();</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Customer Name: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> customerName</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Membership Code: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> membershipCode</span><span class="pun">);</span><span class="pln">

        </span><span class="com">// Membership discounts</span><span class="pln">
        </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">membershipCode</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="lit">1</span><span class="pun">:</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Dear "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> customerName </span><span class="pun">+</span><span class="pln"> </span><span class="str">", you opted for a Gold Membership."</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Here are the Gold membership Seasonal Discount rates:"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Deluxe Room @5% \nSuper Deluxe @10%"</span><span class="pun">);</span><span class="pln">
                deluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">
                superDeluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">10</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="lit">2</span><span class="pun">:</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Dear "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> customerName </span><span class="pun">+</span><span class="pln"> </span><span class="str">", you opted for a Diamond Membership."</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Here are the Diamond membership Seasonal Discount rates:"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Deluxe Room @15% \nSuper Deluxe @20%"</span><span class="pun">);</span><span class="pln">
                deluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">15</span><span class="pun">;</span><span class="pln">
                superDeluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">20</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="lit">3</span><span class="pun">:</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Dear "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> customerName </span><span class="pun">+</span><span class="pln"> </span><span class="str">", you opted for a Platinum Membership."</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Here are the Platinum membership Seasonal Discount rates:"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Deluxe Room @25% \nSuper Deluxe @30%"</span><span class="pun">);</span><span class="pln">
                deluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">25</span><span class="pun">;</span><span class="pln">
                superDeluxeDiscount </span><span class="pun">=</span><span class="pln"> </span><span class="lit">30</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Dear customer, you have chosen a wrong membership type!"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Please enter correct membership code 1, 2, or 3."</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">exit</span><span class="pun">(</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="com">// Room type and charges</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">roomType</span><span class="pun">.</span><span class="pln">equalsIgnoreCase</span><span class="pun">(</span><span class="str">"Deluxe"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"You have chosen Deluxe Rooms."</span><span class="pun">);</span><span class="pln">
            perDayCharge </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2500</span><span class="pun">;</span><span class="pln">
            bill </span><span class="pun">=</span><span class="pln"> perDayCharge </span><span class="pun">*</span><span class="pln"> numberOfRooms </span><span class="pun">*</span><span class="pln"> numberOfDays</span><span class="pun">;</span><span class="pln">
            discount </span><span class="pun">=</span><span class="pln"> bill </span><span class="pun">*</span><span class="pln"> deluxeDiscount </span><span class="pun">/</span><span class="pln"> </span><span class="lit">100</span><span class="pun">;</span><span class="pln">
            amountPayable </span><span class="pun">=</span><span class="pln"> bill </span><span class="pun">-</span><span class="pln"> discount</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">roomType</span><span class="pun">.</span><span class="pln">equalsIgnoreCase</span><span class="pun">(</span><span class="str">"Super Deluxe"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"You have chosen Super Deluxe Rooms."</span><span class="pun">);</span><span class="pln">
            perDayCharge </span><span class="pun">=</span><span class="pln"> </span><span class="lit">4200</span><span class="pun">;</span><span class="pln">
            bill </span><span class="pun">=</span><span class="pln"> perDayCharge </span><span class="pun">*</span><span class="pln"> numberOfRooms </span><span class="pun">*</span><span class="pln"> numberOfDays</span><span class="pun">;</span><span class="pln">
            discount </span><span class="pun">=</span><span class="pln"> bill </span><span class="pun">*</span><span class="pln"> superDeluxeDiscount </span><span class="pun">/</span><span class="pln"> </span><span class="lit">100</span><span class="pun">;</span><span class="pln">
            amountPayable </span><span class="pun">=</span><span class="pln"> bill </span><span class="pun">-</span><span class="pln"> discount</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Wrong Room Type"</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Please enter correct room code 'Deluxe' or 'Super Deluxe'."</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">exit</span><span class="pun">(</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="com">// Display the tariff details</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">();</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"\tTariff Detail"</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">();</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Tariff Per Day: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> perDayCharge</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Number of Rooms: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> numberOfRooms</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Number of Days: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> numberOfDays</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">();</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Bill Amount: Rs."</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> bill</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Seasonal Discount: Rs."</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> discount</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Net Payable Amount: Rs."</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> amountPayable</span><span class="pun">);</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">();</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

Explanation of Corrections:

  1. Program Structure: Ensured the program has a main method that serves as the entry point and used sample data for simplicity.
  2. Input Data: Provided sample customer details, membership code, room type, number of rooms, and number of days.
  3. Membership Discounts:
    • Added a switch-case statement to set the discount rates based on the membership code.
  4. Room Type and Charges:
    • Checked the room type and calculated the bill, discount, and payable amount accordingly.
  5. Printing Statements: Corrected the print statements to ensure they display the correct data and improved formatting.

Now, you can compile and run this program to see the output for the given sample data. You can replace the sample data with actual inputs to generate bills for different customers.

Output

<span class="pln">
                </span><span class="typ">Welcome</span><span class="pln"> to </span><span class="typ">Hotel</span><span class="pln"> </span><span class="typ">Dream</span><span class="pln"> </span><span class="typ">Land</span><span class="pln">

</span><span class="typ">Customer</span><span class="pln"> </span><span class="typ">Name</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Rumman</span><span class="pln"> </span><span class="typ">Ansari</span><span class="pln">
</span><span class="typ">Membership</span><span class="pln"> </span><span class="typ">Code</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pln">
</span><span class="typ">Dear</span><span class="pln"> </span><span class="typ">Rumman</span><span class="pln"> </span><span class="typ">Ansari</span><span class="pun">,</span><span class="pln"> you opted </span><span class="kwd">for</span><span class="pln"> a </span><span class="typ">Diamond</span><span class="pln"> </span><span class="typ">Membership</span><span class="pun">.</span><span class="pln">
</span><span class="typ">Here</span><span class="pln"> are the </span><span class="typ">Diamond</span><span class="pln"> membership </span><span class="typ">Seasonal</span><span class="pln"> </span><span class="typ">Discount</span><span class="pln"> rates</span><span class="pun">:</span><span class="pln">
</span><span class="typ">Deluxe</span><span class="pln"> </span><span class="typ">Room</span><span class="pln"> </span><span class="pun">@</span><span class="lit">15</span><span class="pun">%</span><span class="pln">
</span><span class="typ">Super</span><span class="pln"> </span><span class="typ">Deluxe</span><span class="pln"> </span><span class="pun">@</span><span class="lit">20</span><span class="pun">%</span><span class="pln">
</span><span class="typ">You</span><span class="pln"> have chosen </span><span class="typ">Deluxe</span><span class="pln"> </span><span class="typ">Rooms</span><span class="pun">.</span><span class="pln">

        </span><span class="typ">Tariff</span><span class="pln"> </span><span class="typ">Detail</span><span class="pln">

</span><span class="typ">Tariff</span><span class="pln"> </span><span class="typ">Per</span><span class="pln"> </span><span class="typ">Day</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2500</span><span class="pln">
</span><span class="typ">Number</span><span class="pln"> </span><span class="kwd">of</span><span class="pln"> </span><span class="typ">Rooms</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pln">
</span><span class="typ">Number</span><span class="pln"> </span><span class="kwd">of</span><span class="pln"> </span><span class="typ">Days</span><span class="pun">:</span><span class="pln"> </span><span class="lit">5</span><span class="pln">

</span><span class="typ">Bill</span><span class="pln"> </span><span class="typ">Amount</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Rs</span><span class="pun">.</span><span class="lit">25000</span><span class="pln">
</span><span class="typ">Seasonal</span><span class="pln"> </span><span class="typ">Discount</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Rs</span><span class="pun">.</span><span class="lit">3750</span><span class="pln">
</span><span class="typ">Net</span><span class="pln"> </span><span class="typ">Payable</span><span class="pln"> </span><span class="typ">Amount</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Rs</span><span class="pun">.</span><span class="lit">21250</span><span class="pln"> </span>

No Questions Data Available.
No Program Data.

Stay Ahead of the Curve! Check out these trending topics and sharpen your skills.