数据库课程设计-宾馆实时管理系统.docx_第1页
数据库课程设计-宾馆实时管理系统.docx_第2页
数据库课程设计-宾馆实时管理系统.docx_第3页
数据库课程设计-宾馆实时管理系统.docx_第4页
数据库课程设计-宾馆实时管理系统.docx_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1系统需求1. :根据宾馆管理系统的理念,宾馆管理系统必须满足一下需要:(1)具有方便的登记、结帐功能和预订客房的功能,能够支持团体登记和团体结帐;(2)能快速、准确地了解宾馆内的客房状态,以便管理者决策;(3)提供多种手段查询客人的信息;(4)具备一定的维护手段,有一定权利的操作员在密码的支持下才可以更改房价、房间类型、增减客房;(5)完善的结帐报表系统;(6)系统维护:如数据安全管理(含备份与恢复)、操作员管理、权限设置等。根据系统的需求分析,得到本系统的功能要求如下:功能需求1. 系统管理:管理登陆系统的用户2. 订房信息的管理:管理订房信息,对订房信息进行查询 和添加新的订房信息。3. 基础数据库管理:设置房的基本属性,如等级,价格等。4. 顾客信息管理:管理顾客的信息,查询居住记录等。性能需求(1)硬件环境:处理器:Intel Pentium 4 或更高内存:256M 或更高硬盘:40G 或更高(2)软件环境操作系统:Windows 2000/XP/Vista;支持软件:Microsoft SQL Sever 2000 , Visual C+ 6.0。系统概述有需求分析,要完成本系统的运行,需要的是客户机/服务器的运行方式。采用的是Visual C+6.0作为开发工具,采用了SQL Sever 2000 作为后台数据库,就可以满足一般的宾馆的客房管理的需求.2. :系统模块数据库设计结构设计(1) 客房标准信息的E-R图(2) 订房信息的E-R图(3) 实体之间关系的E-R图系统E-R图(1)登陆需要的数据有:登陆ID 密码pwd ,pas2.建立表格user :(2)房子的属性种类:建立表格roomtype(4) 预定房子的时候用的表格:(5) 客房表(6) 结算信息表利用查询分析器实现他们1. 建立表格user2. Bookin 表3.roomtype 表4. rooms 表5. oucall 表输入数据即可。(II) 程序设计1. 程序运行数据流程图:程序代码#defineAFX_ROOMTYPEDLG_H_487EF091_29D9_404B_B081_0DAC2C2E1223_INCLUDE_#if _MSC_VER 10009#pragma once#endif / _MSC_VER 1000/ RoomTypeDLG.h : header fileclass CRoomTypeDLG : public CDialog/ Constructionpublic:bool m_bAirCon;bool m_bTel;bool m_bTV;bool m_bToilet;bool m_bAppend;CRoomTypeDLG(CWnd* pParent = NULL);protected:DECLARE_MESSAGE_MAP();#include stdafx.h#include hotel_mis.h#include RoomTypeDLG.h#include Hotel_MISView.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CRoomTypeDLG dialogCRoomTypeDLG:CRoomTypeDLG(CWnd* pParent /*=NULL*/): CDialog(CRoomTypeDLG:IDD, pParent)/AFX_DATA_INIT(CRoomTypeDLG)m_sArea = _T();m_sBedNo = _T();m_sTypeID = _T();m_sTypeName = _T();m_sPrice = _T();/AFX_DATA_INITvoid CRoomTypeDLG:DoDataExchange(CDataExchange* pDX)10CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CRoomTypeDLG)BEGIN_MESSAGE_MAP(CRoomTypeDLG, CDialog)/AFX_MSG_MAP(CRoomTypeDLG)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CRoomTypeDLG message handlersBOOL CRoomTypeDLG:OnInitDialog()CDialog:OnInitDialog();/ TODO: Add extra initialization here/ Init Edit Text limitif (m_bAppend)/ Update Dialog CaptionSetWindowText(_T(添加客房标准);/ Init Combobox(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISAIRCON)-SetCurSel(1);(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTEL)-SetCurSel(1);(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTV)-SetCurSel(1);(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTOILET)-SetCurSel(1);else/ Update Dialog CaptionSetWindowText(_T(修改客房标准);/ Disable ID and Name EditGetDlgItem(IDC_ROOMTYPE_ID)-EnableWindow(false);GetDlgItem(IDC_ROOMTYPE_NAME)-EnableWindow(false);/ Init Comboboxif (m_bAirCon)(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISAIRCON)-SetCurSel(1);else11(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISAIRCON)-SetCurSel(0);if (m_bTel)(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTEL)-SetCurSel(1);else (CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTEL)-SetCurSel(0);if (m_bTV)(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTV)-SetCurSel(1);else (CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTV)-SetCurSel(0);if (m_bToilet)(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTOILET)-SetCurSel(1);else(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTOILET)-SetCurSel(0);return TRUE; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSEvoid CRoomTypeDLG:OnOK()/ TODO: Add extra validation hereUpdateData(true);m_sTypeID.TrimRight( );m_sTypeName.TrimRight( );m_sArea.TrimRight( );m_sBedNo.TrimRight( );m_sPrice.TrimRight( );/ Make sure all needed info is availableCString sWarning=;if ( =m_sTypeID ) sWarning=_T(标准编号);else if ( =m_sTypeName ) sWarning=_T(标准名称);else if ( =m_sArea ) sWarning=_T(客房面积);else if ( =m_sBedNo ) sWarning=_T(床位数量);else if ( =m_sPrice ) sWarning=_T(住房单价);if ( !=sWarning )sWarning += _T(不能为空);AfxMessageBox(sWarning, MB_ICONEXCLAMATION);return;/ Make sure the Number info is valid12float fArea = atof(m_sArea);if ( 0=fArea )AfxMessageBox(_T( 客房面积: 请输入非零数字),MB_ICONEXCLAMATION);return;m_sArea.Format(%.2f, fArea);float fPrice = atof(m_sPrice);if ( 0=fPrice )AfxMessageBox(_T( 住房单价: 请输入非零数字),MB_ICONEXCLAMATION);return;m_sPrice.Format(%.2f, fPrice);if ( atof(m_sPrice)99999999.99 )AfxMessageBox(_T( 住房单价溢出, 请不要超过99999999.99),MB_ICONEXCLAMATION);return;_variant_t strQuery;if (m_bAppend)/ Judge Room Type is UniquestrQuery = select * from roomtype where typeid=+m_sTypeID+;theApp.ADOExecute(theApp.m_pADOSet, strQuery);int iCount = theApp.m_pADOSet-GetRecordCount();if ( 0!=iCount )AfxMessageBox(_T( 已经存在此标准编号的记录! ),MB_ICONEXCLAMATION);return;/ Judge Room Name is UniquestrQuery = select * from roomtype where typeid!=+m_sTypeID+ andtypename=+m_sTypeName+;13theApp.ADOExecute(theApp.m_pADOSet, strQuery);iCount = theApp.m_pADOSet-GetRecordCount();if ( 0!=iCount )AfxMessageBox(_T( 已经存相同客房标准的记录! ),MB_ICONEXCLAMATION);return;/ Get other infoCString sAir(0), sTel(0), sTV(0), sToilet(0);if ( (CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISAIRCON) -GetCurSel() )sAir=1;if ( (CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTEL)-GetCurSel() )sTel=1;if ( (CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTV)-GetCurSel() )sTV=1;if ( (CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTOILET) -GetCurSel() )sToilet=1;if (m_bAppend)/ Append RecordstrQuery = insert roomtype (typeid, typename, area, bednum, price,haircondition, htelephone, htelevision, htoilet) values (+m_sTypeID+,+m_sTypeName+, +m_sArea+, +m_sBedNo+, +m_sPrice+, +sAir+,+sTel+,+sTV+, +sToilet+);if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )AfxMessageBox(_T(添加记录成功!), MB_ICONINFORMATION);/ Clear all inputm_sTypeID=m_sTypeName=m_sArea=m_sBedNo=m_sPrice=;(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISAIRCON)-SetCurSel(1);(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTEL)-SetCurSel(1);(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTV)-SetCurSel(1);(CComboBox*)GetDlgItem(IDC_ROOMTYPE_ISTOILET)-SetCurSel(1);UpdateData(false);14else AfxMessageBox(_T(添加记录失败!), MB_ICONEXCLAMATION);else/ Alter RecordstrQuery = Update roomtype set area=+m_sArea+, bednum=+m_sBedNo+,price=+m_sPrice+, haircondition=+sAir+, htelephone=+sTel+,htelevision=+sTV+, htoilet=+sToilet+ where typeid=+m_sTypeID+;if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) ) AfxMessageBox(_T(修改记录成功!), MB_ICONINFORMATION);else AfxMessageBox(_T(修改记录失败!), MB_ICONEXCLAMATION);/ Refresh RoomType ListCHotel_MISView* p =(CHotel_MISView*)(CMainFrame*)AfxGetMainWnd()-GetActiveView();p-RefreshRoomType();if (!m_bAppend) CDialog:OnOK();/ Hotel_MISView.cpp : implementation of the CHotel_MISView class#include stdafx.h#include Hotel_MIS.h#include Hotel_MISDoc.h#include Hotel_MISView.h#include RoomTypeDLG.h#include RoomDLG.h#include CheckRoomDLG.h#include CheckRemainDLG.h#include BookInDLG.h#include SearchBookInDLG.h#include CheckOutDLG.h#include SearchCheckOutDLG.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CHotel_MISViewIMPLEMENT_DYNCREATE(CHotel_MISView, CView)15BEGIN_MESSAGE_MAP(CHotel_MISView, CView)/AFX_MSG_MAP(CHotel_MISView)ON_WM_SIZE()ON_WM_CONTEXTMENU()ON_COMMAND(ID_MENU_ADDROOMTYPE, OnAddRoomType)ON_COMMAND(ID_MENU_ALTERROOMTYPE, OnAlterRoomType)ON_COMMAND(ID_MENU_DELROOMTYPE, OnDelRoomType)ON_COMMAND(ID_MENU_ADDROOM, OnAddRoom)ON_COMMAND(ID_MENU_ALTERROOM, OnAlterRoom)ON_COMMAND(ID_MENU_DELROOM, OnDelRoom)ON_COMMAND(ID_MENU_CHECKROOM, OnCheckRoom)ON_COMMAND(ID_MENU_CHECKREMAIN, OnCheckRemain)ON_COMMAND(ID_MENU_ADDBOOKIN, OnAddBookIn)ON_COMMAND(ID_MENU_ALTERBOOKIN, OnAlterBookIn)ON_COMMAND(ID_MENU_SEARCHBOOKIN, OnSearchBookIn)ON_COMMAND(ID_MENU_ADDCHECKOUT, OnAddCheckOut)ON_COMMAND(ID_MENU_ALTERCHECKOUT, OnAlterCheckOut)ON_COMMAND(ID_MENU_SEARCHCHECKOUT, OnSearchCheckOut)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CHotel_MISView construction/destructionCHotel_MISView:CHotel_MISView()/ TODO: add construction code herem_sCurrentList = ;CHotel_MISView:CHotel_MISView()BOOL CHotel_MISView:PreCreateWindow(CREATESTRUCT& cs)/ TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CView:PreCreateWindow(cs);/ CHotel_MISView drawingvoid CHotel_MISView:OnDraw(CDC* pDC)CHotel_MISDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);16/ TODO: add draw code for native data here/ CHotel_MISView diagnostics#ifdef _DEBUGvoid CHotel_MISView:AssertValid() constCView:AssertValid();void CHotel_MISView:Dump(CDumpContext& dc) constCView:Dump(dc);CHotel_MISDoc* CHotel_MISView:GetDocument() / non-debug version is inlineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CHotel_MISDoc);return (CHotel_MISDoc*)m_pDocument;#endif /_DEBUGCHotel_MISView message handlersvoid CHotel_MISView:OnSize(UINT nType, int cx, int cy)CView:OnSize(nType, cx, cy);/ TODO: Add your message handler code hereif (m_ListCtrl)CRect rect;GetClientRect(rect);rect.top += 30;m_ListCtrl.MoveWindow(rect);void CHotel_MISView:LoadListCtrl()CRect rect;GetClientRect(rect);rect.top += 30;m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,rect, this, 1);17m_ListCtrl.SetBkColor(RGB(177, 151, 240);m_ListCtrl.SetTextColor(RGB(0,0,0);m_ListCtrl.SetTextBkColor(RGB(177, 151, 240);m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);m_ListCtrl.InsertColumn(0,Node ID, LVCFMT_LEFT, 250);m_ListCtrl.InsertColumn(1,2 ID, LVCFMT_LEFT, 250);CString str;for (int i=0; iTrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this);return;void CHotel_MISView:OnAddRoomType()18/ TODO: Add your command handler code hereCRoomTypeDLG dlg;dlg.m_bAppend = true;dlg.DoModal();void CHotel_MISView:OnInitialUpdate()CView:OnInitialUpdate();/ TODO: Add your specialized code here and/or call the base class/ Create a Static ctrl for tipCRect rect;rect.left = rect.top =5;rect.bottom = 30;rect.right = 120;m_StaticCtrl.Create(m_sCurrentList, WS_VISIBLE, rect, this, 1);void CHotel_MISView:RefreshRoomType()if (m_ListCtrl) m_ListCtrl.DestroyWindow();CreateRoomType();m_sCurrentList = _T(房间标准列表);m_StaticCtrl.SetWindowText(m_sCurrentList);void CHotel_MISView:CreateRoomType()/Update m_sCurrentList and Static Ctrlm_sCurrentList = _T(房间标准列表);m_StaticCtrl.SetWindowText(m_sCurrentList);/ Get Client RectCRect rect;GetClientRect(rect);rect.top += 30;/ Createm_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect,this, 1);/ Set Colorm_ListCtrl.SetBkColor(RGB(177, 151, 240);m_ListCtrl.SetTextColor(RGB(0,0,0);19m_ListCtrl.SetTextBkColor(RGB(177, 151, 240);/ Set EX-Stylem_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);/ Create Headerm_ListCtrl.InsertColumn(0,_T(标准编号), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(1,_T(标准名称), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(2,_T(房间面积), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(3,_T(床位数量), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(4,_T(住房单价/每天), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(5,_T(是否有空调), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(6,_T(是否有电话), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(7,_T(是否有电视), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(8,_T(是否有卫生间), LVCFMT_LEFT, 100);/ Get all records_variant_t Holder, strQuery;strQuery = select * from roomtype order by typeid;theApp.ADOExecute(theApp.m_pADOSet, strQuery);int iCount = theApp.m_pADOSet-GetRecordCount();if ( 0=iCount ) return;CString str;theApp.m_pADOSet-MoveFirst();for(int i=0; iGetCollect(typeid);str = Holder.vt=VT_NULL?:(char*)(_bstr_t)Holder;m_ListCtrl.InsertItem(i, str);/ Get typenameHolder = theApp.m_pADOSet-GetCollect(typename);str = Holder.vt=VT_NULL?:(char*)(_bstr_t)Holder;m_ListCtrl.SetItemText(i, 1, str);/ Get areaHolder = theApp.m_pADOSet-GetCollect(area);str.Format(%.2f, Holder.dblVal);m_ListCtrl.SetItemText(i, 2, str);/ Get bednumHolder = theApp.m_pADOSet-GetCollect(bednum);20str.Format(%d, Holder.vt=VT_NULL?0:HVal);m_ListCtrl.SetItemText(i, 3, str);/ Get priceHolder = theApp.m_pADOSet-GetCollect(price);str.Format(%.2f, Holder.vt=VT_NULL?0:Holder.dblVal);m_ListCtrl.SetItemText(i, 4, str);/ Get airConditionHolder = theApp.m_pADOSet-GetCollect(haircondition);if (Holder.vt=VT_NULL?0:Holder.iVal) str = _T(有); else str = _T(没有);m_ListCtrl.SetItemText(i, 5, str);/ Get PhoneHolder = theApp.m_pADOSet-GetCollect(htelephone);if (Holder.vt=VT_NULL?0:Holder.iVal) str = _T(有); else str = _T(没有);m_ListCtrl.SetItemText(i, 6, str);/ Get TVHolder = theApp.m_pADOSet-GetCollect(htelevision);if (Holder.vt=VT_NULL?0:Holder.iVal) str = _T(有); else str = _T(没有);m_ListCtrl.SetItemText(i, 7, str);/ Get TVHolder = theApp.m_pADOSet-GetCollect(htoilet);if (Holder.vt=VT_NULL?0:Holder.iVal) str = _T(有); else str = _T(没有);m_ListCtrl.SetItemText(i, 8, str);theApp.m_pADOSet-MoveNext();void CHotel_MISView:OnAlterRoomType()/ TODO: Add your command handler code hereif ( m_ListCtrl & m_sCurrentList!=房间标准列表 )m_ListCtrl.DestroyWindow();CreateRoomType();return;if ( !m_ListCtrl )CreateRoomType();return;21/Popup Alter DialogPOSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();if (pos = NULL) AfxMessageBox(_T( 没有选中的记录! ),MB_ICONEXCLAMATION);elsedlg.DoModal();void CHotel_MISView:OnDelRoomType()/ TODO: Add your command handler code hereif ( m_ListCtrl & m_sCurrentList!=房间标准列表 )m_ListCtrl.DestroyWindow();CreateRoomType();return;if ( !m_ListCtrl )CreateRoomType();return;/ Del RecordsPOSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();if ( pos = NULL )AfxMessageBox(_T(没有选中的记录!), MB_ICONEXCLAMATION);return;else_variant_t strQuery, Holder;strQuery = select typename from roomtype;theApp.ADOExecute(theApp.m_pADOSet, strQuery);22int iCount = theApp.m_pADOSet-GetRecordCount();if ( 0=iCount )AfxMessageBox(_T(请先进行客房标准设置!), MB_ICONEXCLAMATION);return;CRoomDLG dlg;dlg.m_bAppend = true;dlg.DoModal();void CHotel_MISView:RefreshRoom(_variant_t strQuery)if (m_ListCtrl) m_ListCtrl.DestroyWindow();CreateRoom( strQuery );m_sCurrentList = _T(客房信息列表);m_StaticCtrl.SetWindowText(m_sCurrentList);void CHotel_MISView:CreateRoom(_variant_t strQuery)/Update m_sCurrentList and Static Ctrlm_sCurrentList = _T(客房信息列表);m_StaticCtrl.SetWindowText(m_sCurrentList);/ Get Client RectCRect rect;GetClientRect(rect);rect.top += 30;/ Createm_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect,this, 1);/ Set Colorm_ListCtrl.SetBkColor(RGB(177, 151, 240);m_ListCtrl.SetTextColor(RGB(0,0,0);m_ListCtrl.SetTextBkColor(RGB(177, 151, 240);/ Set EX-Stylem_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);/ Create Headerm_ListCtrl.InsertColumn(0,_T(客房编号), LVCFMT_LEFT, 100);23m_ListCtrl.InsertColumn(1,_T(客房类型), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(2,_T(客房位置), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(3,_T(客房单价), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(4,_T(是否被定), LVCFMT_LEFT, 100);m_ListCtrl.InsertColumn(5,_T(备注), LVCFMT_LEFT, 200);/ Get all records_variant_t Holder;theApp.ADOExecute(theApp.m_pADOSet, strQuery);int iCount = theApp.m_pADOSet-GetRecordCount();if ( 0=iCount ) return;CString str;theApp.m_pADOSet-MoveFirst();for(int i=0; iGetCollect(roomNo);str = Holder.vt=VT_NULL?:(char*)(_bstr_t)Holder;m_ListCtrl.InsertItem(i, str);/ Get room typeHolder = theApp.m_pADOSet-GetCollect(roomtype);str = Holder.vt=VT_NULL?:(char*)(_bstr_t)Holder;m_ListCtrl.SetItemText(i, 1, str);/ Get positionHolder = theApp.m_pADOSet-GetCollect(roomposition);str = Holder.vt=VT_NULL?:(char*)(_bstr_t)Holder;/str.Format(%.2f, Holder.dblVal);m_ListCtrl.SetItemText(i, 2, str);/ Get priceHolder = theApp.m_pADOSet-GetCollect(roomprice);str.Format(%.2f, Holder.vt=VT_NULL?0:Holder.dblVal);m_ListCtrl.SetItemText(i, 3, str);/ Get PutupHolder = theApp.m_pADOSet-GetCollect(putup);if (Holder.vt=VT_NULL?0:Holder.iVal) str = _T(有); else str = _T(没有);m_ListCtrl.SetItemText(i, 4, str);/ Get MemoHolder = theApp.m_pADOSet-GetCollect(roommemo);str = Holder.vt=VT_NULL?:(char*)(_bst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论