用C++開(kāi)發(fā)系統(tǒng)的一個(gè)實(shí)例_第1頁(yè)
用C++開(kāi)發(fā)系統(tǒng)的一個(gè)實(shí)例_第2頁(yè)
用C++開(kāi)發(fā)系統(tǒng)的一個(gè)實(shí)例_第3頁(yè)
用C++開(kāi)發(fā)系統(tǒng)的一個(gè)實(shí)例_第4頁(yè)
用C++開(kāi)發(fā)系統(tǒng)的一個(gè)實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、用C+編程語(yǔ)言開(kāi)發(fā)系統(tǒng)一個(gè)實(shí)現(xiàn)例子詳講班級(jí):醫(yī)藥軟件08 學(xué)生:李華鑫日期:2010年10月份制QQ:764796723手機(jī):短號(hào):6547351問(wèn):C+開(kāi)發(fā)系統(tǒng)真的很難嗎?真的很高深嗎? 回答是: 1.說(shuō)難不難,說(shuō)容易不容易! 2.“天下是有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學(xué)有難易乎?學(xué)之,則難者亦易矣;不學(xué),則易者亦難矣?!?開(kāi)發(fā)系統(tǒng)所具備的條件C語(yǔ)言的基本功一定要扎實(shí);有關(guān)數(shù)據(jù)庫(kù)的操作要熟悉;(懂SQL語(yǔ)言的最好不過(guò),即使不懂SQL語(yǔ)言也沒(méi)關(guān)系,因?yàn)閯?chuàng)建數(shù)據(jù)庫(kù)還可以通過(guò)可視化操作來(lái)進(jìn)行,只是效率低一點(diǎn)?。┮3智逍训念^腦;(腦子不要懜!)要有耐心;要有一種“化整為零

2、”的思想在腦子里。3好了,開(kāi)場(chǎng)白結(jié)束了,下面進(jìn)入正題開(kāi)發(fā)系統(tǒng)的步驟!4第一步:構(gòu)想系統(tǒng)最終的效果藍(lán)圖下面是以一個(gè)類(lèi)似于圖書(shū)館管理系統(tǒng),學(xué)生教師管理系統(tǒng),倉(cāng)庫(kù)管理系統(tǒng)為例子的詳講。登錄界面:登錄進(jìn)去的第一個(gè)主界面:5一個(gè)系統(tǒng)所有的功能,我們要把它“化整為零”,分為幾個(gè)部分上主要功能,我們可以用菜單欄的形式來(lái)表達(dá)出來(lái):6下面是詳講各個(gè)主功能的子功能.7(一)基本信息管理1.客戶(hù)信息管理:8當(dāng)我們單擊“添加”按鈕時(shí),要出現(xiàn)一個(gè)添加信息的對(duì)話框:9當(dāng)我們單擊“修改”按鈕時(shí),要出現(xiàn)一個(gè)修改信息的對(duì)話框:10(一)基本信息管理2.倉(cāng)庫(kù)信息管理:11當(dāng)我們單擊“添加”按鈕時(shí),要出現(xiàn)一個(gè)添加信息的對(duì)話框:12

3、當(dāng)我們單擊“修改”按鈕時(shí),要出現(xiàn)一個(gè)修改信息的對(duì)話框:(很清楚,這個(gè)對(duì)話框和上一個(gè)是同一個(gè)對(duì)話框)13(一)基本信息管理3.用戶(hù)信息管理:14當(dāng)我們單擊“添加”按鈕時(shí),要出現(xiàn)一個(gè)添加信息的對(duì)話框:(在此要注意,我們給admin用戶(hù)類(lèi)型來(lái)一個(gè)標(biāo)記為“1”,其他都是“普通用戶(hù)”標(biāo)記為“2”)其他另外3個(gè)按鈕沒(méi)必要專(zhuān)門(mén)獨(dú)立做一個(gè)框架,在此我們不搞那幾個(gè)框架。15(一)基本信息管理4.修改用戶(hù)密碼:16(一)基本信息管理5.退出系統(tǒng): 在這里,退出系統(tǒng)也沒(méi)必要專(zhuān)門(mén)獨(dú)立搞一個(gè)對(duì)話框,只需要實(shí)現(xiàn)把應(yīng)用程序關(guān)閉就OK了!17(二)產(chǎn)品信息管理1.產(chǎn)品類(lèi)別管理:“添加”“修改”左右四個(gè)按鈕要彈出一樣對(duì)話框:1

4、8(二)產(chǎn)品信息管理2.產(chǎn)品信息管理:19當(dāng)我們單擊“添加”按鈕時(shí),要出現(xiàn)一個(gè)添加信息的對(duì)話框:20當(dāng)我們單擊“修改”按鈕時(shí),要出現(xiàn)一個(gè)添加信息的對(duì)話框:(與上一個(gè)對(duì)話框同一個(gè))21(三)庫(kù)存操作管理1.入庫(kù)操作:22當(dāng)我們單擊“添加”按鈕時(shí),要出現(xiàn)一個(gè)添加信息的對(duì)話框:23(三)庫(kù)存操作管理2.出庫(kù)操作:24當(dāng)我們單擊“添加”按鈕時(shí),要出現(xiàn)一個(gè)添加信息的對(duì)話框:25(三)庫(kù)存操作管理3.庫(kù)存清點(diǎn):(注意:這里只是拿來(lái)給用戶(hù)看的,為了數(shù)據(jù)庫(kù)的安全著想,在此使用視圖view存儲(chǔ)過(guò)程,而不是表table)26(四)庫(kù)存警示管理1.數(shù)量報(bào)警:(注意:這里也是用到存儲(chǔ)過(guò)程,為了數(shù)據(jù)庫(kù)的安全著想)27(

5、四)庫(kù)存警示管理2.失效報(bào)警:(注意:這里也是用到存儲(chǔ)過(guò)程,為了數(shù)據(jù)庫(kù)的安全著想)28(五)統(tǒng)計(jì)查詢(xún)管理1.產(chǎn)品入庫(kù)統(tǒng)計(jì)表:(注意:這里也是用到存儲(chǔ)過(guò)程,為了數(shù)據(jù)庫(kù)的安全著想)29(五)統(tǒng)計(jì)查詢(xún)管理2.庫(kù)存產(chǎn)品統(tǒng)計(jì)一覽表:(注意:這里也是用到存儲(chǔ)過(guò)程,為了數(shù)據(jù)庫(kù)的安全著想)30(六)系統(tǒng)數(shù)據(jù)維護(hù)1.備份數(shù)據(jù)庫(kù);2.恢復(fù)數(shù)據(jù)庫(kù)。 (這2個(gè)功能對(duì)于開(kāi)發(fā)者來(lái)講沒(méi)什么大不了,因?yàn)殚_(kāi)發(fā)者可以直接在數(shù)據(jù)庫(kù)里進(jìn)行操作;但是對(duì)于不懂計(jì)算機(jī)的用戶(hù)來(lái)說(shuō),數(shù)據(jù)庫(kù)的備份和恢復(fù)都非常重要。因此我們要為用戶(hù)提供一個(gè)簡(jiǎn)便易懂的按鈕來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的維護(hù)?。?1一個(gè)系統(tǒng)項(xiàng)目的功能藍(lán)圖就這樣我們構(gòu)思好了!(要說(shuō)明的一點(diǎn)是,你可以用

6、鉛筆在圖紙上自己進(jìn)行粗略的勾畫(huà),要相信“好記性不如爛筆頭”。在后面的n多個(gè)對(duì)話框有聯(lián)系的時(shí)候,要給各個(gè)對(duì)話框進(jìn)行ID標(biāo)號(hào)也即是標(biāo)明不同的ID號(hào),如果你不用圖紙寫(xiě)好標(biāo)記好,你會(huì)很容易忘記究竟哪個(gè)是哪個(gè),哪里是哪里!小項(xiàng)目是這樣,大項(xiàng)目更需要這樣?。?2我們數(shù)一下以上的對(duì)話框,總共要?jiǎng)?chuàng)建不重復(fù)的總共有23個(gè)對(duì)話框。對(duì)話框之間有很多都是有聯(lián)系的,實(shí)踐中發(fā)現(xiàn)很多的對(duì)話框的操作都是千篇一律類(lèi)似的!33為了不占用蔡老師太多的寶貴時(shí)間,我決定下面詳細(xì)講解“登陸界面”的一個(gè)典型例子,其他的都是在此基礎(chǔ)上模仿的?!胺胖暮6詼?zhǔn)”“萬(wàn)變不離其宗”!34系統(tǒng)開(kāi)發(fā)進(jìn)入第二步創(chuàng)建數(shù)據(jù)庫(kù)建表建視圖35創(chuàng)建數(shù)據(jù)庫(kù)打開(kāi)SQ

7、L Sever 2005連接登錄36單擊“新建查詢(xún)” 進(jìn)入SQL代碼編輯區(qū)敲好代碼,選中CREATE DATABASE Stock GO 接著按下“Alt+X”或者點(diǎn)菜單欄左上角的“執(zhí)行” !就這樣一個(gè)數(shù)據(jù)庫(kù)“Stock”被創(chuàng)建了!創(chuàng)建表:在每次創(chuàng)表或者建立視圖前先用一下已經(jīng)創(chuàng)建的數(shù)據(jù)庫(kù)Stock USE Stock GO CREATE TABLE Client (Cidint PRIMARY KEY IDENTITY, Cnamevarchar(50) NOT NULL, Ctypetinyint, Contact varchar(30), Addressvarchar(50), Postc

8、odevarchar(10), Phonevarchar(30), Faxvarchar(30), Memovarchar(100) )GO37為了節(jié)省時(shí)間,方便給大家數(shù)據(jù)庫(kù)的創(chuàng)建,我已經(jīng)專(zhuān)門(mén)把寫(xiě)好了數(shù)據(jù)庫(kù)創(chuàng)建的代碼放在txt記事本里,需要的同學(xué)自己來(lái)Ctrl+CCtrl+V。值得注意點(diǎn)的是,為了兼容市面上的數(shù)據(jù)庫(kù),有2000、2005、2008、2010版本的,要在創(chuàng)建完數(shù)據(jù)庫(kù)以后執(zhí)行以下語(yǔ)句:EXEC sp_dbcmptlevel Stock,80GO 或者ALTER DATABASE Stock SET COMPATIBILITY_LEVEL = 80GO (注意:“80”意思是兼容到2

9、000版本的)38系統(tǒng)開(kāi)發(fā)進(jìn)入第三步打開(kāi)C+2005,新建一個(gè)Visual C+ MFC應(yīng)用程序:MFC(Microsoft Foundation Classes),是一個(gè)微軟公司提供的類(lèi)庫(kù),以C+類(lèi)的形式封裝了Windows的API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開(kāi)發(fā)人員的工作量。其中包含的類(lèi)包含大量Windows句柄封裝類(lèi)和很多Windows的內(nèi)建控件和組件的封裝類(lèi)。39一.先搞好前面的23個(gè)對(duì)話框架視圖其他窗口資源視圖在右端的樹(shù)形結(jié)構(gòu)目錄看到這樣畫(huà)面:右擊對(duì)話框“Dialog”添加好前面的23個(gè)對(duì)話框40登陸界面的框架的創(chuàng)建點(diǎn)開(kāi)“工具箱”,在空白對(duì)話框上添加編輯框以及靜態(tài)說(shuō)明

10、和按鈕添加完以后最終效果圖:其中密碼編輯框中出現(xiàn)6個(gè)圓點(diǎn),是可以在編輯框的右擊選擇屬性,在屬性窗口中選擇password類(lèi)型的,很自然就會(huì)出現(xiàn)6個(gè)圓點(diǎn)了!同學(xué)們,編程是不是超級(jí)簡(jiǎn)單呢?我是要讓大家知道原來(lái)C+編程還可以這樣玩的!因?yàn)檫@是組件“COM” Component Objects Model 組件對(duì)象模型,簡(jiǎn)稱(chēng)COM41其他22個(gè)對(duì)話框也相類(lèi)似這樣創(chuàng)建出來(lái),這一點(diǎn)希望大家找一些C+組件COM的使用方法,這里不做詳細(xì)講解,時(shí)間有限!再創(chuàng)建2個(gè)對(duì)話框:我們把“登陸界面”添加一個(gè)類(lèi)“LoginDlg”,“用戶(hù)管理”添加一個(gè)類(lèi)“UserManDlg”,“編輯用戶(hù)信息”添加一個(gè)類(lèi)“UserEdit

11、Dlg”,添加問(wèn)以后會(huì)相應(yīng)地出現(xiàn).h頭文件和.cpp文件,頭文件拿來(lái)聲明變量、函數(shù).cpp用來(lái)實(shí)現(xiàn)功能!42完成了以后會(huì)出現(xiàn)以下一堆頭文件和實(shí)現(xiàn)文件:43好,下面正式進(jìn)入代碼編輯區(qū)域,注意放長(zhǎng)眼鏡,睜大眼睛看好這中心一環(huán)節(jié)?。ù蠹叶贾?h文件一般是拿來(lái)聲明、初始化用的,真正實(shí)現(xiàn)功能的是在.cpp文件,下面的我講述的就是.cpp文件,在.ccp文件中用到的變量我已經(jīng)在.h文件里聲明過(guò)了,所以大家看到了“無(wú)中生有”的變量不要驚訝,我都已經(jīng)聲明過(guò)了?。?4我們回到“登陸界面”那個(gè)框架:void CLoginDlg:OnOK() /將對(duì)話框中編輯框的數(shù)據(jù)讀取到成員變量中UpdateData(TRUE

12、);/檢查數(shù)據(jù)有效性if (m_UserName = )MessageBox(請(qǐng)輸入用戶(hù)名,否則出錯(cuò)!);return;if (m_Pwd = )MessageBox(請(qǐng)輸入密碼);return;/定義CUsers對(duì)象,用于從表Users中讀取數(shù)據(jù)CUsers user;user.GetData(m_UserName);/如果讀取的數(shù)據(jù)與用戶(hù)輸入數(shù)據(jù)不同,則返回if (user.GetPwd() != m_Pwd)MessageBox(用戶(hù)信息不正確,無(wú)法登錄!);return;/關(guān)閉對(duì)話框CDialog:OnOK();45我們看看一下“登陸界面”所用到的頭文件就知道我們使用到Users里面的

13、一些函數(shù),里面有很多構(gòu)造好的函數(shù)提供別的文件調(diào)用。int CUsers:HaveName(CString cUserName)/連接數(shù)據(jù)庫(kù)ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/設(shè)置SELECT語(yǔ)句_bstr_t vSQL;vSQL = SELECT * FROM Users WHERE UserName= + cUserName + ;/執(zhí)行SELECT語(yǔ)句_RecordsetPtr m_pRecordset;m_pRecordset = m_AdoConn.GetRecordSet(vSQL);if (m_pRecordset-adoEOF

14、)return -1;elsereturn 1;/斷開(kāi)與數(shù)據(jù)庫(kù)的連接m_AdoConn.ExitConnect();46什么叫做ADO?微軟公司的ADO (ActiveX Data Objects) 是一個(gè)用于存取數(shù)據(jù)源的COM組件。它提供了編程語(yǔ)言和統(tǒng)一數(shù)據(jù)訪問(wèn)方式OLE DB(Object Linking and Embedding),對(duì)象連接與嵌入,簡(jiǎn)稱(chēng)OLE技術(shù)的一個(gè)中間層。允許開(kāi)發(fā)人員編寫(xiě)訪問(wèn)數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫(kù)是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫(kù)的連接。訪問(wèn)數(shù)據(jù)庫(kù)的時(shí)候,關(guān)于SQL的知識(shí)不是必要的,但是特定數(shù)據(jù)庫(kù)支持的SQL命令仍可以通過(guò)ADO中的命令對(duì)象來(lái)執(zhí)行。C:Progra

15、m FilesCommon FilesSystemadomsado15.dll47什么是_bstr_t?_bstr_t類(lèi)封裝BSTR有趣的地方就是它的封裝方式有點(diǎn)類(lèi)似于智能指針,又有點(diǎn)像COM管理生存期的方式。_bstr_t將兩者結(jié)合起來(lái)并具體體現(xiàn)在構(gòu)造函數(shù)、賦值函數(shù)和析構(gòu)函數(shù)中。_variant_t(變體,不同的)和_bstr_t這兩個(gè)類(lèi)分別封裝并管理VARIANT和BSTR這兩種數(shù)據(jù)類(lèi)型,VARIANT和BSTR這兩種類(lèi)型是COM中使用的數(shù)據(jù)類(lèi)型。為了C+中的變量應(yīng)用到ADO編程中,只能進(jìn)行數(shù)據(jù)類(lèi)型的轉(zhuǎn)換。通過(guò)_variant_t和_bstr_t這兩個(gè)類(lèi),就可以方便的把C+類(lèi)型變量轉(zhuǎn)換成C

16、OM中的變量了。其他類(lèi)型轉(zhuǎn)換成_bstr_t可以直接賦值。 48CUsers:CUsers()UserName = ;Pwd = ;User_type = 0;CUsers:CUsers()CString CUsers:GetUserName()return UserName;void CUsers:SetUserName(CString cUserName)UserName = cUserName;CString CUsers:GetPwd()return Pwd; void CUsers:SetPwd(CString cPwd)Pwd = cPwd;int CUsers:GetUser_t

17、ype()return User_type;void CUsers:SetUser_type(int iUser_type)User_type = iUser_type; 49為數(shù)據(jù)庫(kù)插入數(shù)據(jù)void CUsers:sql_insert()/連接數(shù)據(jù)庫(kù)ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/設(shè)置INSERT語(yǔ)句CString strType;strType.Format(%d, User_type);_bstr_t vSQL;vSQL = INSERT INTO Users VALUES( + UserName + , + Pwd + , +

18、strType + );/執(zhí)行INSERT語(yǔ)句m_AdoConn.ExecuteSQL(vSQL);/斷開(kāi)與數(shù)據(jù)庫(kù)的連接m_AdoConn.ExitConnect();50更新數(shù)據(jù)庫(kù)里面的表void CUsers:sql_updatePwd(CString cUserName)/連接數(shù)據(jù)庫(kù)ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/設(shè)置UPDATE語(yǔ)句CString strType;strType.Format(%d, User_type);(注意這里,我是設(shè)置了權(quán)限的)_bstr_t vSQL;vSQL = UPDATE Users SET Pw

19、d= + Pwd + WHERE UserName= + cUserName + ;/執(zhí)行UPDATE語(yǔ)句m_AdoConn.ExecuteSQL(vSQL);/斷開(kāi)與數(shù)據(jù)庫(kù)的連接m_AdoConn.ExitConnect();51刪除數(shù)據(jù)庫(kù)表里的數(shù)據(jù)void CUsers:sql_delete(CString cUserName)/連接數(shù)據(jù)庫(kù)ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/設(shè)置DELETE語(yǔ)句_bstr_t vSQL;vSQL = DELETE FROM Users WHERE UserName= + cUserName+ ;/執(zhí)行D

20、ELETE語(yǔ)句m_AdoConn.ExecuteSQL(vSQL);/斷開(kāi)與數(shù)據(jù)庫(kù)的連接m_AdoConn.ExitConnect();52從數(shù)據(jù)庫(kù)表里獲取信息void CUsers:GetData(CString cUserName)/連接數(shù)據(jù)庫(kù)ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/設(shè)置SELECT語(yǔ)句_bstr_t vSQL;vSQL = SELECT * FROM Users WHERE UserName= + cUserName + ;/執(zhí)行SELETE語(yǔ)句_RecordsetPtr m_pRecordset;m_pRecordset

21、 = m_AdoConn.GetRecordSet(vSQL);/返回各列的值if (m_pRecordset-adoEOF)CUsers();elseUserName = cUserName;Pwd = (LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(Pwd);User_type = atoi(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(User_type);/斷開(kāi)與數(shù)據(jù)庫(kù)的連接m_AdoConn.ExitConnect();53看一下“編輯用戶(hù)信息”框架void CUserEditDlg:OnOK() UpdateD

22、ata(TRUE);CUsers usr;usr.SetUserName(m_UserName);usr.SetPwd(888888);usr.SetUser_type(m_UserType.GetCurSel()+1);if (usr.HaveName(m_UserName) = 1) /如果存在當(dāng)前用戶(hù)MessageBox(當(dāng)前用戶(hù)已存在,請(qǐng)選擇其他用戶(hù)名);return;/插入用戶(hù)記錄usr.sql_insert();CDialog:OnOK();BOOL CUserEditDlg:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add ext

23、ra initialization herem_UserType.SetCurSel(iUserType - 1);if (curUser.GetUserName() != Admin)GetDlgItem(IDC_USERTYPE_COMBO)-EnableWindow(FALSE);return TRUE; 54看一下“用戶(hù)管理”框架void CUserManDlg:OnAddButton() CUserEditDlg dlg;dlg.iUserType = 2;if (dlg.DoModal() = IDOK)m_adodc.Refresh(); void CUserManDlg:OnM

24、odiButton() if (m_datalist.GetText() = )MessageBox(請(qǐng)選擇用戶(hù));return;if (curUser.GetUserName() != Admin & curUser.GetUserName() != m_datalist.GetText()& m_datalist.GetBoundText() = 1)/除Admin外,其他管理員只能修改普通用戶(hù)信息MessageBox(只能對(duì)普通用戶(hù)進(jìn)行密碼復(fù)位);return;if (MessageBox(是否對(duì)當(dāng)前用戶(hù)進(jìn)行密碼復(fù)位,請(qǐng)確認(rèn), MB_YESNO) = IDYES)CUsers usr;u

25、sr.SetPwd(888888); /設(shè)置默認(rèn)密碼usr.sql_updatePwd(m_datalist.GetText();MessageBox(密碼已經(jīng)復(fù)位);55(續(xù)上)void CUserManDlg:OnDelButton() if (m_datalist.GetText() = )MessageBox(請(qǐng)選擇用戶(hù));return;if (curUser.GetUserName() != Admin & m_datalist.GetBoundText() = 1)/除Admin外,其他管理員只能刪除普通用戶(hù)MessageBox(只能刪除普通用戶(hù));return;if (m_dat

26、alist.GetText() = Admin)MessageBox(不能刪除Admin用戶(hù));return;if (MessageBox(是否刪除當(dāng)前用戶(hù),請(qǐng)確認(rèn), MB_YESNO) = IDYES)CUsers usr;usr.sql_delete(m_datalist.GetText();m_adodc.Refresh();56回眸一看不知不覺(jué)地我們就已經(jīng)實(shí)現(xiàn)了3個(gè)界面的功能;一個(gè)是登陸界面的實(shí)現(xiàn)功能;一個(gè)是用戶(hù)編輯界面實(shí)現(xiàn)的功能;再一個(gè)是用戶(hù)管理的實(shí)現(xiàn)功能。再一次回問(wèn)道:C+開(kāi)發(fā)系統(tǒng)真的有這么難嗎?再一次回答說(shuō):很容易!57剩下的20個(gè)界面的功能實(shí)現(xiàn)剩下的20個(gè)界面功能的實(shí)現(xiàn)都和上面的三個(gè)相類(lèi)似,都是千篇一律的。懂一個(gè)典型的例子,后面的都很容易上手!要把它做出來(lái),注意要有耐心,要用時(shí)間來(lái)砸出來(lái)的,用心血嘔出來(lái)的,用智慧總結(jié)出來(lái)的!我能,相信大家一定也能,也許更強(qiáng)!能夠熟練地做到這一點(diǎn),你已經(jīng)是半個(gè)軟件設(shè)計(jì)師了!還愁以后找工

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論