影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

《管理系統(tǒng)中計算機應用》實踐報告(總26頁)

上傳人:文**** 文檔編號:35845058 上傳時間:2021-10-28 格式:DOCX 頁數(shù):25 大小:405.73KB
收藏 版權(quán)申訴 舉報 下載
《管理系統(tǒng)中計算機應用》實踐報告(總26頁)_第1頁
第1頁 / 共25頁
《管理系統(tǒng)中計算機應用》實踐報告(總26頁)_第2頁
第2頁 / 共25頁
《管理系統(tǒng)中計算機應用》實踐報告(總26頁)_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《管理系統(tǒng)中計算機應用》實踐報告(總26頁)》由會員分享,可在線閱讀,更多相關(guān)《《管理系統(tǒng)中計算機應用》實踐報告(總26頁)(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 《管理系統(tǒng)中計算機應用》 實踐報告 設計題目: 管理系統(tǒng)中計算機應用 助學院校: 河南理工大學 自考助學專業(yè): 機電設備管理與維修 姓 名: 賀珂珂 自考助學學號: 040213200112 成 績: 指導教師簽名: 河南理工大學成人高等教育 2O 年 月 日 目 錄 1. 軟件編譯理論及實踐教程實習內(nèi)容 4

2、 2. 套接字編程 6 2.1 使用說明書 6 2.2 原理說明書 7 2.3 程序注釋 7 3. 連接數(shù)據(jù)庫 19 3.1 使用說明書 19 3.2 原理說明書 20 3.3 程序注釋 20 4. 實習總結(jié)、體會與收獲 26 1.軟件編譯理論及實踐教程實習內(nèi)容 一:我的電腦磁盤分析: 0000000000 管理節(jié)點1 000000003F 000000003F C盤(48.8GB) 00061AB827 00061AB827

3、 管理節(jié)點2 00061AB866 00061AB866 D盤(73.4GB) 000F48CDDA 000F48CDDA 分區(qū)間隙 000F48CE18 000F48CE18 管理節(jié)點3 000F48CE19 000F48CE19 E盤(73.4GB) 001876E38D 001876E38D 分區(qū)間隙 001876E3CB 001876E3CB

4、 管理節(jié)點4 001876E3CC 001876E3CC F盤(102.4GB) 0025422D6C1 剩余扇區(qū) 二. PING.EXE十六進制源碼分析 在文件存儲空間中,ping.ex

5、e十六進制源碼分析如下: 2. 套接字編程 2.1.使用說明書: 第一步:先打開服務器端(server.exe).根據(jù)提示輸入端口號,需要輸入大于5001小于65535的值,否則就是用默認的5001作為端口值 第二步:創(chuàng)建套接字并選擇協(xié)議。 第三步:打開客戶端(client.exe),根據(jù)提示,將客戶端(server.exe)所在的服務器的IP地址輸入進去。 第四步:輸入在服務器端(server.exe)中建立的端口號值。 第五步:選擇和服務器端(server.exe)中一樣的協(xié)議 第六步:收發(fā)數(shù)據(jù) 第七步:關(guān)閉連接。 2.2原理說明書

6、 2.3程序注釋 /******************************************************\ * client.c - 簡單的 TCP/UDP 套接字客戶程序 windows環(huán)境 * \******************************************************/ #include //關(guān)于套接字的頭文件 #include #include #include #include #pra

7、gma comment (lib,"ws2_32")//添加‘ws2_32’庫 int main(void) { unsigned short port = 5001; //端口號 int socket_type = SOCK_STREAM; //缺省使用TCP連接 char Buffer[1280]; //收發(fā)緩沖區(qū) unsigned int addr; //IP地址變量 int retval,i; //臨時變量 struct sockaddr_in server, from; //套接字地址結(jié)構(gòu)變量

8、struct hostent *hp; //主機信息結(jié)構(gòu)變量指針 WSADATA wsaData; //windows套接字信息 SOCKET conn_socket; //套接字變量 //先輸入客戶程序所需要的基本信息:服務器地址,端口號,套接字類型 printf("請輸入服務器地址:"); scanf("%s", Buffer); printf("請輸入端口號( >5000 ):"); scanf("%d", &i); if(i < 5000 || i > 65535) printf("不正確的端口號%d,用缺省端

9、口號5001\n", i); else port = i; printf("請輸入套接字類型( 1,TCP; 2, UDP ):"); scanf("%d",&i); if(i == 1) socket_type = SOCK_STREAM;//設定為SOCK_STREAM else if(i == 2) socket_type = SOCK_DGRAM;//設定為SOCK_DGRAM else printf("不正確的輸入%d,使用TCP數(shù)據(jù)流\n", i); //在windows環(huán)境下,需要先初始化協(xié)議棧 if ((retval

10、 = WSAStartup(0x202, &wsaData)) != 0) //WSAStartup函數(shù)調(diào)用,用來初始//socket { printf("WSAStartup 失敗,錯誤號:%d\n",retval); WSACleanup();//當調(diào)用了WSAStartup之后,就需要調(diào)用WSACleanup函數(shù)釋放內(nèi)存 return -1; } //取得主機IP地址 if (isalpha(Buffer[0])) //是域名或命名地址,用首字母的是否在A-Z,或者a-z來判斷是域名還是IP地址

11、 hp = gethostbyname(Buffer);//從一個主機數(shù)據(jù)庫中提取出主機信息 else { addr = inet_addr(Buffer);//是點分地址 hp = gethostbyaddr((char *)&addr,4,AF_INET);//根據(jù)網(wǎng)絡地址,獲得主機信息,執(zhí)行成功,就返回一個指向主機信息的結(jié)構(gòu) } if (hp == NULL ) { printf("不能解析地址[%s]: 錯誤號%d\n", Buffer, WSAGetLastError())

12、;//用于獲取錯誤信息 WSACleanup(); exit(1); } // 拷貝 解析的信息到sockaddr_in結(jié)構(gòu)中 memset(&server,0,sizeof(server));//分配內(nèi)存空間,由server返回 memcpy(&(server.sin_addr),hp->h_addr,hp->h_length);//信息的copy server.sin_family = hp->h_addrtype;//組協(xié)議初始化 server.sin_port = htons(port)

13、;//端口號初始化 //建立套接字 conn_socket = socket(AF_INET,socket_type,0); if (conn_socket <0 ) { printf("socket()失敗,錯誤號:%d\n", WSAGetLastError()); WSACleanup(); return -1; } //對于流式套接字,需要先建立連接 //其實也可以使用connect(),send(),recv()等函數(shù)在windows里面一樣實現(xiàn)數(shù)據(jù)報套接字功能 if(s

14、ocket_type != SOCK_DGRAM) { printf("正在連接到: %s\n",hp->h_name); if (connect(conn_socket,(struct sockaddr*)&server,sizeof(server)) == SOCKET_ERROR) { printf("connect()失敗,錯誤號:%d\n",WSAGetLastError()); closesocket(conn_socket);//如果創(chuàng)建失敗,就關(guān)閉連接套接字 WSACleanup(); return -1

15、; } } while(1) { //得到要發(fā)送的信息字符串 puts("\n輸入送到服務器的信息:"); gets(Buffer); if(!strlen(Buffer)) //如果沒有輸入信息,繼續(xù)循環(huán) continue; //發(fā)送網(wǎng)絡信息 if(socket_type != SOCK_DGRAM) retval = send(conn_socket, Buffer, strlen(Buffer)+1, 0); //面向tcp,類似BSD write() else

16、retval = sendto(conn_socket, Buffer, strlen(Buffer)+1, 0, //發(fā)送字符串的時候,須將字符串的結(jié)束符\0發(fā)送 (struct sockaddr*)&server, sizeof(server)); //面向UDP if (retval == SOCKET_ERROR) { printf("發(fā)送失敗,錯誤號: %d\n", WSAGetLastError()); break; } else printf("發(fā)送信息:

17、%s\n", Buffer); //接收網(wǎng)絡信息 i = sizeof(from); if(socket_type != SOCK_DGRAM) retval = recv(conn_socket, Buffer, sizeof(Buffer), 0 );//面向tcp,類似BSD read() else retval = recvfrom(conn_socket, Buffer, sizeof(Buffer), 0, (struct sockaddr*)&from, &i); //面向UDP if (r

18、etval == SOCKET_ERROR) { printf("接收信息失敗,錯誤號:%d\n",WSAGetLastError()); break; } else if (retval == 0) // 對于面向連接的套接字,需要判斷對方是否關(guān)閉連接 { printf("服務器關(guān)閉連接\n"); break; } else //正確接收到網(wǎng)絡信息 printf("收到 %d 字節(jié)信息:%s \n", ret

19、val, Buffer); //程序的一個退出條件 if(!stricmp(Buffer, "quit")) break; } //關(guān)閉套接字 closesocket(conn_socket); WSACleanup(); return 0; } /*******************************************************\ * server.c - 簡單 TCP/UDP 套接字服務器程序 windows環(huán)境 * \*********************************

20、**********************/ #include //套接字頭文件 #include #include #include #include #pragma comment(lib,"ws2_32")//添加庫 int main(void) { unsigned short port= 5001; //端口號 int socket_type = SOCK_DGRAM; //缺省使用TCP連接 char Buffe

21、r[1024]; //收發(fā)緩沖區(qū) int retval, fromlen, i, isconnected = 0; //臨時變量 struct sockaddr_in local, from; //套接字地址結(jié)構(gòu)變量 SOCKET listen_socket, msgsock; //套接字變量 WSADATA wsaData; //windows套接字信息 //先輸入服務器程序所需要的基本信息:端口號,套接字類型 printf("請輸入端口號( >5000 ):"); scanf("%d", &i); if(i <

22、5000 || i > 65535) printf("不正確的端口號%d,用缺省端口號5001\n",i); else port = i; printf("請輸入套接字類型( 1,TCP; 2, UDP ):"); scanf("%d", &i); if(i == 1) socket_type = SOCK_STREAM; else if(i == 2) socket_type = SOCK_DGRAM; else printf("不正確的輸入%d,使用TCP數(shù)據(jù)流\n",i); //在windows環(huán)境下,需要先初始化協(xié)議棧

23、 if ((retval = WSAStartup(0x202, &wsaData)) != 0) //初始化套接字版本等信息 { printf("WSAStartup 失敗,錯誤號:%d\n", retval); WSACleanup();//在創(chuàng)建失敗,或者程序結(jié)束,都要調(diào)用 return -1; } //建立套接字 listen_socket = socket(AF_INET, socket_type, 0); if (listen_socket == INVALID_SOCK

24、ET) { printf("socket()失敗,錯誤號:%d\n", WSAGetLastError()); WSACleanup(); return -1; } // 拷貝 解析的信息到sockaddr_in結(jié)構(gòu)中 local.sin_family = AF_INET; local.sin_addr.s_addr = INADDR_ANY; local.sin_port = htons(port); //邦定網(wǎng)絡地址到套接字 if (bind(listen_soc

25、ket,(struct sockaddr*)&local, sizeof(local) ) == SOCKET_ERROR) //綁定網(wǎng)絡地址 { printf("bind()失敗,錯誤號:%d\n", WSAGetLastError()); WSACleanup(); return -1; } //對于流式套接字,讓套接字處于監(jiān)聽狀態(tài),等待連接到來 if (socket_type != SOCK_DGRAM) { if (listen(listen_socket,5) == SOCK

26、ET_ERROR) //監(jiān)聽網(wǎng)絡 { printf("listen()失敗,錯誤號:%d\n", WSAGetLastError()); WSACleanup(); return -1; } } printf("監(jiān)聽端口:%d, 使用協(xié)議:%s\n", port, (socket_type == SOCK_STREAM)? "TCP": "UDP"); while(1) { fromlen =sizeof(from);

27、 if (socket_type == SOCK_DGRAM ) msgsock = listen_socket; else if( isconnected == 0) {//對于TCP連接,如果沒有連接,等待一個連接的到來 msgsock = accept(listen_socket,(struct sockaddr*)&from, &fromlen); if (msgsock == INVALID_SOCKET) { printf("accept(

28、)失敗,錯誤號:%d\n",WSAGetLastError()); WSACleanup(); return -1; } isconnected = 1; printf("從%s收到連接, 端口是:%d\n", inet_ntoa(from.sin_addr), htons(from.sin_port)); } //等待接收網(wǎng)絡信息 if (socket_type != SOCK_DGRAM) r

29、etval = recv(msgsock, Buffer, sizeof (Buffer), 0 ); //面向tcp,類似BSD read() else { retval = recvfrom(msgsock, Buffer, sizeof (Buffer), 0, (struct sockaddr *)&from, &fromlen); //面向UDP printf("從%s收到數(shù)據(jù)報,端口是:%d\n", inet_ntoa(from.sin_addr), htons(from.sin_port)

30、); } //結(jié)果判斷 if (retval == SOCKET_ERROR) { printf("recv()失敗,錯誤號:%d\n", WSAGetLastError()); closesocket(msgsock); continue; } else if (retval == 0) { printf("客戶端關(guān)閉連接\n"); closesocket(msgsock

31、); continue; } else //正常接收 { printf("收到 %d 字節(jié)的數(shù)據(jù):%s \n", retval, Buffer); if (socket_type != SOCK_DGRAM) {//對于TCP連接,我們收到"exit"有一個關(guān)閉連接的操作 if(!stricmp(Buffer, "exit")) { printf("關(guān)閉TCP 連接,等待下一次連接...\n"); closesocket(msgsock); isconnec

32、ted = 0; continue; } } } //信息回送 printf("將同樣的信息回送給客戶端...\n\n"); printf("please input the message:\n"); scanf("%s",Buffer); if (socket_type != SOCK_DGRAM) retval = send(msgsock, Buffer, strlen(Buffer)+1, 0); //面向tcp,類似BSD write() e

33、lse retval = sendto(msgsock, Buffer, strlen(Buffer)+1, 0, (struct sockaddr *)&from, fromlen); //面向UDP if (retval == SOCKET_ERROR) { printf("send()失敗,錯誤號:%d\n", WSAGetLastError()); } //程序的一個退出條件 if(!stricmp(Buffer, "quit")) break

34、; } WSACleanup(); return 0; } 3.連接數(shù)據(jù)庫 3.1使用說明書 第一步:在開始菜單中找到SQL SERVER并打開 第二步:建立一個新的數(shù)據(jù)庫。在SQL SERVER中建立一個名為student的數(shù)據(jù)庫 第三步:在student庫下創(chuàng)建一個Stu_Info表,并在表中包含以下字段名:snum,sname,ssex,sage,smajor。輸入一些數(shù)據(jù),進行測試。 第四步:在安全性中設置密碼為123. 第三步:編譯生成可執(zhí)行的

35、文件,點擊運行。根據(jù)提示框中的信息,輸入我們需要插入的數(shù)據(jù)。關(guān)閉程序。 第四步:在次點擊運行,查看我們插入的數(shù)據(jù)是否成功的插入。 3.2原理說明 通過ADO訪問數(shù)據(jù)庫的技術(shù)進行數(shù)據(jù)庫編程。我們需要在計算機上配置數(shù)據(jù)源。配置數(shù)據(jù)源的過程,就是和讓數(shù)據(jù)庫的驅(qū)動程序來對數(shù)據(jù)庫進行操作,以便使我們再程序中,可以調(diào)用驅(qū)動程序來完成我們需要完成的工作。處理ADO訪問技術(shù)之外,還有ODBC(開放式數(shù)據(jù)庫互聯(lián))等。 3.3程序注釋 /******************************************************************* 利用ADO訪問MS

36、SQL2000 要求: 【1】輸出Stu_Info表內(nèi)的每一條記錄 【2】添加一條新記錄 【3】刪除名字為"李立"的記錄 *****************************************************************/ #import "c:\Program Files\Common Files\System\ADO\msado15.dll" \//導入動態(tài)鏈接庫,使我們可以使用ADO編程 no_namespace rename("EOF", "EndOfFile") //為了防止命名沖突,不使用命名空間 #include

37、am> //標準輸入輸出流 #include //for setw() using namespace std; class STU //定義學生類 { public: char snum[10]; //學號 char sname[10]; //姓名 char ssex[2]; //姓別 long sage; //年齡 char smajor[20]; //專業(yè) public: STU(){} ~STU(){} }; int main() { STU student; //

38、定義學生對象 ::CoInitialize(NULL); // 初始化OLE/COM庫環(huán)境 ,為訪問ADO接口做準備 _RecordsetPtr m_pRecordset("ADODB.Recordset"); //建立記錄集 _ConnectionPtr m_pConnection("ADODB.Connection"); //建立連接 _bstr_t bstrSQL("select * from stu_info"); //查詢語句 char * query_cmd = "DELETE FROM stu_info WHERE sname = 李立";

39、 try //異常處理 { // 創(chuàng)建Connection對象 m_pConnection.CreateInstance("ADODB.Connection"); // 設置連接字符串,必須是BSTR型或者_bstr_t類型 _bstr_t strConnect= "Provider=SQLOLEDB;Server=(local);Database=student; uid=sa; pwd=123;"; //若數(shù)據(jù)庫在網(wǎng)絡上則Server為形如(192.168.1.5,3340) //用戶sa和密碼123只是針對我的庫 m_pConnect

40、ion->Open(strConnect,"","",adModeUnknown); if(m_pConnection==NULL) cerr<<"Lind data ERROR!\n"; // 創(chuàng)建記錄集對象 m_pRecordset.CreateInstance(__uuidof(Recordset)); // 取得表中的記錄 m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText); _var

41、iant_t vsnum,vsname,vsage,vssex,vsmajor; //對應庫中的snum,sname,sage,ssex,smajor cout << "學號 姓名 年齡 姓別 專業(yè)"; cout << "\n----------------------------------------------------------------\n"; while (!m_pRecordset->EndOfFile) //如果記錄集沒有到記錄的尾端 { vsnum = m_pRecordset->GetCollect(_variant_t((lo

42、ng)0));//這兒給字段編號和字段名都可以 vsname = m_pRecordset->GetCollect("sname"); vsage = m_pRecordset->GetCollect("sage"); vssex = m_pRecordset->GetCollect("ssex"); vsmajor = m_pRecordset->GetCollect("smajor"); if (vsnum.vt != VT_NULL&&vsname.vt != VT_NULL&&vsage.vt != VT_NULL &&vssex.vt !

43、= VT_NULL&&vsmajor.vt != VT_NULL)//如果不為空 { cout.setf(ios::left); //設置左對齊 cout << setw(14) << (char*)(_bstr_t)vsnum; //輸出學號 cout << setw(14) << (char*)(_bstr_t)vsname; //輸出姓名 cout << setw(8) << vsage.lVal; //輸出年齡 cout << setw(8) << (char*)(_bstr_t)vssex; //輸出性別 cout <

44、<< (char*)(_bstr_t)vsmajor; //輸出專業(yè) cout.unsetf(ios::left); //取消左對齊 cout << endl; } m_pRecordset->MoveNext(); ///移到下一條記錄 } cout << "\n----------------------------------------------------------------\n"; //輸入將要插入的信息 cout << "\n請輸入你要添加的學生信息\n"; cout << "學號:"; cin >> student.s

45、num; cout << "\n姓名:"; cin >> student.sname; cout << "\n年齡:"; cin >> student.sage; cout << "\n姓別:"; cin >> student.ssex; cout << "\n專業(yè):"; cin >> student.smajor; m_pRecordset->MoveFirst(); //移動到第一條記錄 m_pRecordset->AddNew(); ///添加新記錄 m_pRecordset->PutCollect("snum",_var

46、iant_t(student.snum)); //將數(shù)據(jù)添加進去輸入庫 m_pRecordset->PutCollect("sname",_variant_t(student.sname)); m_pRecordset->PutCollect("sage",_variant_t(student.sage)); m_pRecordset->PutCollect("ssex",_variant_t(student.ssex)); m_pRecordset->PutCollect("smajor",_variant_t(student.smajor)); m_pRecor

47、dset->Update();//更新操作,如果不更新,對數(shù)據(jù)庫的操作將沒有得到相應的操作 m_pConnection->Execute(query_cmd,NULL,1); //用Execute執(zhí)行sql語句來刪除 m_pRecordset->Close(); // 關(guān)閉記錄集 } // 捕捉異常 catch(_com_error e) { // 顯示錯誤信息 cerr << "\nERROR:" << (char*)e.Description();//拋出異常 } if(m_pConnection->State) m_

48、pConnection->Close(); ::CoUninitialize(); return 0; } 4.實習總結(jié)、體會與收獲 通過這些天老師給我們講授實習課,我知道的我們專業(yè)的實用性,以及在軟件工程上我們應該怎么學,學些什么,光靠課堂上我們學習的東西十分有限,要充分利用課余時間,利用圖書館和互聯(lián)網(wǎng)。學習這個專業(yè),要求我們要深入進去,不能只學會些皮毛,要不斷跟進時代的步伐,不斷學習新的知識,開拓視野,才能在這個專業(yè)上有更好的作為,使我們走得更遠,這門課程的學習使我受益匪淺,為以后的學習打下了基礎,激發(fā)了我的學習興趣,使我明確了自己的專業(yè)方向。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!