版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.建筑大学计算机科学与技术学院程序设计实用案例选讲大作业说明书题目:房地产中介管理系统课程:程序设计实用案例选讲院 (部):计算机科学与技术专业:网络工程班级:网络 131学生:高雷学号:20131113033指导教师:袁卫华完成日期:2014/01/08. . .目 录房地产中介管理系统 .错误! 未定义书签。一、问题描述 .1二、设计思想 .1三、系统结构 .1四、程序流程(或模块划分).2五、源程序 .3六、系统测试及操作界面.22结 论 .30参考文献 .331. . .房地产中介管理系统一、问题描述某房屋中介公司主要的业务包括房屋出租和二手房买卖,请编程实现“房屋中介管理系统” ,具
2、体要求如下:一、房源基本信息管理,(房屋编号,户型 (如两室一厅,三室两厅),具体地址(坐落位置),建造年月,状态(待售,待出租,已售,已出租等) ,价格(租金 / 月或售价),房主,联系方式等),请编程实现这些基本信息的增、删、改、查等操作。二、房屋出租操作,对于所有“待出租” 状态的房屋,可以执行出租操作,其状态转换为 “已出租”,根据出租的月数, 计算租金,并征收中介费 (中介费一般等于一个月的租金) ;处于“已出租”状态的房屋不能执行该操作。三、房屋出售操作,对于所有“待出售”状态的房屋,可以执行出手操作,其状态转换为“已售” ,根据房价和中介费计算方法(自己查),计算应该征收的中介费
3、二、设计思想此管理系统主要实现对房源的增删改查四个主要功能,以及将数据输出保存文件。本系统分为管理员和普通用户两个类别用户,管理员可以对房源信息的增删改查等操作,普通用户无法更改信息,可以查询信息。另外,针对大量的用户,可以注册新的用户。管理员在添加新的房源信息时需要确保输入每一个信息,否则会提醒管理员输入完整。修改信息可以修改一个信息,也可以同时修改多个信息,修改成功会依次提示。查询时主要可以通过查询户型以及房屋状态查询。用户查询到需要的房源时通过管理员修改房源信息,并将房屋的状态改变出租或出售给用户。三、系统结构房地产管理系统包括7 个主要类:BuildingSystem.Java : 主
4、操作界面,登录界面、选择用户类型等信息 Admin.java 管理员登录界面Admin1.java管理员操作界面RegisterException.java用于两次密码不一致时抛异常User.java普通用户登录界面User1.java普通用户操作界面ZhuCe.java 新用户注册. . .四、程序流程(或模块划分)图 4-1程序流程图. . .五、源程序BuildingStystempackage gaolei;public class BuildingSystem implements Runnable,ActionListener JFrame f1;JPanel p1, p2,p3,
5、p4;JLabel l21;JButton function1, function2, function3, function4;JButton end;Thread scollWorsThread;boolean stopScorlling;BuildingSystem() f1 = new JFrame(-房屋中介管理系统-);p1 = new JPanel();p1.setBackground(Color.white);p1.setLayout(new GridLayout(5, 1, 5, 5);function1 = new JButton(【管理员登录通道】);p1.add(fun
6、ction1);function1.setBackground(Color.getHSBColor(100, 152, 188);function1.addActionListener(this);function2 = new JButton(【普通用户登陆通道】);function2.setBackground(Color.getHSBColor(100, 152, 188);p1.add(function2);function2.addActionListener(this);function3 = new JButton(【新用户注册】);p1.add(function3);funct
7、ion3.setBackground(Color.getHSBColor(100, 152, 188);function3.addActionListener(this);function4 = new JButton(【系统信息】);p1.add(function4);function4.setBackground(Color.getHSBColor(100, 152, 188);function4.addActionListener(this);end = new JButton(【 退 出 程 序 】);p1.add(end);end.setBackground(Color.getHSB
8、Color(100, 152, 188);end.addActionListener(this);f1.add(BorderLayout.EAST, p1);p2 = new JPanel();p2.setBackground(Color.getHSBColor(100, 10,255);p2.setLayout(new GridLayout(3, 1);JLabel empty1 = new JLabel( );p2.add(empty1);l21 = new JLabel(高雷房地产公司欢迎您O(_)O);l21.setForeground(Color.DARK_GRAY);. . .l2
9、1.setFont(new Font(华文行楷 ,1,17);p2.add(l21);JLabel empty2 = new JLabel( );p2.add(empty2);f1.add(BorderLayout.NORTH, p2);p3 = new JPanel()private static final long serialVersionUID = 1L;public void paint(Graphics g)ImageIcon icon=new ImageIcon(F:Java information12.png); Image image=icon.getImage();g.d
10、rawImage(image, 0,0, null);p3.setBackground(Color.white);JLabel nn = new JLabel( );p3.add(nn);f1.add(BorderLayout.SOUTH, p3);p4 = new JPanel()private static final long serialVersionUID = 1L;public void paint(Graphics g)ImageIcon icon=new ImageIcon(F:Java information12.png); Image image=icon.getImage
11、();g.drawImage(image, 0,0, null); ;p4.setBackground(Color.white);f1.add(BorderLayout.CENTER, p4);scollWorsThread = new Thread(this);scollWorsThread.start();f1.setResizable(false);f1.setSize(470, 285);f1.setVisible(true);f1.setLocation(400,);f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public v
12、oid run() while (true) int x = l21.getBounds().x;int y = l21.getBounds().y;x += 5;l21.setLocation(x, y);if (x 420) x = 0;l21.setLocation(x, y);try Thread.sleep(1000); catch (InterruptedException e) if (stopScorlling = true) return;. . .public void actionPerformed(ActionEvent e)try if (e.getSource()
13、= function1) new Admin(); else if (e.getSource() = function2) new User(); else if (e.getSource() = function3) new ZhuCe(); else if (e.getSource() = function4) JOptionPane.showMessageDialog(null, this, 系统简介 , 3); else if (e.getSource() = end) System.exit(1); catch (Exception e1) e1.printStackTrace();
14、public static void main(String args) throws Exceptionnew BuildingSystem();Adminpackage gaolei;public class BuildingSystem implements Runnable,ActionListener JFrame f1;JPanel p1, p2,p3,p4;JLabel l21;JButton function1, function2, function3, function4;JButton end;Thread scollWorsThread;boolean stopScor
15、lling;BuildingSystem() f1 = new JFrame(-房屋中介管理系统-);p1 = new JPanel();p1.setBackground(Color.white);p1.setLayout(new GridLayout(5, 1, 5, 5);function1 = new JButton(【管理员登录通道】);p1.add(function1);function1.setBackground(Color.getHSBColor(100, 152, 188);function1.addActionListener(this);function2 = new J
16、Button(【普通用户登陆通道】);function2.setBackground(Color.getHSBColor(100, 152, 188);p1.add(function2);function2.addActionListener(this);function3 = new JButton(【新用户注册】);p1.add(function3);function3.setBackground(Color.getHSBColor(100, 152, 188);function3.addActionListener(this);function4 = new JButton(【系统信息】
17、);. . .p1.add(function4);function4.setBackground(Color.getHSBColor(100, 152, 188);function4.addActionListener(this);end = new JButton(【 退 出 程 序 】);p1.add(end);end.setBackground(Color.getHSBColor(100, 152, 188);end.addActionListener(this);f1.add(BorderLayout.EAST, p1);p2 = new JPanel();p2.setBackgrou
18、nd(Color.getHSBColor(100, 10,255);p2.setLayout(new GridLayout(3, 1);JLabel empty1 = new JLabel( );p2.add(empty1);l21 = new JLabel(高雷房地产公司欢迎您O(_)O);l21.setForeground(Color.DARK_GRAY);l21.setFont(new Font(华文行楷 ,1,17);p2.add(l21);JLabel empty2 = new JLabel( );p2.add(empty2);f1.add(BorderLayout.NORTH, p
19、2);p3 = new JPanel()private static final long serialVersionUID = 1L;public void paint(Graphics g)ImageIcon icon=new ImageIcon(F:Java information12.png); Image image=icon.getImage();g.drawImage(image, 0,0, null); ;p3.setBackground(Color.white);JLabel nn = new JLabel( );p3.add(nn);f1.add(BorderLayout.
20、SOUTH, p3);p4 = new JPanel()private static final long serialVersionUID = 1L;public void paint(Graphics g)ImageIcon icon=new ImageIcon(F:Java information12.png);Image image=icon.getImage();g.drawImage(image, 0,0, null);p4.setBackground(Color.white);f1.add(BorderLayout.CENTER, p4)scollWorsThread = new
21、 Thread(this);scollWorsThread.start();f1.setResizable(false);f1.setSize(470, 285);f1.setVisible(true);f1.setLocation(400,);. . .f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void run() while (true) int x = l21.getBounds().x;int y = l21.getBounds().y;x += 5;l21.setLocation(x, y);if (x 420)
22、 x = 0;l21.setLocation(x, y);try Thread.sleep(1000); catch (InterruptedException e) if (stopScorlling = true) return;public void actionPerformed(ActionEvent e)try if (e.getSource() = function1) new Admin(); else if (e.getSource() = function2) new User(); else if (e.getSource() = function3) new ZhuCe
23、(); else if (e.getSource() = function4) JOptionPane.showMessageDialog(null, this, 系统简介 , 3); else if (e.getSource() = end) System.exit(1); catch (Exception e1) e1.printStackTrace();public static void main(String args) throws Exceptionnew BuildingSystem();Admin1package gaolei;public class Admin1 exte
24、nds JFrame implements ActionListener JFrame f;JLabel jl,j2,j3,j4,j5,j6,j7,j8;JTextField jf1,jf2,jf3,jf4,jf5,jf6,jf7,jf8;JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8;JPanel jp1;int id;. . .int m=0;JTextArea result;String DBDriver=sun.jdbc.odbc.JdbcOdbcDriver;String connectionStr=jdbc:odbc:HouseInfo1;State
25、ment stmt=null,s1=null;Connection con=null;ResultSet rs=null;PreparedStatement stmt1=null,stmt2=null,stmt3=null,stmt4=null; public Admin1() f = new JFrame(房源基本信息 );jp1=new JPanel();jp1.setLayout(new GridLayout(5, 2);jl=new JLabel(编号: );j2=new JLabel(房主: );j3=new JLabel(联系方式: );j4=new JLabel(坐落位置: );
26、j5=new JLabel(建造年月: );j6=new JLabel(价格: );j7=new JLabel(户型 );j8=new JLabel(房屋状态 );jf1=new JTextField(10);jf2=new JTextField(10);jf3=new JTextField(10);jf4=new JTextField(10);jf5=new JTextField(10);jf6=new JTextField(10);jf7=new JTextField(10);jf8=new JTextField(10);jb1=new JButton(录入 );jb2=new JButt
27、on(修改 );jb3=new JButton(删除 );jb4=new JButton(查询 );jp1.add(jl);jp1.add(jf1);jp1.add(j2);jp1.add(jf2);jp1.add(j3);jp1.add(jf3);jp1.add(j4);jp1.add(jf4);jp1.add(j5);jp1.add(jf5);jp1.add(j6);jp1.add(jf6);jp1.add(j7);jp1.add(jf7);. . .jp1.add(j8);jp1.add(jf8);jp1.add(jb1);jp1.add(jb2);jp1.add(jb3);jp1.ad
28、d(jb4);jb1.addActionListener(this);jb2.addActionListener(this);jb3.addActionListener(this);jb4.addActionListener(this);f.add(BorderLayout.NORTH, jp1);result = new JTextArea(60, 100);result.setEditable(false);JScrollPane jScrollPane=new JScrollPane(result);f.add(BorderLayout.CENTER, jScrollPane);f.se
29、tSize(500, 600);f.setLocation(600, 80);f.setVisible(true);f.validate();public void insert()int m=0;tryClass.forName(DBDriver);/加载驱动器表达式catch(ClassNotFoundException e1)e1.printStackTrace();String id=jf1.getText();String name=jf2.getText();String tel=jf3.getText();String loc=jf4.getText();String riqi=
30、jf5.getText();String price=jf6.getText();String type=jf7.getText();String zt=jf8.getText();if(!id.equals()&!name.equals()&!tel.equals()&!loc.equals()&!riqi.equals()&!price.equals()&!type.equals()&!zt.equals()trycon=DriverManager.getConnection(connectionStr,);/建立数据库连接Stringsql1=INSERTINTOhouse(id,nam
31、e,tel,loc,riqi,price,type,zt)values(?,?,?,?,?,?,?,?);PreparedStatement stmt1=con.prepareStatement(sql1);stmt1.setString(1,id);stmt1.setString(2,name);stmt1.setString(3,tel);stmt1.setString(4,loc);stmt1.setString(5,riqi);stmt1.setString(6,price);. . .stmt1.setString(7,type);stmt1.setString(8,zt);stmt
32、1.execute();stmt1.close();con.close();m=1;catch (SQLException e1) e1.printStackTrace();if(m=1)JOptionPane.showMessageDialog(this, 信息已经成功录入);if(m=0)JOptionPane.showMessageDialog(this, 您输入的不符合要求 ); public void xiugai()tryClass.forName(DBDriver);/加载驱动器表达式catch(ClassNotFoundException e1)e1.printStackTra
33、ce();int n=0;String id=jf1.getText(); String name=jf2.getText();String tel=jf3.getText(); String loc=jf4.getText(); String riqi=jf5.getText(); String price=jf6.getText(); String type=jf7.getText(); String zt=jf8.getText(); if(!id.equals()trycon=DriverManager.getConnection(connectionStr,);/ 建立数据库连接 i
34、f(!name.equals()String sql2=Update house set name=? where id=?;stmt1=con.prepareStatement(sql2);stmt1.setString(2,id);stmt1.setString(1,name);stmt1.execute();JOptionPane.showMessageDialog(this, 房主已经成功修改);if(!tel.equals()String sql3=Update house set tel=? where id=?;stmt1=con.prepareStatement(sql3);s
35、tmt1.setString(2,id);stmt1.setString(1,tel);stmt1.execute();stmt1.close();JOptionPane.showMessageDialog(this, 联系方式已经成功修改);. . .if(!loc.equals()String sql3=Update house set loc=? where id=?;stmt1=con.prepareStatement(sql3);stmt1.setString(2,id);stmt1.setString(1,loc);stmt1.execute();stmt1.close();JOp
36、tionPane.showMessageDialog(this, 坐落位置已经成功修改);if(!riqi.equals()String sql3=Update house set riqi=? where id=?;stmt1=con.prepareStatement(sql3);stmt1.setString(2,id);stmt1.setString(1,riqi);stmt1.execute();stmt1.close();JOptionPane.showMessageDialog(this, 建造日期已经成功修改);if(!price.equals()String sql3=Upda
37、te house set price=? where id=?;stmt1=con.prepareStatement(sql3);stmt1.setString(2,id);stmt1.setString(1,price);stmt1.execute();stmt1.close();JOptionPane.showMessageDialog(this, 价格已经成功修改);if(!type.equals()String sql3=Update house set type=? where id=?;stmt1=con.prepareStatement(sql3);stmt1.setString
38、(2,id);stmt1.setString(1,type);stmt1.execute();stmt1.close();JOptionPane.showMessageDialog(this, 户型已经成功修改);if(!zt.equals()String sql3=Update house set zt=? where id=?;stmt1=con.prepareStatement(sql3);stmt1.setString(2,id);stmt1.setString(1,zt);stmt1.execute();stmt1.close();JOptionPane.showMessageDia
39、log(this, 房屋状态已经成功修改);. . .con.close();n=1;catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();if(n=0)JOptionPane.showMessageDialog(this, 您输入的不符合要求);public void delete()int n=0;tryClass.forName(DBDriver);/加载驱动器表达式catch(ClassNotFoundException e1)e1.printStackTrace();String i
40、d=jf1.getText();String name=jf2.getText();String tel=jf3.getText();String loc=jf4.getText();String riqi=jf5.getText();String price=jf6.getText();String type=jf7.getText();String zt=jf8.getText();if(!id.equals()|!name.equals()|!tel.equals()|!loc.equals()|!riqi.equals()|!price.equals()|!type.equals()|
41、!zt.equals()trycon=DriverManager.getConnection(connectionStr,);/建立数据库连接String sql2=delete from house where id=?;stmt1=con.prepareStatement(sql2);stmt1.setString(1,id);stmt1.execute();stmt1.close();con.close();n=1;catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();if(n=1)JO
42、ptionPane.showMessageDialog(this, 信息已经成功删除);if(n=0)JOptionPane.showMessageDialog(this, 对不起,您输入的信息有误,未成功删除。);public void search()int n=0;try. . .Class.forName(DBDriver);/加载驱动器表达式catch(ClassNotFoundException e1)e1.printStackTrace();String id=jf1.getText();String name=jf2.getText();String tel=jf3.getTe
43、xt();String loc=jf4.getText();String riqi=jf5.getText();String price=jf6.getText();String type=jf7.getText();Stringzt=jf8.getText();if(!id.equals()|!name.equals()|!tel.equals()|!loc.equals()|!riqi.equals()|!price.equals()|!type.equals()|!zt.equals()trycon=DriverManager.getConnection(connectionStr,);
44、/建立数据库连接Statement stmt=con.createStatement();String sql=Select*from house where id=;sql=sql+id+;rs=stmt.executeQuery(sql);while(rs.next()String id1=rs.getString(id);String name1=rs.getString(name);String tel1=rs.getString(tel);String loc1=rs.getString(loc);String riqi1=rs.getString(riqi);String pric
45、e1=rs.getString(price);String type1=rs.getString(type);String zt1=rs.getString(zt);String str=房屋编号 -+id1+n客户 -+name1+n联系方式 -+tel1+n坐 落 位 置 -+loc1+n建 造 日 期 -+riqi1+n价 格-+price1+n户型 -+type1+n房屋状态 -+zt1;result.append(str);result.append(n);JOptionPane.showMessageDialog(this, 成功查询到所需信息);stmt.close();con.
46、close();n=1;catch (SQLException e1) / TODO Auto-generated catch block e1.printStackTrace();if(n=0)JOptionPane.showMessageDialog(this, 对不起,您所查询的信息不存在 ); public static void main(String args)new Admin1();public void actionPerformed(ActionEvent e) . . .if(e.getSource()=jb1)insert();if(e.getSource()=jb2)
47、xiugai();if(e.getSource()=jb3)delete();if(e.getSource()=jb4)search(); RegisterExceptionpackage gaolei;public class RegisterException extends RuntimeExceptionpublic RegisterException() super(用于登录异常的情况, 例如密码两次输入不一致等情况);Userpackage gaolei;public class User extends JFrame implements ActionListener JLabel jl1,jl2;JTextField jf1,jf2;JPanel jp1,jp2,jp3;JButton jb;String DBDriver=sun.jdbc.odbc.JdbcOdbcDriver;String connectionStr=jdbc:odbc:NewUser;Statement stmt=null,s1=null;Connection con=null;int number=0;User()numbe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳务人员管理实施方案
- 建筑防腐保温工程技术规范
- 博物馆数字系统机房管理制度
- 学习习惯养成教育活动指导原则
- 2025年挖掘机操作(挖掘机使用)试题及答案
- 2025年投资经理(投资管理技巧)试题及答案
- 仓管员验收试题及答案
- 2025年体检中心(体检项目解读)试题及答案
- 2025年糖艺配色原则应用(原则应用案例)试题及答案
- 关于大学生夜不归宿的检讨书
- 2026乐山市市中区国有企业第二批社会招聘6人考试备考试题及答案详解
- 2026年渠县人力资源和社会保障局增量政策性岗位招募175人笔试备考试题及答案详解
- 第三章 3D服装设计基础应用(课件)-《服装设计与虚拟仿真表现》同步教学(纺织出版社)
- 2026宁夏中卫市海原县属国有企业领导人员招聘9人考试参考题库及答案详解
- 2022 低环境温度空气源多联式热泵(空调)机组
- 2026新版三年级上册语文暑假课文预习完整版
- 公司财务管理制度完整范本
- 2023版MRI临床应用安全专家共识课件
- 2025四川省夹金山国有林保护局有限公司招聘6人笔试历年参考题库附带答案详解
- 2026年审计系统公文写作规范考试题
- 2026年农商银行网络运维岗位题库
评论
0/150
提交评论