.names)){
System.out.println("姓名 \t 年龄 \t 电话 \t 身份证号 \t 房间类型 \t 收费");
System.out.println( num[i].b.names + "\t" + num[i].b.age + "\t" + num[i].b.tel + "\t" + num[i].b.IDnumber + "\t\t\t" + num[i].a.room + "\t" + num[i].a.price);
System.out.println("***查询完成!***");
}
}
if(i==24){
System.out.println("不存在其旅客!");
}
}
public void tuifang(){
System.out.println("请输入旅客姓名:");
String name1 = input.next();
System.out.println(j);
for(i = 0; i<j; i++){
if(name1.equals(num[i].b.names)){
System.out.println("姓名 \t 年龄 \t 电话 \t 身份证号 \t 房间类型 \t 收费");
System.out.println( num[i].b.names + "\t" + num[i].b.age + "\t" + num[i].b.tel + "\t" + num[i].b.IDnumber + "\t" + num[i].a.room + "\t" + num[i].a.price);
System.out.println("***查询完成!***");
pay+=(int)(num[i].a.price);
}
else System.out.println("程序出错!!");
}
System.out.println("应结费用:"+pay+"");
System.out.println("请确认后结算!");
}
}
6.退房
package 酒店管理系统;
public class tuifang {
int year;
int month;
int day;
public tuifang(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
}
,
摘 要
进入大学的第二次课程设计中,我们小组选择了酒店住宿管理系统作为我们课程设计的课题,这个系统的主要目的在于利用面向对象程序设计来实现旅客的入住、退订、查阅、更换房间以及查询。这个程序总共4个类,以组长为中心,其他两个组员每个人分别负责基本的一个基础个类,由组长进行汇总,再做最后的修改、调整、编译、运行。在汇总的过程中,我们对住院的天数的这一情况设计方法产生了分歧,后来组合在一起之后,发现我们的程序漏洞百出,出现了很多问题,就开始一起进行进一步的修改与完善。从一开始毫无头绪一起慢慢琢磨、慢慢摸索,我们学到了很多,对酒店住宿管理系统也越来越熟悉。
在设计中,我们通过分工完成每一个模块,并将它们整合起来,完成了这次设计。在设计中我们利用了Eclipse这个平台来修改及实现我们的程序。充分利用了java的面向对象的特点,让我们的程序架构更清晰、系统更加简洁。
关键词: 入住 退订 更换 查询 java Eclipse
住宿管理系统课程设计报告
一、开发背景
酒店住宿是现在百姓热议的话题之一,常常会有需要住宿而没有房间的情况发生,为了优化住宿管理,提高酒店住宿流通的效率,我们小组在此背景下开发了这一款酒店住宿管理系统。
二、需求分析
一个酒店住宿管理系统,有两个主要的实体(旅客、管理员),和实现注册、分配房间、收费、管理的功能。旅客--姓名、年龄、编号)。
实现记账、收费、管理的功能我们放在测试类中实现。
三、模块说明
1、入住模块
功能描述:此模块的主要功能是实现旅客入住的信息登记和实现。
输入:姓名、年龄、身份证号码、电话号码。
输出:入住成功!
2、退订模块
功能描述: 此模块的主要功能是清空房间和结清费用、注销旅客信息
输入:旅客姓名
输出:旅客个人信息以及应结算的入住费用
3、查询模块
功能描述: 查询旅客信息
输入: 旅客姓名
输出: 住宿旅客信息或不存在此旅客
四、详细设计
1、passager类
类名:passager
继承父类:无
实现接口:无
概述:定义房间类,旅客信息
属性及说明:
String names; //姓名
int ages ; //年龄
int tel ; //电话
int IDnumber; //身份证号码
方法及说明:
public passenger(String names,int age,int tel,int IDnumber, int zhusustate) //passager构造方法
2、room类
类名:room
继承父类:无
实现接口:无
概述:定义房间类,旅客所住房间及信息
属性及说明:
String room; //房间
int roomnum; //房间号
double price; //价格
方法及说明:
public String getroom() //输出room
public void setroom(String room) //获得room
public int getroomnum() //输出roomnum
public void setroomnum(int roomnum) //获得roomnum
public double getPrice() //输出Price
public void setPrice(double price) //获得Price
Public room(String room,int roomnum,doubleprice) // room构造方法
3、zhusu类
类名:zhusu
继承父类:无
实现接口:无
概述:对旅客类及房间类进行关联
属性及说明:
Room a; //room类对象
Passager b; //passager类对象
方法及说明:
public void zhusu(rooma,passager b) //zhusu构造方法
4、 tuifang类
类名:tuifang
继承父类:无
实现接口:无
概述:记录退房的旅客的退房时间
属性及说明:
int year; //年
int month; //月
int day; //日
方法及说明:
public int time() //计算天数
public tuifang(int year,int month,int day) //tuifang构造方法
5、 administrator类
类名:administrator
继承父类:无
实现接口:无
概述:定义入住、退房、查询功能
属性及说明:
zhusu num[] = new zhusu[24];
int i, j = 0;
int zhusustate = 0;
int[][]a = new int[3][6];
double[]price = {100.0, 300.0, 500.0};
int pay=0; //初始化总花费
方法及说明:
public void zhusu() //住宿
public void chaxun() //查询
public void tuifang () //退房
6、 test类
类名:Test
继承父类:无
实现接口:无
概述:实现住宿、退房、查询功能以及界面的运行
属性及说明:无
方法及说明:
public static void main(String[] ages)
五、系统实现
1、主界面
输入对应的编码,进入编码对应的模块。
2、住宿模块
输入:姓名、年龄、身份证号码、电话号码、房间类型。
输出:成功住宿的旅客
3、退房模块
输入:旅客姓名
输出:应结算的住宿费用
4、查询模块
输入:旅客姓名
输出:住宿旅客信息或不存在此人
总 结
团队结论:
课程设计说难也难,说容易也容易,说难,是因为这个任务很艰巨,无法靠一个人来实现,说容易,是因为我们团结在了一起,使任务细化,最后变成了小问题,这就和java中“面向对象”的思想一样,每个人都专门设计程序的一部分,最终再合并到一起。经过三个人的不懈努力,这个系统从起步到完善再到完美,最终大功告成。
团队心得:
经过这次课程设计,每个人对专业的认识以及自己心里的定位,心里多多少少有点深入的体会。
参考文献
[1]Dennis Kafura. Java面向对象程序设计教程[M]//JAVA面向对象程序设计教程. 2003.
[2]杨晓燕.基于应用的Java面向对象程序设计课程研究与教材建设[J].计算机教育, 2012(3):42-45.
[3]黄胜宇. Java面向对象编程的教学思路[J].科技资讯, 2010(17):203-203.
[4]邝砾,于美琪,冯文韬,等.基于层次考核的计算机类课程考试改革研究——以Java面向对象程序设计课程为例[J].计算机教育, 2017(1):62-66.
[5]杨雪. Java面向对象语言的教学探讨[J].家教世界, 2012(6):52-53.
[6]菊花. 使用综合案例贯穿Java程序设计课程教学的探索[J]. 内蒙古师范大学学报:教育科学版, 2010, 23(11):139-140.
[7]刘冬冬, 赵正平, 王秀友. Java程序设计课程实践教学改革探索[J]. 阜阳师范学院学报(自然科学版), 2014, 31(1):103-107.
[8]王国华, 刘新桥. 高职《Java程序设计》任务驱动分步迭代教学改革与实践[J]. 科技信息, 2012(3).
[9]刘才铭, 张雁. 结合实际案例的JAVA程序设计课程教学探索与实践[J]. 计算机光盘软件与应用, 2014(6):221-222.
[10]张璞, 夏英. 软件设计模式在Java程序设计课程教学中的应用研究[J]. 软件工程, 2017(7).
附录:系统源代码
1.主菜单
package 酒店管理系统;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
administrator a = new administrator();
int m = 1; //输入0返回主菜单,否则退出系统
boolean isExit = false; //标志用户是否退出系统:true为退出系统
do{
System.out.println( "****************");
System.out.println(" ***宾馆住宿管理系统*** ");
System.out.println(" 1、住宿 ");
System.out.println(" 2、退房 ");
System.out.println(" 3、查询");
System.out.println(" 4、退出系统 ");
System.out.println(" **************** ");
System.out.print(" 请选择:");
int choose = input.nextInt(); //记录用户选择的功能编号
switch(choose){
case 1://住宿
a.zhusu();
break;
case 2://退房
a.tuifang();
break;
case 3://查询
a.chaxun();
break;
case 4://退出系统
isExit = true;
break;
default:
isExit = true;
break;
}
if(!isExit){
System.out.print("输入0返回:");
m = input.nextInt();
}
else{
break; //跳出
}
}while(m == 0);
}
}
2.住宿类
package 酒店管理系统;
public class zhusu {
room a;
passenger b;
int time;
zhusu(room a,passenger b,int time){
this.a =a;
this.b = b;
this.time = time;
}
}
3.房间类
package 酒店管理系统;
public class room {
String room; //房间
int roomnum; //房间号
double price; //价格
public String getRoom() {
return room;
}
public void setRoom(String room) {
this.room = room;
}
public int getRoomnum() {
return roomnum;
}
public void setRoomnum(int roomnum) {
this.roomnum = roomnum;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public room(String room,int roomnum, double price){
super();
this.room=room;
this.roomnum=roomnum;
this.price=price;
}
}
4.旅客类
package 酒店管理系统;
public class passenger {
String names; //姓名
int age; //年龄
int tel; //电话
int IDnumber;//身份证号
public passenger(String names,int age,int tel,int IDnumber, int zhusustate){
super();
this.names=names;
this.age=age;
this.tel=tel;
this.IDnumber=IDnumber;
}
}
5.管理员类
package 酒店管理系统;
import java.util.*;
public class administrator {
zhusu num[] = new zhusu[24];
int i, j = 0;
int zhusustate = 0;
int[][]a = new int[3][6];
double[]price = {100.0, 300.0, 500.0};
int pay = 0;
Scanner input = new Scanner(System.in);
public void zhusu(){
System.out.println("请输入旅客姓名:");
String name= input.next();
System.out.println("请输入旅客的年龄:");
int age = input.nextInt();
System.out.println("请输入旅客电话:");
int tel = input.nextInt();
System.out.println("请输入旅客身份证号:");
int IDnumber = input.nextInt();
System.out.println("***房间***");
System.out.println("1、小包");
System.out.println("2、中包");
System.out.println("3、大包");
System.out.print("请选择旅客的房间:");
int room = input.nextInt();
String room1;
if(room == 1){
room1 = "小包";
}
else if(room == 2){
room1 = "中包";
}
else room1 ="大包";
for(i = 0; i<6; i++){
if(a[room-1][i]==0){
System.out.println("入住成功!");
zhusustate = 1;
break;
}
}
room bed = new room(room1, i, price[i]);
passenger ren = new passenger(name, age, tel, IDnumber, zhusustate);
int time = 0;
num[j++] = new zhusu(bed, ren, time);
}
public void chaxun(){
System.out.println("请输入旅客姓名:");
String name1 = input.next();
System.out.println(j);
for(i = 0; i<j; i++){
if(name1.equals(num[i].b