




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.作業題目請分別就C和C++中的基本輸入輸出\文件讀寫各自的特點和實現方法進行分析和舉例說明;完成一個簡單的基于MFC對話框的個人通信錄系統(界面布局和系統需求自己確定),詳細描述你的分析以及實現過程,通訊錄的數據寫入文件。2.C語言的輸入/輸出(文件操作)2.1C語言的輸入/輸出在C語言中,沒有專門的輸入輸出語句,所有輸入輸出操作都是通過對標準I/Q庫函數的調用實現的。常用的輸入輸出函數有:scanf()、printf()、getchar()、putchar()、gets
()、puts(),使用這些函數時需要包含頭文件stadio.h。其中:scanf()---整型、浮點型、字符串數據的輸入函數;printf()---整型、浮點型、字符串數據的輸出函數;putchar()---字符輸出函數;getchar()---字符輸入函數;gets
()---字符串輸入函數;puts()---字符串輸出函數。2.1.1函數它的功能是從鍵盤上輸入1個字符,其一般形式為:getchar();通常把輸入的字符賦予一個字符變量,構成賦值語句。使用getchar函數時還應注意:getchar函數只能接受單個字符,輸入多于一個字符時,只接受第一個字符。輸入單個字符#include<stdio.h>
intmain(void
){charc;printf(“inputacharacter\n”);c=getchar();putchar(c);return0;}注意:程序最后兩行可用下面兩行的任意一行代替:putchar(getchar());printf(“%c”,getchar());2.1.2函數函數原型:intprintf(constchar*,)參數說明:format確定輸出格式的格式字符串;為n個表達式。功能說明:把表達式的值按格式字符串中的第個格式指示轉換為外部形式的數據(一串字符),用以取代格式字符串中的第個格式指示(格式指示符如表2-1所示),若輸出的是整型數據,可整型變量、整型數組元素或常型變量。向標準輸出設備輸出所有轉換完成后的格式字符串。輸出整數時,格式字符標志為:“%d”(int型十進制整數),“%u”(unsigned型十進制整數),“%ld”(long型十進制整數)。表2-1C語言中的實數類型說明符字節數有效數字數的范圍float32(4)6~7~double64(8)15~16~longdouble128(16)18~19~printf()格式化輸出。intmain(void){inta=15;floatb=123.1234567;doublec=12345678.1234567;chard=‘p’;printf(“a=%d,%5d,%o,%x\n”,a,a,a,a);//要求以4種格式輸出整型變量a的值,輸出寬度為5printf(“b=%f,%lf,%5.4lf,%e\n”,b,b,b,b,);//要求以4種格式輸出實型變量b的值,輸出寬度為5,精度為4printf(“c=%lf,%f,%8.4lf\n”,c,c,c);printf(“d=%c,%8c\n”,d,d);return0:}2.2C語言的文件操作在C語言中,文件操作都是由庫函數來完成的。文件指針在C語言中用一個指針變量指向一個文件,
這個指針稱為文件指針。通過文件指針就可對它所指的文件進行打開、關閉、讀、寫、定位等各種操作。2.2fopen函數用來打開一個文件,其調用的一般形式為:文件指針名=fopen(文件名,使用文件方式)
其中,“文件指針名”必須是被說明為FILE
類型的指針變量,“文件名”是被打開文件的文件名。
“使用文件方式”是指文件的類型和操作要求?!拔募笔亲址A炕蜃址當到M。例如:
FILE
*fp;
fp=("file
a","r");
其意義是在當前目錄下打開文件file
a,只允許進行“讀”操作,并使fp指向該文件。
在打開一個文件時,如果出錯,fopen將返回一個空指針值NULL。在程序中可以用這一信息來判別是否完成打開文件的工作,并作相應的處理。因此常用以下程序段打開文件:
if((fp=fopen("c:\\hzk16","rb")==NULL)
{
printf("\nerror
on
open
c:\\hzk16
file!");
getch();
exit(1);
}文件一旦使用完畢,應用關閉文件函數把文件關閉,以防意外操作導致數據丟失或被非法篡改。關閉文件的實質是取消系統與正在操作的文件之間的關聯,關閉文件操作由標準庫函數fclose()實現,其一般形式為:fclose(文件指針);例如:fclose(fp);
正常完成關閉文件操作時,fclose函數返回值為0。如返回非零值則表示有錯誤發生。編譯時通常用下列語句判斷文件是否正常關閉:if(fclose(fp)){printf(“can’tclosethefile!\n)”;exit(1);}2.2.2在C語言中提供了多種文件讀寫的函數:
字符讀寫函數
:fgetc和fputc字符串讀寫函數:fgets和fputs數據塊讀寫函數:freed和fwrite格式化讀寫函數:fscanf和fprinf使用以上函數都要求包含頭文件stdio.h。字符讀寫函數:fgetc和fputc是以字符(字節)為單位的讀寫函數。
每次可從文件讀出或向文件寫入一個字符。下面以一個復制文件的例子簡單介紹C語言文本文件讀寫的特點。例2-3打開現存文件f1.txt和新建的文件f2.bak,并讀取f1.txt中的字符,寫到f1.bak中,直至讀到f1.txt文件末尾。該例實現的算法流程圖如圖2-1所示。從從f1.txt中讀取1個字符打開f1.txt和f1.bak將讀到的字符寫入f1.bak中關閉f1.txt和f1.bak結束f1.txt到文件末尾?開始圖2-1文件復制流程圖在這里,將用到兩個函數:fgetc()和fputc(),fgetc()函數的原型在stdio.h中申明如下:intfgetc(FILE*stream);其調用方式如下:ch=fgetc(fp);ch為字符型變量,fp為文件型指針變量。函數fgetc()從文件中讀取1個字符賦值給ch,fgetc()在讀取字符過程中,如果遇到文件結束符,函數將返回文件結束標志EOF(在stdio.h中EOF的值定義為-1)。如需要在屏幕上顯示一個文本文件,可以用以下語句實現:ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fputc()函數的原型在stdio.h中申明如下:intfputc(charch,FILE*stream);ch為字符型變量或字符型常量,fp為文件型指針變量。函數fputc()將ch的值輸出到fp指針指向的文件中,如果輸出成功,函數返回ch的內容,否則返回EOF。程序實現如下:#include<process.h>
#include<stdlib.h>
intmain(void)
{FILE*fp1,*fp2;charch;if(fp1=fopen((“f1.txt”,“r”))==NULL){printf(“cannotopenf1.txt\n”);exit(1);}if((fp2=fopen(“f1.bak”,“w”))==NULL){printf(“cannotopenf2.bak\n”);exit(1);}While((ch=fgetc(fp1))!=EOF)fputc(ch,fp2);fclose(fp1);fclose(fp1);
}3.C++輸入輸出(文件操作)程序在執行期間,接受外部信息的操作稱為程序的輸入;而把程序向外部發送信息的操作稱為程序的輸出。在C++中沒有專門的輸入輸出語句,所有輸入輸出是通過輸入輸出流來實現的。接下來會簡單介紹輸入輸出數據方法。準輸入輸出流庫函數iostream常用的輸入和輸出函數為cin和cout。在使用C++輸入輸出流之前,必須在程序的開頭增加一行:#include<iostream.h>。3.1C++輸入輸出3.1.1輸入語句:cin語法:cin>>變量>>變量>>變量,提取運算符:“>>”。cin可以輸入任何類型的變量。從鍵盤輸入數據時,相應位置上的值必須符合變量的類型。若輸入的類型不致,則輸入的數據不正確。例3-1inti,j;floatx,y;cin>>i>>j>>x>>y;當輸入:2722771.2321.30時,變量值為i=27j=227x=71.23y=21.3。(1)字符變量輸入為字符變量輸入數據時,輸入的數據必須是字符型數據。設有如下的程序片段:
例3-2charc1,c2,c3,c4;
cin
>>
c1
>>
c2
>>
c3;
cin
>>
c4;當輸入abcd或者abcd時,變量值為
c1=‘a’c2=‘b’c3=‘c’
c4=‘d’。若要把從鍵盤上輸入的每一個字符,包括空格和回車鍵都作為一個輸入字符賦給字符型變量時,必須使用函數cin.get()。其格式為:cin.get(<字符變量>)。例3-3charc1,c2,c3,c4;
cin.get(c1);cin.get(c2);cin.get(c3);cin.get(c4);執行到既定行數時,若輸入:CD,字符C前沒有空格,在字符C與D之間有一個空格;則將字符C、空格、D分別賦給c1,c2,c3,該行中的回車鍵賦給變量c4,若用cin>>c4代替cin.get(c4),則輸入行的回車鍵不起作用,等待用戶輸入一個字符。若此處沒有cin.get(c4),則回車鍵保留。(2)輸入十六進制或八進制數據對于整型變量,從鍵盤上輸入的數據也可以是八進制或十六進制數據。在缺省的情況下,系統約定輸入的整型數是十進制數據。當要求按八進制或十六進制輸入數據時,在cin中必須指明相應的數據類型:hex為十六進制;oct為八進制;dec為十進制。
格式:cin>>hex>>整型變量;(輸入十六進制整數)cin>>oct>>整型變量;(輸入八進制整數)cin>>dec>>整型變量;(輸入十進制整數)八進制或十六進制數的輸入,只適用于整型變量,不適用于字符型變量,實型變量。當在cin中指明使用的數制輸入后,則所指明的數制一直有效。如例3-1中,輸入的k值不變時,仍為八進制。輸入數據的格式、個數和類型必須與cin中所列舉的變量類型一一對應。例3-4當語句執行到cin時,若輸入的數據為:11111111<CR>時,則將這些數據賦給變量i,j,k,和l,轉換后輸出:179911。(11111111)(179911)3.1.2和cin流輸出相同,cout在進行數據輸入時,不管采用何種數據類型,其格式都相同。cout語句的語法格式:cout<<表達式<<表達式<<表達式,插入運算符:“<<”,這里的表達式的結果可以是任何類型。如cout<<“字符串”<<變量1<<“字符串”<<變量2。(1)輸出寬度定位函數setw()。表達形式:cout<<setw(n)<<變量或者表達式。當n小于實際數據的長度,按實際數據的長度輸出;當n大于實際數據的長度,按右對齊原則輸出。(2)輸出十六進制或八進制數據
輸出十六進制或八進制數據的格式與輸入格式有著極度相似的地方,具體如下:cout<<hex<<整型變量;(輸出十六進制整數)cout<<oct<<整型變量;(輸出八進制整數)cout<<dec<<整型變量;(輸入出十進制整數)對于整型數據可指定以八進制或十六進制輸出,而對于實型數據可指定以科學表示法形式輸出。例3-5設有如下程序#include
<iostream.h>
void
main(void)
{
int
i=2,j=10,k=20,m=30;float
x=3.14,y=100;
cout
<<"i="<<hex<<
i<<'\t'<<"j="<<j<<endl;cout.setf(ios::scientific,ios::floatfield);
cout
<<
oct<<m<<'\t'<<j*k<<endl;
cout
<<
x<<'\t';
cout
<<y<<endl;
}執行程序后的輸出為:i=2j=a與cin中類同,當在cout中指明以一種進制輸出整數時,對其后的輸出均有效,直到指明又以另一種進制輸出整型數據為止。對實數的輸出,也是這樣,一旦指明按科學表示法輸出實數,則按著的輸出均按科學表示法輸出,直到指明以定點數輸出為止。3.2C++文件操作在C++中,對文件的操作是通過stream的子類fstream(filestream)來實現的,所以要用這種方式操作文件,就必須加入頭文件fstream.h。
3.2.1在fstream類中,有一個成員函數open(),就是用來打開文件的,其原型是:voidopen(constchar*filename,intmode,intaccess);fstream有和open()一樣的構造函數,可以在定義的時侯就打開文件。fstream有兩個子類:ifstream(默認以輸入方式打開文件)和ofstream(默認以輸出方式打開文件)。例3-6下面是一個從文件中讀入數據的完整程序#include<iostream.h>#include<fstream.h>#include<stdlib.h>intmain(){charbuffer[256];ifstreamexamplefile("example.txt");if(!examplefile.is_open()){cout<<"Erroropeningfile";exit(1);}while(!examplefile.eof()){examplefile.getline(buffer,100);cout<<buffer<<endl;}return0;}上面的例子讀入一個文本文件的內容,然后將它打印到屏幕上。注意我們使用了一個新的成員函數叫做eof,它是ifstream從類ios中繼承過來的,當到達文件末尾時返回true。3.2.2關閉文件
3.2.3讀寫文件
讀寫文件分為文本文件和二進制文件的讀取。對于文本文件的讀取,用插入器(<<)向文件輸出,用析取器(>>)從文件輸入,相對比較簡單。此處著重介紹二進制文件的讀寫。①put()
put()函數向流寫入一個字符,其原型是ofstream&put(charch),使用也比較簡單,如file1.put('c');就是向流寫一個字符'c'。②get()
get()函數比較靈活,有3種常用的重載形式:一種就是和put()對應的形式,功能是從流中讀取一個字符,結果保存在引用ch中,如果到文件尾,返回空字符;另一種重載形式的原型是:intget();這種形式是從流中返回一個字符,如果到達文件尾,返回EOF,如x=file2.get();還有一種形式的原型是:ifstream&get(char*buf,intnum,chardelim='\n');這種形式把字符讀入由buf指向的數組,直到讀入了num個字符或遇到了由delim指定的字符,如果沒使用delim這個參數,將使用缺省值換行符'\n'。③讀寫數據塊
要讀寫二進制數據塊,使用成員函數read()和write()成員函數,它們原型如下:
read(unsignedchar*buf,intnum);
write(constunsignedchar*buf,intnum);3.3C與C++輸入輸出、文件讀寫的比較。由于C++是在C語言的基礎上發展擴充而來的,它當然支持C語言中的輸入輸出函數。使用C語言的輸入輸出函數時,要包含相應的頭文件。使用C++編程時,我們提倡使用C++提供的輸入輸出流來實現輸入輸出,最好不要使用C語言的輸入輸出函數來實現輸入輸出。因為同時使用C++的輸入輸出流和C語言的輸入輸出函數來完成輸入輸出時,有時會出現一些特殊異常的現象,如輸入輸出語句的執行順序不對等。和C的文件操作方式不同的是,C++I/O系統管理兩個與一個文件相聯系的指針。一個是讀指針,它說明輸入操作在文件中的位置;另一個是寫指針,它下次寫操作的位置。每次執行輸入或輸出時,相應的指針自動變化。所以,C++的文件定位分為讀位置和寫位置的定位,對應的成員函數是seekg()和seekp(),seekg()是設置讀位置,seekp是設置寫位置。它們最通用的形式如下:
istream&seekg(streamoffoffset,seek_dirorigin);
ostream&seekp(streamoffoffset,seek_dirorigin);
streamoff定義于iostream.h中,定義有偏移量offset所能取得的最大值,seek_dir表示移動的基準位置,是一個有以下值的枚舉:
ios::beg:文件開頭
ios::cur:文件當前位置
ios::end:文件結尾
這兩個函數一般用于二進制文件,因為文本文件會因為系統對字符的解釋而可能與預想的值不同。比如下面:
file1.seekg(1234,ios::cur);//把文件的讀指針從當前位置向后移1234個字節
file2.seekp(1234,ios::beg);//把文件的寫指針從文件開頭向后移1234個字節4.基于MFC的簡易通訊錄管理系統設計4.1MFC簡單概述MFC是對WindowsAPI的封裝,它包含兩個最重要的類:CWinApp和CFrameWnd。CWinApp代表著程序的本體,winmain函數就是封裝在其中,所以函數將從這個類中開始運行;CFrameWnd代表了一個主框窗口:在編寫函數的時候需要以這兩個類為基礎進行派生自己的類,并改寫其一些成員函數以實現自己的程序的功能。4.1.1MFC是一個編程框架MFC中的各種類結合起來構成了一個應用程序框架,它的目的是讓程序員在此基礎上來建立Windows下的應用程序,這是一種相對于SDK來說更為簡單的方法。因為總體上,MFC框架定義了應用程序的輪廓,并提供了用戶接口的標準實現方法,程序員要做的就是通過預定義的接口把具體應用程序特有的東西填入這個輪廓。在提供了相應的工具的MicrosoftVisualC++中,編譯后,就通過類庫是限量應用程序特定的邏輯。4.1.2封裝構成MFC框架的是MFC類庫,MFC類庫是C++類型。這些類或者封裝了Win32應用程序編程接口,或者封裝了應用程序的概念,或者封裝了OLE特性,或者封裝了ODBC和DAO數據訪問的功能。4.1.3繼承首先,MFC抽象出眾多類的共同性,設計出一些基類作為實現其他類的基礎。這些類中,最重要的是CObject和CCmdTarget。CObject是MFC的根類,絕大部分MFC類是其派生的,CObject實現了一些重要的特性,包括動態信息、動態創建、對象序列化、對程序調試的支持等,所以從CObject派生的類都具備或者可以具備它所擁有的特性。CCmdTarget通過封裝一些屬性和方法,提供了信息處理的框架。MFC中,任何可以處理消息的類都從CCmdTarget派生。4.1.4虛擬函數和動態約束MFC以“C++”為基礎,支持虛擬函數和動態約束,MFC建立了消息映射機制,以一種富有效率、便于使用的手段解決消息處理函數。這樣,通過虛擬函數和消息映射,MFC類提供了豐富的編譯窗口。程序員繼承基類的同時,把自己實現的虛擬函數和消息處理函數嵌入MFC的編譯框架中,MFC編譯框架將在適當的時候、地方來調用程序的代碼。4.2功能模塊框圖根據系統功能的要求,可以將系統分解成幾個功能模塊,它如圖4-1所示。朋友家人朋友家人其他通訊錄管理系統全部分類添加圖4-1通訊錄管理系統模塊圖4.3程序代碼編寫本程序采用的是MFC的基于窗體的基本架構。實現程序中主要邏輯和文件訪問功能的函數被封裝在一個自己寫的類“myClass”中。(1)頭文件(myClass.h)中的代碼如下:classmyClass{public: myClass(void);//構造函數。 ~myClass(void);//析構函數。 CStringgetAll();//得到全部聯系人的信息。 CStringgetFriend();//得到標記為“朋友”的聯系人的信息。 CStringgetFamily();//得到標記為“家人”的聯系人的信息。 CStringgetOthers();//得到標記為“其他”的聯系人的信息。 voidadd(CStringstr);//添加一條記錄。};(2)定義文檔類數據成員在CAboutDlg對話框中編寫代碼:classCAboutDlg:publicCDialogEx{public: CAboutDlg();//對話框數據 enum{IDD=IDD_ABOUTBOX}; protected: virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持//實現protected: DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialogEx(CAboutDlg::IDD){}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){ CDialogEx::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg,CDialogEx)END_MESSAGE_MAP()}(4)添加記錄voidaddConnect::DoDataExchange(CDataExchange*pDX){ CDialogEx::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(addConnect,CDialogEx) ON_BN_CLICKED(IDC_BUTTON1,&addConnect::OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON2,&addConnect::OnBnClickedButton2)END_MESSAGE_MAP()//addConnect消息處理程序voidaddConnect::OnBnClickedButton1(){myClassa;CStringb; CEdit*myEdit1=(CEdit*)GetDlgItem(IDC_EDIT1); CEdit*myEdit2=(CEdit*)GetDlgItem(IDC_EDIT2); CEdit*myEdit3=(CEdit*)GetDlgItem(IDC_COMBO1); CStringstr1; CStringstr2; CStringstr3; myEdit1->GetWindowTextA(str1); myEdit2->GetWindowTextA(str2); myEdit3->GetWindowTextA(str3); b=str1+"\t\t"+str2+"\n"+str3; a.add(b); CDialogEx::OnOK(); //TODO:在此添加控件通知處理程序代碼}BOOLaddConnect::OnInitDialog(){ CDialogEx::OnInitDialog(); CComboBox*myEdit4=(CComboBox*)GetDlgItem(IDC_COMBO1); myEdit4->AddString("朋友"); myEdit4->AddString("家人"); myEdit4->AddString("其他"); myEdit4->SetCurSel(0); //TODO:在此添加額外的初始化 returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //異常:OCX屬性頁應返回FALSE}voidaddConnect::OnBnClickedButton2(){ CDialogEx::OnCancel(); //TODO:在此添加控件通知處理程序代碼}4.4函數的實現函數的實現文件(myClass.cpp)中的代碼如下:#include"StdAfx.h"#include"myClass.h"#include<iostream>#include<fstream>#include<istream>usingnamespacestd;//無參數的構造函數。myClass::myClass(void){}//析構函數的實現。myClass::~myClass(void){}//得到所有聯系人信息的函數CStringmyClass::getAll(){ CStringa; CStringtem; CStdioFilemyFile;//定義文件訪問類。CFileExceptionfileException; //訪問文件。if(myFile.Open("you.txt",CFile::typeText|CFile::modeNoTruncate|CFile::modeCreate|CFile::modeReadWrite),&fileException){ myFile.SeekToBegin(); //讀出文件內容 while(myFile.ReadString(tem)){ a=a+tem+"\r\n"; myFile.ReadString(tem);}}//返回得到的值給上游函數。 returna;}CStringmyClass::getFriend(){ CStringa; CStringtem1; CStringtem2; CStdioFilemyFile;CFileExceptionfileException; if(myFile.Open("you.txt",CFile::typeText|CFile::modeNoTruncate|CFile::modeCreate|CFile::modeReadWrite),&fileException){ myFile.SeekToBegin(); while(myFile.ReadString(tem1)){ myFile.ReadString(tem2); if(tem2=="朋友"){ a=a+tem1+"\r\n"; } } } returna;}CStringmyClass::getFamily(){CStringa; CStringtem1; CStringtem2; CStdioFilemyFile;CFileExceptionfileException; if(myFile.Open("you.txt",CFile::typeText|CFile::modeNoTruncate|CFile::modeCreate|CFile::modeReadWrite),&fileException){ myFile.SeekToBegin(); while(myFile.ReadString(tem1)){ myFile.ReadString(tem2); if(tem2=="家人"){ a=a+tem1+"\r\n"; } } } returna;}CStringmyClass::getOthers(){ CStringa; CStringtem1; CStringtem2; CStdioFilemyFile;CFileExceptionfileException; if(myFile.Open("you.txt",CFile::typeText|CFile::modeNoTruncate|CFile::modeCreate|CFile::modeReadWrite),&fileException){ myFile.SeekToBegin(); while(myFile.ReadString(tem1)){ myFile.ReadString(tem2); if(tem2=="其他"){ a=a+tem1+"\r\n"; } }} returna;}voidmyClass::add(CStringstr){ CStdioFilemyFile;CFileExceptionfileException;if(myFile.Open("you.txt",CFile::typeText|CFile::modeNoTruncate|CFile::modeCreate|CFile::modeReadWrite),&fileException){ myFile.SeekToEnd(); myFile.WriteString(str+"\n");}該程序運行起來之后即顯示所有聯系人的信息。如圖4-2所示:圖4-2程序運行后所有聯系人的信息接下來就是利用事件驅動特點來寫事件里的代碼。主要是幾個按鈕下的事件。默認頁面初始化的代碼:myClass*a=newmyClass(); CEdit*myEdit1=(CEdit*)GetDlgItem(IDC_EDIT1);//調用的是getAll() CStringcc=a->getAll(); myEdit1->SetWindowTextA(cc);4.4.1點擊“全部”按鈕,和程序初始化(即上面的程序)是一樣的,顯示所有聯系人的信息,如圖4.4.2點擊“朋友”按鈕,可以查看類型為“朋友”的聯系人信息,如圖點擊“朋友”按鈕的代碼如下:myClass*a=newmyClass(); CEdit*myEdit1=(CEdit*)GetDlgItem(IDC_EDIT1);//調用的是getFriend() CStringcc=a->getFrie
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- cmsp性格測試題目及答案
- T/GIA 011-2022化工污染地塊生態環境損害調查技術指南(試行)
- 兩類具有Ricker存活函數和時間切換蚊群壓制模型的動力學分析
- 2025疫苗公務員面試題及答案
- ME1對細胞遺傳學正常的急性髓系白血病的預后影響及機制研究
- 鈦合金混合制造結合區組織形成機制與性能調控
- 2025水生生物考試試題及答案
- 2025上饒銀行筆試題庫及答案
- 尿量、尿色量化值與水合狀態的關聯研究
- 基于客戶價值細分理論的ZX銀行客戶關系管理研究
- 校園食品安全智慧化建設與管理規范
- DL-T5704-2014火力發電廠熱力設備及管道保溫防腐施工質量驗收規程
- 檢驗科事故報告制度
- 分包合同模板
- 中西文化鑒賞智慧樹知到期末考試答案章節答案2024年鄭州大學
- 英語定位紙模板
- eras在婦科圍手術
- 價格認定規定培訓課件
- 創業計劃書九大要素
- 《肺癌的診治指南》課件
- 2024年江蘇鹽城燕舞集團有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論