酒店管理系统C++源代码.pdf

上传人:无*** 文档编号:90917805 上传时间:2023-05-18 格式:PDF 页数:72 大小:4.63MB
返回 下载 相关 举报
酒店管理系统C++源代码.pdf_第1页
第1页 / 共72页
酒店管理系统C++源代码.pdf_第2页
第2页 / 共72页
点击查看更多>>
资源描述

《酒店管理系统C++源代码.pdf》由会员分享,可在线阅读,更多相关《酒店管理系统C++源代码.pdf(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、酒店管理系统C+源代码-仅供参考学习,切勿用于任何商业用途#include#include#include#include#include#include#include#include#include*,*/CLASS NAME:MENU/DETAILS一 需求分析(1)顾客1查看房间信息(空房号,等级,床位数)2入 住(房号,姓名,身份证)3退 房(结账)(2)管理员1查看房间信息(空房号,房间状态,等级,床位数)2入 住(房号,改变房间状态,登记人)3退 房(结账,登记人)实体1房间:号 码c_room等 级c_dank床 数jnbed状态 c_statds价 格c_rate2顾客:身

2、份 证id人数 m要求等级r入住房间room这个时候不知道是设计类还是功能模块:程序流程1.管理员登陆2.选择功能1.登记入住 void check_in();2.退房 void check_out();3.定房 void book();4.订房3.管理员退出四功能模块1顾客模块1)登记入住1输入人数m和房间等级要求r2按r搜索空房再按m搜索3如果有符合条件的显示4如果没有则给出优化方案5选择房间6给出每个人每天要付的费用dayrent7登记个人信息8改变房间状态2)退房1计算每人应付费用和总共费用2改变房间状态3)订房1输入人数m房间等级要求r2按r搜索空房再按m搜索3如果有符合条件的显示4

3、如果没有则给出优化方案5选择房间2管理员模块1)登录系统1输入用户名和密码2检验密码3通过/重新输入2)登记入住(同上)3)退 房(同上)4)订 房(同上)5)房间信息管理1显示空房及对应的等级空房2显示已订房号码及开始入住日期:IT CONTROLS OVER ALL THE FUNCTIONS/*class menu(public:void main_menu(void);void startup(void);void box(void);void line_hor(int,int,int,char);void line_ver(int,int,int,char););/*/CLASS N

4、AME:HKEEP/DETAILS:IT CONTROLS OVER ALL FUNCTIONS/RELATED TO HKEEP/*class hkeep(public:hkeep(void);-hkeep(void);void add(void);void modify(void);void deletion(void);void displayjist(void);private:void display_record(int);int found_record(int);void delete_record(int);void modify_record(int);int record

5、no(int);int last_code(void);int code;char name20,roomno10,order99;/CLASS NAME:MENU/FUNCTION NAME:LINE_HOR/DETAILS:IT ACCEPTS THE ROWS AND COLUMNS AND/DRAWS HORIZONTAL LINES,*void menu:line_hor(int columnl,int column2,int row,char c)(for(column1;column1=column2;column1+)/gotoxy(column1,row);coutc;_*/

6、CLASS NAME:MENU/FUNCTION NAME:LINE_VER/DETAILS:IT ACCEPTS ROWS AND COLUMNS AND/DRAWS THE VERTICAL LINE*void menu:line_ver(int row1,int row2,int column,char c)(for(row1;row1=row2;row1+)gotoxy(column,row1);cout c;*/CLASS NAME:MENU/FUNCTION NAME:STARTUP/DETAILS:IT CREATES THE STARTING SCREEN*void menu:

7、startup(void)/clrscr();int i,j,s;char a =H*O*T*E*LM;char b =M*A*N*A*G*E*M*E*NT;for(i=0;i=79;i+)line_ver(1,25,i,179);/gotoxy(1,11);clreol();gotoxy(1,13);clreol();j=63;s=100;for(i=1;i=43;i+)(sound(s);s=s+20;delay(50);gotoxy(1,12);clreol();gotoxy(i,12);coutb;gotoxy(j,12);couta;j-;gotoxy(1,1);)/nosound(

8、);delay(100);char ch=219;s=500;for(i=0;i=1;i-)(sound(s);s=s-10;gotoxy(M4);coutch;delay;)nosound();delay(IOOO);clrscr();coutnnnnnnnnnnnttttProject made bychar jklf=HABCDEF;coutHnntttttt;for(int u=0;u7;u+)coutjklf;_delay(80);char iklfin=GHIJK:;for血t v=0;vv7;v+)_f coutviklf1M:_delav(80);charcoutvvntttt

9、tt”;for(int w=0;wv5;w+)_ coutvviklf2w:_ delav(80);Idelay 100);yy*/CLASS NAME:MENU FUNCTION NAME:BOX DETAILS:IT CREATS BOX FOR THE MENU/*void menu:box(void)line hor(2,39,1,219);line hor39.24,219):line ver(1,242219);line ver(1,24,39,219);T*m*m*m CLASS NAME:MENU FUNCTION NAME:MAIN MENU/DETAILS:IT CREAT

10、ES MENU AND CONTROLS OTHER/FUNCTION*void menu:main menu(void)char ch;while _clrscr。:_textmode(C40):_clrscrO:_ box。:_qotoxv(12;cout to ex让 or aay key to continue._ ch=qetch。;_if(ch=27)_return:_ clrscrO:_ qotoxv(1.2):_coutvv Order Serial No.;_ m.line hor(1,793196);_ m.line hor(1,79,24,196);elserow=row

11、+2;if(!found)(_sound(500);_delav(100):_nosoundO:_aotoxy(1,5);coutvvRecords not found”;if(flag)_IQOtoxy(66,1);coukv”aoe No.:“vvpaaeno;_qotoxv(1,25);coutvv ress a/-key to continue.”;_aetchO;Lfile.closeO:T CLASS NAME:HKEEP FUNCTION NAME:DISPLAY RECORD DETAILS:IT DISPLAYS SINGLE RECORD FOR THE GIVEN REC

12、ORDvoid hkeeD:display record(int t code)Ifstream file;file.open(HKFILE.IMRjos:binary/ios:in);file.seekg(0,ios:beq);whilef file.read)(char*)this,sizeof(hkeep)_1_if(t code=code)gotoxy(3,3);coutvvOrder serial NoJvvcode:qotoxy(3;coutvvName:uuts(name);_ qotoxy 6);coutvv“Room No.:vvroomno;_ QOtOXV(3.7):_

13、QOtOXV 7):_ coutvvOrder:puts(order);_break;file.closeO;1*CLASS NAME:HKEEP FUNCTION NAME:LAST CODE DETAILS:IT COUNTS THE RECORD IN THE FILE AND RETURNS THE LAST CODE/*int hkeep:last codeOfstream file:file.ODen(HKFILEJMRios:binary I ios:in);file.seekq(Ojos:beq);int t=0:while(file.read(char*)this,sizeo

14、f(hkeep)_t+;file.closeO:return t;1yH*CLASS NAME:HKEEP FUNCTION NAME:FOUND RECORD DETAILS:IT RETURNS THAT RECORD IS FOUND FOR THE GIVEN CODE NO.OR NOT*int hkeep:found record(int t code)fstream file;file.ODenCHKFILEJMR,ios:binary/ios:in);file.seekg(Ojos:beg):int found=0:while(file.read(char*)this,size

15、of(hkeep)_1_if(t code=code)found+;break;file.doseO;return found;1*CLASS NAME:HKEEP FUNCTION NAME:ADD DETAILS:IT ADDS THE RECORD IN THE HKEEPS FILE*void hkeep:add(void)T Fmenu m;int valid.saved=O;int t code;I code=last code。;t code+;if(t code=1)_code=t code:_ strcpy(name,abc);_ strcDV(roomno,”);_ str

16、cpy(orderxyz);_ fstream file:_ file.openHKFILE.IMR,ios:binary/ios:app);_ file.whteMchar*)this,sizeof(hkeeD);_file.close。:_ delete records code):char ch;_do_ drscK);_ qotoxy(3.3);_ coutvvOder serial NoJvvt code;_ qotoxy(3:_coutvvName:_ aotoxy(3;_ coutvvRoom n o.:_ qotoxv(3.7):_ qotoxy(3,7):_ coutvvOr

17、der:_ m.line hor(1,79,23J 96);_ do_ _J_valid=1;_ aotoxv(1、25);dreol():_ qotoxv 25);coutvv”ENTER THE NAME OF THE PERSON”:_ aotoxv(13,5);_ aets(name);_ strupr(name);_ if(strlen(name)79/strlen(name)=0)1_ valid=0:_ sound(500):_ delay0 00);_ nosound。:_ aotoxy(1,25);dreoK):_ aotoxy(L24);coutvv”LENGTH SHOU

18、LD NOT BE BLANK OR GREATER THAN 19_ gotoxy(1,25);COUtvv”ress any key to continue _ qetchO:_ qotoxy(1,24);dreoK);_ qotoxv(1,25);dreol();_ qotoxy(13:dreoK):_ I_ while(!valid);_ do/_ valid=1;_ aotoxy(1,25);dreoM):_ qotoxy 25):coutvv“ENTER THE ROOM NO.OF THE CUSTOMER,vENTER FOR BLANK”;_ gotoxv(13,6);_ a

19、ets(roomno):_ while(!valid):_ if(sti1en(roomno)=0)_ strcpv(roomnoj-);_ do_(_ valid=1;_ qotoxv(1,25);dreol。;_ ctotoxv(3,25);_ coutvv”ENTER THE ORDER OF THE CUSTOMER”;_ qotoxy(13,7);_ qets(order):_ if(strlen(order)99 II strlen(order)=0)_ valid=0;_sound(500);_ delay 00);_ nosoundO;_ aotoxv(1,25);dreoK)

20、;_ ootoxy(1,24);coutvv”SHOULD NOT BE BLANK OF GREATER THAN 99”;_ qotoxy(1,25):_ coutvvPress-key to continue._ qetchO;_qotoxy(1,24);clreolO;qotoxv(1,25):clreolO:_qotoxv(13,10);clreol。;_ while(!valid):_ qotoxy(1,25);dreoK):_ Qotoxy(1,23);clreolO;_qotoxy(1J3):coutvv“Do you want to save the record(y/n):

21、_ do/_valid=1;_ qotoxy(41.13);_ch=getche。;_ ch=touDDer(ch);_ if(ch!=Y&ch/=N).(_ valid=0;_ sound(500):_delay,100);_ nosoundO:_ gotoxy(41,13);clreolO;_ I_ lwhile(!valid):_ if(ch=Y)_ 1_ saved=7:_ code=t code;_ fstream file:file.ODen(HKFILE.IMR ios:binary I ios:app);file.write(char*)this,sizeof(hkeep);_

22、 file.closeO:_t code+;_ I_ Qotoxya,14);coutvvDo you want to add more records(v/n):;_ do_ _ valid=1;_aotoxy(41,14);_ch=qetcheO:_ ch=toupper(ch);_ if(ch!=Y&ch!=N)valid=0;sound(500);delay 00);nosound。;aotoxy(41,14);clreoK);_Iwhiledvalid);lwhile(ch=);1*CLASS NAME:HKEEP FUNCTION NAME:DELETE RECORD DETAIL

23、S:IT DELETES THE RECORD IN THE HKEEPS FILE FOR THE GWEN CODE/*void hkee。:delete record(int t code)(fstream file;file.ODenCHKFILE.IMRjos:binary/ios:in);fstream temp;temp.open(tempMR”,ios:binary/ios:ut);file.seekq(0,ios:beq):while(file.read(char*)this,sizeof(hkeep)_if(code!=t code)_temp.writedchar*)th

24、is,sizeof(hkeep);1file.closeO;temp.closeO:file.ODen(HKFILE.IMRjos:binary I ios:ut);temp.open(temp.lMR”,io s。binary/ios:in):t code=1;while(temp.read(char*)this.sizeof(hkeep)_code=t code;_file.wdtedchar*)this,sizeof(hkeep);_t code+:file.closeO;temp.close。;1*CLASS NAME:HKEEP FUNCTION NAME:DELETION DETA

25、ILS:IT GIVES THE CODE NO.TO DELETE THE RECORD IN HKEEPS FILE/*void hkeep:deletion(void)rmenu m;drscrO:int valid;int t code=0,t;char t1 code15L t2 code 51:char ch;qotoxy(3,3);coutvv Enter Order Serial No.of the record to be deleted”:gotoxv 4);coutvv or PressENTERto see from the list or O to exit:qets

26、(t1 code):t=atoi(t1 code):t code=t;if(t1 codelOl=O)_ return;沂 codefO!=10)_clrscr。:_if(Hound records code)_sound(500);_delay 00);_nosoundO:_aotoxv(3,15);coutvvRecord not found;m.line hor(1,79,24,196);_aotoxv(1,25);coutvvPress key to continue._qetch();_return:_display records code):_Qotoxv(3,12):coutv

27、vDo you wa川 to delete this record(y/n):dovalid=1;qotoxy(45,12):ch=qetch():ch=touDper(ch):if(ch!=Y 79/strlenmame)=O J_ valid=0;_ sound(500);_ delay。00):_ nosound。:_ qotoxy(1,25);clreoK):_ aotoxy(1,24):coukv”LENGTH SHOULD NOT BE BLANK OR GREATER THAN 19_ aotoxy(1,25):_ coutvvPress acy key to continue.

28、_ getch。:_ qotoxy(1,24);dreolO:_ aotoxy(1.25);dreoK);_ qotoxy(13,16);clreolO;qotoxy(L25);clreol。;gotoxy(13,17):coutvv”Chanqe(y/n):_do(_ valid=1;_ aotoxy(28,17);_ ch=aetcheO;_ ch=touDper(ch);_ if(ch!=Y&ch!=N)valid=0;sound(500);delay 00);nosoundO;aotoxv(28,17);clreoK);while(!valid);valid=0;while(!vali

29、d&ch=)_ modified=1:_ valid=1:_ aotoxv(13,17);dreoK):_ qotoxy(3,25);coutvv“ENTER THE ROOM NO.OF THE CUSTOMER,vENTER FOR BLANK”;_ qotoxv(13,17);_ gets(roomno);_计(strlen(roomno)=O J_strcDy/roomno,-):_Igotoxy(1,25):clreol。;gotoxy(13J8):coutvv“Change(y/n):;_do_(_ valid=1;_qotoxy(28,18);_ch=getcheO;_ ch=t

30、ouDDer(ch):_ if(ch!=Y&ch!=N)valid=0;sound(500);delay 00):nosoundO;qotoxy(28,18);clreolO;while(!valid):valid=0;while(!valid&ch=Y7_1_ modified=1;_ valid=1;_ aotoxv(13,21);clreoK):_ aotoxy(3,21);_ coutvv”ENTER THE ORDER OF THE CUSTOMER,vENTER FOR BLANK”;_ aotoxy(13,18);dreol();_ aets(order):_ if(strlen

31、(order)99 strlen(order)=0)_ valid=0;_ sound(500):delay(IOO);_nosound。;_ gotoxy(1,25);dreol():_Qotoxv(1,24):coutvv”SHOULD NOT BE BLANK OF GREATER THAN 99;_gotoxy(1,25);coutvvPress acy key to continue”:_qetchO;aotoxy(1,24):dreolO:qotoxv(1,25);clreoK);gotoxy(13.21):clreolO:if(!modded)_return:qotoxv(1,2

32、5);clreoK);coutvvDo you want to save the record(y/n):_do_1_valid=1;_qotoxy(41.23);_ch=getcheO:_ch=touDDer(ch);_if(ch/=Y&ch!=N)valid=0;sound(500):delay 00);nosoundO;qotoxy(41,23);clreolO;while(!valid);if(ch=N)_return;fstream file;file.openCHKFILE.IMR,ios:binary/ios:ut/ios:ate);int recno;recno=t code:

33、int location;location=(recno-7)*sizeof(hkeep):file,seekp(location):file.writedchar*)this,sizeof(hkeep);file.close。:clrscr。;sound(500):delay 00);nosoundO:qotoxy(1.14);coutvvRecord modifiedm.line hoG.79,24,196);qotoxy(1,25);coutvvPess any key to continue.”;qetch():Ty*CLASS NAME:HKEEP FUNTION NAME:MODI

34、FY DETAILS:IT TAKES THE ORDER SERIAL NO.TO MODIFY THE RECORD IN SYSTEMS FILE/*m*m*m*m*m*m*void hkeep:modify(void)(menu m;clrscr。:int valid;int t code=0,t;char”code 5,t2 code 5:char ch;qotoxv(3;coutvv Enter the Order Serial No.of the record f。be modified:;aotoxy 4);coukv or PressENTERto see form the

35、list or O to exit:qets(t1 code);t=atoi(t1 code):t code 二 t;-7 codeFO=O)_ return;if(t1 codefOl!=W_1_drscrO;_if(Hound records code)_sound(500);_delay。00);_nosound,):_Qotoxv(3,15);coutvvRecord not found”:m.line hor(1,79,24,196):_ qotoxy(1,25);coutvvPress any key to continue _ getch();return;_ display r

36、ecords code):_ qotoxy(3J2):coutvv“Do you wa/?t to modify this record:_ dovalid=1:gotoxy(45J2);ch=qetcheC:ch=toupper(ch);if(ch!=Y&ch!=N)valid=0;sound(500);delay6 00);nosound。:qotoxy(45.12);clreol。;Iwhiled valid):_-ch=N)_return:modify records code);_ return:displav list();aotoxv(1,25);clreolO;aotoxv(3

37、,25):coutvvEnter Order Serial No.of the record o rENTERto exit:Qets(t2 code);t=atoi(t2 code);t code=t;的2 code=S_return;依2 code 01!=clrscrO;if(!found recordft code)_(_ sound(500);_ delay。00);_ nosoundO:_Qotoxy(3,15):_ coutvv”Record not found”;_m.line hor(1,79,24,196);_aotoxy(1,25);coutvv“Press key to

38、 continue _aetchO:_return;display records code);qotoxy(3,12):coutDo vou want to modify this record(v/n):valid=1:_gotoxv(45,12);_ch=getcheO:_ch=toupper(ch);_if(ch!=Y&ch!=N)valid=0;sound(500);delay 00);nosoundO:qotoxy(45.12);dreolO;while(!valid);if(ch=N)_return:modify recod(t code):1y*at-*FUNCTION NAM

39、E:MAIN DETAILS:IT CALLS THE STARTUP FUNCTION AND MENU FUNCTION./*void main(void)menu m:m.startu”);m.main menu。;1附录Base.Dlg.cpp 程 序:#include”stda仅.h”#include MyPos.hinclude“BaseDlg.h#include nMaterielDlg.h#include HClassDlg.hH#ifdef_DEBUG#define new DEBUG_NEW#undefTHIS_FILEstatic charTHIS_FILE=_FIL E

40、 _;#endif /CBaseDlg dialogCBaseDlg:CBaseDlg(CWnd*pParent/*=NULL*/):CDialog(CBaseDlg:IDD,pParent)(/AFX_DATAJNIT(CBaseDlg)/NOTE:the ClassWizard will add member initialization here/AFX_DATA_INITvoid CBaseDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CBaseDlg)DDX_Control

41、(pDX,IDC_TAB_BASE,m_oTabBase);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CBaseDlg,CDialog)/AFX_MSG_MAP(CBaseDlg)/AFX_MSG_MAPEND_MESSAGE_MAP()/CBaseDlg message handlersBOOL CBaseDlg:OnInitDialog()(CDialog:OnInitDialog();/TODO:Add extra initialization herem_oTabBase.AddPage(商 品 类 另&m_oClassdlg,IDD_DIALOG_CLASS);m

42、_oTabBase.AddPage(商品资料”,&m_oMaterieldlg,IDD_DIALOG_MATERIEL);m_oTabBase.AddPage(“付款方式”,&m_oPaymodedlg,IDD_DIALOG_PAYMODE);m_oTabBase.Show();return TRUE;/return TRUE unless you set the focus to a control/EXCEPTION:OCX Property Pages should return FALSECallDlg.cpp 程序:#include stdafx.h#include MyPos.hi

43、nclude CallDlg.h#ifdef.DEBUG#define new DEBUG.NEW#undefTHIS_HLEstatic charTHIS_HLE=_FIL E _;#endifIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIH/CCallDlg dialogextern CMyPosApp theApp;CCallDlg:CCallDlg(CWnd*pParent/*=NULL*/):CDialog(CCallDlg:IDD,pParent)(/AFX_DATA_INIT(CCall

44、Dlg)/NOTE:the ClassWizard will add member initialization here AFX_DATANITvoid CCallDlgiiDoDataExchangeCCDataExchange*pDX)(CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CCallDlg)DDX_Control(pDX,IDC_STATIC_CALL,m_oCallstatic);DDX_Control(pDX,IDC_EDIT_CALLBILLID,m_oCallbillid);/)AFX_DATA_MAP)BEGIN_MESSAGE_

45、MAP(CCallDlg,CDialog)/AFX_MSG_MAP(CCallDlg)/AFX_MSG_MAPEND_MESSAGE_MAP()/CCallDlg message handlersvoid CCallDlg:OnOK()(if(dowhat=nimhappyu)(theApp.scallid=,M,;m_oCallbillid.GetWindowText(theApp.scallid);)if(dowhat=npleasedH)m_oCallbill i d.Get Wi ndowText(do what);CDialog:OnOK();)BOOL CCallDlg:OnIni

46、tDialog()CDialog:OnInitDialog();if(dowhat=,pleased)m_oCaUstatic.SetWindowText(请输入桌号:);return TRUE;/return TRUE unless you set the focus to a control/EXCEPTION:OCX Property Pages should return FALSE)CheckDlg.cpp 程序:#include stdafx.h#include MyPos.h#include uCheckDlg.hu#include HPosDlg.h#ifdef_DEBUG#d

47、efine new DEBUG_NEW#undefTHIS_FILEstatic charTHIS_FILE=_FIL E _;#endifIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIU/CCheckDlg dialogextern CMyPosApp theApp;CCheckDlg:CCheckDlg(CWnd*pParent/*=NULL*/):CDialog(CCheckDlg:IDD,pParent)(AFX_DATANIT(CCheckDlg)/)AFX_DATA_INITvoid CC

48、heckDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CCheckDlg)DDX_Control(pDX,IDC_EDIT_CONSUME,m_oConsume);DDX_Control(pDX,IDC_EDIT_CDISCOUNT,m_oCdiscount);DDX_Control(pDX,IDC_EDIT_RECEIVE,m_oReceive);DDX_Control(pDX,IDC_EDIT_CHANGE,m_oChange);DDX_Control(pDX,IDC_EDIT_

49、TOTALM,m_oTotalm);DDX_Control(pDX,IDC_COMBO_PAYMODE,m_oCombopay);DDX_Control(pDX,IDC_LIST_CHECKLIST,m_oChecklist);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CCheckDlg,CDialog)/AFX_MSG_MAP(CCheckDlg)ON_BN_CLICKED(IDC_BUTTON_CHECKOK,OnButtonCheckok)ON_EN_CHANGE(IDC_EDIT_RECEIVE,OnChangeEdi(Receive)ON_NOTIFY(NM_CL

50、ICK,IDC_LIST_CHECKLIST,OnClickListChecklist)ON_EN_CHANGE(IDC_EDIT_CDISCOUNT,OnChangeEditCdiscount)ON_BN_CLICKED(IDC_BUTTON_RF,OnButtonRf)ON_BN_CLICKED(IDC_BUTTON_HANG,OnButtonHang)AFX_MSG_MAPEND_MESSAGE_MAP()lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll/CCheckDlg mess

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁