管理系統(tǒng)中計算機應(yīng)用實踐報告材料_第1頁
管理系統(tǒng)中計算機應(yīng)用實踐報告材料_第2頁
管理系統(tǒng)中計算機應(yīng)用實踐報告材料_第3頁
管理系統(tǒng)中計算機應(yīng)用實踐報告材料_第4頁
管理系統(tǒng)中計算機應(yīng)用實踐報告材料_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、標(biāo)準(zhǔn)管理系統(tǒng)中計算機應(yīng)用實踐報告設(shè)計題目:管理系統(tǒng)中計算機應(yīng)用助學(xué)院校:河南理工大學(xué)自考助學(xué)專業(yè):機電設(shè)備管理與維修姓 名:賀珂珂自考助學(xué)學(xué)號:040213200112成 績:指導(dǎo)教師簽名:河南理工大學(xué)成人高等教育2O 年 月 日目錄1. 軟件編譯理論及實踐教程實習(xí)內(nèi)容 42. 套接字編程 62.1 使用說明書 62.2 原理說明書 72.3 程序注釋 73. 連接數(shù)據(jù)庫 193.1 使用說明書 193.2 原理說明書 203.3 程序注釋 204. 實習(xí)總結(jié)、體會與收獲 26文案1.軟件編譯理論及實踐教程實習(xí)內(nèi)容一:我的電腦磁盤分析:0000000000管理節(jié)點1000000003F0000

2、00003FC 盤(48.8GB)00061AB82700061AB827管理節(jié)點200061AB86600061AB866D 盤(73.4GB)000F48CDDA000F48CDDA分區(qū)間隙000F48CE18000F48CE18管理節(jié)點3000F48CE19000F48CE19E 盤(73.4GB)001876E38D001876E38D分區(qū)間隙001876E3CB001876E3CB管理節(jié)點4001876E3CC001876E3CCF盤(102.4GB)0025422D6C1剩余扇區(qū)PING.EXE十六進制源碼分析在文件存儲空間中,ping.exe十六進制源碼分析如下:00000000

3、 ;3 0DQ00010 ;陽 qchjaoaza : do DQDOaSO : 00 00000040 OEODOoaaso :00000060 : 74ODOOOQ70 i CDB口 !59CDaQDQ9a ; DE 000000AO : DE DDODOaBQ ; DE O00000匚口 : 52 QDODQODa i DO DOQOOOEa t IS ODOOOOFO JDB 皿口ODIOQ : C61口 ; 口D0012a I 040D000130 : 23 oDQOOiqg : co 00000150、丈X) 口口口0D160:00SA 90 0000 00 0000 00 QQ

4、00 IF Bk 0E73 2D 7020 62 65GT GA 6596 F6 fiB re 97 sbF8 C5 3B re c? sb69 備 COOS 00 00SB 02 49 oi 0? m28 00 00 ID DO OQ 00 0070 00 00QQ 10 DO00 00 00CDivn ooooaiso 000D190 D0001A0 13Q aoaoQi亡口 000Q01I>Q 000001LOD00o a o O O 070 o O DD0!0<0 _o o o o O o O 1 O 16 0-101oooooiro ; ooDD20D :tJCJCl o

5、azio : DO00000220 熠£E00000230 I 00 MCI QDZa : 000 0 8 0 0 0 0 7 0 0-0 0 30 0 0 000 o O 4* 2 O1 0 7 2 0o 2 & 0 0 7 0 0 D D J r r . 0 0 7 0 03 o 2 E o ft 1 o 7 1 o B0300aaDO oa72202ELDie ia ODIDOO oa JO oo on00 03000053 1Coa40r* oa7400zaOQ006300 犯00 00 00 -04 0000 00 00 -啊COoa oo 叮a -00 DOCM3

6、 O D -00 OO09 CD - 21 SB6F6772 616D7275GE '2069OD OD OA - ZOOn 98 3B - ID 17 r? 93 AB - ID T1n9830 '-DEF6TTir3B -DEF933 '-0000oa ODqh45oa ooao-oooo22 0000-0032ia ooOD-oo02 OD口塾->T05oa odod-ooboDO 00購亠0000ia ooqd-oaw00 00CD-2&23ID 00OD-0000oa00qo aa - ooOOD O OOo o o o o00o o o o0口

7、a0Dpa0D0Q00Da000000000-102004302-00000n0l,1-E644000一二02uaj0二D二U00u0c05Q1D2s000-00n000 00 DD00“DHIDrbB- e0000FFFF0000ODDO00OD00 DODO00CDDB00oaDI4CCI>54206361&ECE6E2044舒S300ODOD00oa983BIDr?9B3B27r?99cs3B1CF79hcz3B1CF799oa0000CrCi00oaao4CDl03oa00ED00OF0000ODDO00000000DOoa0100OS 01oaCOOD 4000400o

8、a10(X)oo00ID(x>oaoa008CDO00aoao0DOoaoo00DOooDaLI-JU0000Cl 口OD00oa00DO009DQ00OD0000DQoo00000000DOoa000010000000000000閃710000oa00ODZ 6oaoa0040oaoa0000GO00oa00ODDO00QZ錦 oaA 0u orirt0000狗o(y0000oo. mzy:.臥文件 00/1 OQf2.套接字編程2.1.使用說明書:第一步:先打開服務(wù)器端(server.exe ).根據(jù)提示輸入端口號,需要輸入大于5001小于65535的值,否則就是用默認(rèn)的5001作為

9、 端口值第二步:創(chuàng)建套接字并選擇協(xié)議。第三步:打開客戶端(client.exe ),根據(jù)提示,將客戶端(server.exe )所在的服務(wù)器的IP地址輸入進去。第四步:輸入在服務(wù)器端(server.exe )中建立的端口號值。第五步:選擇和服務(wù)器端(server.exe )中一樣的協(xié)議第六步:收發(fā)數(shù)據(jù)第七步:關(guān)閉連接。2.2原理說明書丁作站端(:客戶端)朋務(wù)器端劃迓套接宇鳥就灶J娜宦呼迪址和端口 (bind)創(chuàng)進世接寧fbOGkfit)TCP服務(wù)黠和客戶機模型監(jiān)聽進人的連接(listen 1|T接受連按(accept)收發(fā)數(shù)據(jù)5firtd;recv)1黃閉述腰(cltKCSOCkcll收覽數(shù)據(jù)

10、(send/recv)2.3程序注釋/*、* client.c -簡單的TCP/UDP套接字客戶程序 windows環(huán)境*/#in elude <wi nsock2.h>關(guān)于套接字的頭文件#i nclude <stdlib.h>#in clude <stdio.h>#i nclude <stri ng.h>#in clude vconi o.h>#pragma comment (Iib,"ws2_32")添加 ws2_32 庫/端口號缺省使用TCP連接int mai n(void)un sig ned short por

11、t = 5001;int socket_type = SOCK_STREAM; /收發(fā)緩沖區(qū)/IP地址變量char Buffer1280; un sig ned int addr;int retval,i;臨時變量struct sockaddr_i n server, from; / struct hoste nt *hp;指針WSADATA wsaData;套接字地址結(jié)構(gòu)變量/主機信息結(jié)構(gòu)變量/windows 套接字信SOCKET con n_socket;/套接字變量息/先輸入客戶程序所需要的基本信息:服務(wù)器地址,端口號, 套接字類型prin tf("請輸入服務(wù)器地址:"

12、;);sca nf("%s", Buffer);printf("請輸入端口號(>5000 ):");sca nf("%d", & i);if(i < 5000 | i > 65535)printf("不正確的端口號%d,用缺省端口號 5001n", i);else標(biāo)準(zhǔn)port = i;printf(" 請輸入套接字類型(1 , TCP; 2, UDP ):");sea nf("%d",&i);if(i = 1)socket_type = SO

13、CK_STREAM; 設(shè)定為 SOCK_STREAMelse if(i = 2)socket_type = SOCK_DGRAM;設(shè)定為 SOCK_DGRAMelseprintf(” 不正確的輸入d使用TCP數(shù)據(jù)流n", i);/在windows環(huán)境下,需要先初始化協(xié)議棧if (retval = WSAStartup(0x202, &wsaData) !=0)/WSAStartup函數(shù)調(diào)用,用來初始/socketprin tf("WSAStartup失敗,錯誤號:%dn", retval);WSACleanup();當(dāng)調(diào)用了 WSAStartup之后,就需

14、要調(diào)用 retur n -1;/取得主機IP地址if (isalpha(BufferO) /是域名或命名地址,用首字母的是否在A-Z,或者a-z來判斷是域名還是IP地址hp = gethostby name(Buffer);/從一個主機數(shù)據(jù)庫中提取出主機信息elseaddr = in et_addr(Buffer);是點分地址hp = gethostbyaddr(char *)&addr,4,AF_INET);根據(jù)網(wǎng)絡(luò)地址,獲得主機信息,執(zhí)行成功,就返回一個指向主機信息的 結(jié)構(gòu)if (hp = NULL )printf("不能解析地址%s:錯誤號dn". Buffe

15、r,WSAGetLastError();用于獲取錯誤信息WSAClea nup();文案標(biāo)準(zhǔn)exit(1);/ 拷貝 解析的信息到sockaddr_in結(jié)構(gòu)中memset(&server,0,sizeof(server);分 配內(nèi)存 空間,由server返回memcpy (&(server.s in _addr),hp->h_addr,hp->h_le ngth);/ 信息的copyserver.sin_family = hp->h_addrtype;/組協(xié)議初始化server.sin_port = hton s(port);/端口號初始化/建立套接字conn

16、 _socket = socket(AFN ET,socket_type,0);if (conn _socket <0 )printf("socket()失敗,錯誤號: dn",WSAGetLastError();retur n -1;/對于流式套接字,需要先建立連接/其實也可 以使用 connect(),send(),recv()等 函數(shù)在win dows里面一樣實現(xiàn)數(shù)據(jù)報套接字功能if(socket_type != SOCK_DGRAM)printf("正在連接到:%sn",hp->h_name);文案sockaddr*)&ser

17、ver,sizeof(server) = SOCKET_ERROR)prin tf("c onn ect()如果創(chuàng)建失敗,就關(guān)號:%dn",WSAGetLastError();closesocket(c onn _socket);/閉連接套接字WSAClea nup();return -1;while(1)/得到要發(fā)送的信息字符串puts("n輸入送到服務(wù)器的信息:”);gets(Buffer);if(!strle n(Buffer)/如果沒有輸入信息,繼續(xù)循環(huán)con ti nue;/發(fā)送網(wǎng)絡(luò)信息if(socket_type != SOCK_DGRAM)retva

18、l=sen d(c onn _socket,Buffer,strlen(Buffer)+1, 0);/ 面向 tcp,類似 BSD write()elseretval =sen dto(c onn _socket,Buffer,strlen(Buffer)+1, 0,/發(fā)送字符串的時候,須將字符串的結(jié)束符0發(fā)送(structsockaddr* )&server,sizeof(server);/ 面向 UDPif (retval = SOCKET_ERROR)printf("發(fā)送失敗,錯誤號:WSAGetLastError();break;elseprintf("發(fā)送

19、信息:%s n", Buffer);/接收網(wǎng)絡(luò)信息i = sizeof(from);if(socket_type != SOCK_DGRAM)retval= recv(c onn _socket,sizeof(Buffer), 0 );/面向 tcp,類似 BSD read()elseretval =recvfrom(c onn _socket,sizeof(Buffer), 0,(struct sockaddr*)&from, &i);%dn".Buffer,Buffer,/面向UDPif (retval = SOCKET_ERROR)pri ntf(”接

20、收信息失敗,錯號:%dn",WSAGetLastError();break;else if (retval = 0) /對于面向連接的套接字,-要判斷對方是否關(guān)閉連接printf(”服務(wù)器關(guān)閉連接n");break;else /正確接收到網(wǎng)絡(luò)信息printf("收到 %d 字節(jié)信息:%s n", retval,Buffer);/程序的一個退出條件if(!stricmp(Buffer, "quit")break;/關(guān)閉套接字closesocket(c onn _socket);WSACIea nup();return 0;/*、* se

21、rver.c - 簡單TCP/UDP套接字服務(wù)器程序 windows環(huán)境*/#i nclude <win sock2.h>套接字頭文件#i nclude <stdlib.h>#in clude <stdio.h>#i nclude <stri ng.h>#i nclude <iostream.h>#pragma comme nt(lib,"ws2_32")添加庫int main(v oid)un sig ned short port= 5001;/端口號int socket_type = SOCK_DGRAM;/缺

22、省使用TCP連接char Buffer1024;/收發(fā)緩沖區(qū)int retval, fromle n, i, isc onn ected = 0;/臨時變量struct sockaddr_i n local, from;/套接字地址結(jié)構(gòu)變SOCKET liste n_socket, msgsock; /套接字變量WSADATA wsaData;/windows 套接字信息/先輸入服務(wù)器程序所需要的基本信息:端口號,套接字類型printf(" 請輸入端口號(>5000 ):");sea nf("%d", & i);if(i < 5000

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

24、tartup(0x202, &wsaData) != 0) /始化套接字版本等信息prin tf("WSAStartup失敗,錯誤號:%dn", retval);WSAClea nup();在創(chuàng)建失敗,或者程序結(jié)束,都要調(diào)用retur n -1;/建立套接字liste n_socket = socket(AF_INET, socket_type, 0);if (listen_socket = INVALID_SOCKET)prin tf("socket()失敗,錯誤號:dn",WSAGetLastError();WSAClea nup();ret

25、ur n -1;/ 拷貝 解析的信息到sockaddr_in結(jié)構(gòu)中 local.sin_family = AF_INET;local.sin_addr.s_addr = INADDR_A NY; local.sin_port = hton s(port);/邦定網(wǎng)絡(luò)地址到套接字sockaddr* )&local,if(bin d(liste n_socket,(struct sizeof(local) ) = SOCKET_ERROR) / 綁定網(wǎng)絡(luò)地址prin tf("bi nd()WSAGetLastError();WSACIea nup();retur n -1;失敗,

26、錯誤號:dn"./對于流式套接字,讓套接字處于監(jiān)聽狀態(tài),等待連接到來if (socket_type != SOCK_DGRAM)if(liste n(liste n_socket,5)= SOCKET_ERROR)監(jiān)聽網(wǎng)絡(luò)printf("listen()失敗,錯誤號:%dn",WSAGetLastError();WSAClea nup();return -1;prin tf("監(jiān)聽端口: %d,使用協(xié)議:%sn", port,(socket_type = SOCK_STREAM)? "TCP": "UDP"

27、;);while(1)fromle n 二sizeof(from);if (socket_type = SOCK_DGRAM )msgsock = liste n_socket;else if( isc onn ected = 0)/對于TCP連接,如果沒有連接,等待一個連接的到來msgsock= accept(liste n_socket,(structsockaddr* )&from, & fromle n);if (msgsock = INVALID_SOCKET)prin tf("accept()失 敗, 錯號:%dn",WSAGetLastErro

28、r();WSAClea nup();return -1;isc onn ected = 1;pri ntf(”從%s收到連接,端口是:dn".inet_ntoa(from.sin_addr), htons(from.sin_port);/等待接收網(wǎng)絡(luò)信息if (socket_type != SOCK_DGRAM)retval =recv(msgsock, Buffer, sizeof (Buffer),0 ); / 面向 tcp,類似 BSD read() elseretval=recvfrom(msgsock,Buffer,sizeof(Buffer), 0,(structsock

29、addr *)& from,& fromle n);/面向UDPpri ntf(”從%s收到數(shù)據(jù)報,端口是:%dn",in et_ntoa(from.sin_addr), hto ns(from.sin_port);/結(jié)果判斷if (retval = SOCKET_ERROR)printf("recv()失敗,錯誤號: dn",WSAGetLastError();closesocket(msgsock);con ti nue;else if (retval = 0)printf(”客戶端關(guān)閉連接n");closesocket(msgsoc

30、k);con ti nue;else /正常接收prin tf(" 收到 %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);isc onn ected = 0;con ti nue;/信息回送printf("將同樣的信

31、息回送給客戶端 nn");prin tf("please in put the message:' n");sca nf("%s",Buffer);if (socket_type != SOCK_DGRAM)retval=sen d(msgsock,Buffer,strle n( Buffer)+1, 0);/ 面向 tcp,類似 BSD write()elseretval=sen dto(msgsock,Buffer,strle n( Buffer)+1, 0,(structsockaddr*)&from,fromle n);

32、/面向UDPif (retval = SOCKET_ERROR)pri ntf("se nd()失敗,錯誤號:dn".WSAGetLastError();/程序的一個退出條件if(!stricmp(Buffer, "quit") break;WSAClea nup();return 0;3.連接數(shù)據(jù)庫3.1使用說明書第一步:在開始菜單中找到 SQL SERVE并打開第二步:建立一個新的數(shù)據(jù)庫。在SQL SERVER建立一個名為student的數(shù)據(jù)庫第三步:在student庫下創(chuàng)建一個 Stu_Info 表,并在表中包含以下字段名:snum sname s

33、sex,sage,smajor。輸入一些數(shù)據(jù),進行測試。第四步:在安全性中設(shè)置密碼為123.第三步:編譯生成可執(zhí)行的文件,點擊運行。根據(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ū)動程序來完成 我們需要完成的工作。處理 ADC訪問技術(shù)之外,還有 ODB(開放式 數(shù)據(jù)庫互聯(lián))等。3.3程序注釋/*利用ADC訪問MS SQL2000要求:【1】輸出Stu_l

34、nfo表內(nèi)的每一條記錄【2】添加一條新記錄【3】刪除名字為"李立"的記錄*/#import"c:ProgramFiles'Com monFilesSystemADOmsado15.dll" V/導(dǎo)入動態(tài)鏈接庫,使我們可以使用ADOS程n o_namespace ren ame("EOF", "En dOfFile") /為了防止命名沖突,不使用命名空間#i nclude <iostream> /標(biāo)準(zhǔn)輸入輸出流#i nclude <ioma nip> /for setw()using

35、n amespace std;class STU /定義學(xué)生類public:char sn um10; /學(xué)號char sn ame10; /姓名char ssex2; /姓別long sage; / 年齡char smajor20; /專業(yè)public:STU()STU();int mai n()STU stude nt; /定義學(xué)生對象:Colnitialize(NULL); /初始化 OLE/COM庫環(huán)境,為訪問ADO接 口做準(zhǔn)備_RecordsetPtr m_pRecordset("ADODB.Recordset"); / 建立記錄集_ConnectionPtr m

36、_pConnection("ADODB.Connection"); /建立連接_bstr_t bstrSQL("select * from stu_i nfo"); /查詢語句char * query_cmd = "DELETE FROM stunfo WHERE sn ame ='李立'"try / 異常處理/ 創(chuàng)建Connection對象m_pC onn ectio n.Createl nsta nce("ADODB.C onn ectio n");/ 設(shè)置連接字符串,必須是BSTR型或者_(dá)bs

37、tr_t類型_bstr_tstrC onn ect="Provider二SQLOLEDB;Server=(local);Database二stude nt;uid=sa;pwd=123;"/若數(shù)據(jù)庫在網(wǎng)絡(luò)上則 Server為形如(192.168.1.5,3340)/用戶sa和密碼123只是針對我的庫m_pC onn ectio n->Ope n(strC onn ect,"","",adModeU nknown);if(m_pC onn ectio n=NULL)cerr<<"Li nd data ERRO

38、R!n"/創(chuàng)建記錄集對象m_pRecordset.Createlnstance(_uuidof(Recordset);/取得表中的記錄m_pRecordset->Ope n(bstrSQL,m_pCo nn ectio n.Getl nterfacePtr(),adOpe nDyn amic,adLockOptimistic,adCmdText);_varia nt_t vsnu m,vs name,vsage,vssex,vsmajor; /對應(yīng)庫中的snu m,s name,sage,ssex,smajorcout << "學(xué)號姓名年齡姓別專業(yè)&quo

39、t;cout << "nn ”;while (!m_pRecordset->E ndOfFile) /如果記錄集沒有到記錄的尾端vsnum=m_pRecordset->GetCollect(_varia nt_t(lo ng)0);這兒給字段編號和字段名都可以vsn ame = m_pRecordset->GetCollect("s name");vsage = m_pRecordset->GetCollect("sage");vssex = m_pRecordset->GetCollect("

40、;ssex");vsmajor = m_pRecordset->GetCollect("smajor");if(vs nu m.vt!=VT_NULL&&vsn ame.vt!=VT_NULL&&vsage.vt != VT_NULL&&vssex.vt != VT_NULL&&vsmajor.vt != VT_NULL)/如果不為空標(biāo)準(zhǔn)輸出輸出cout.setf(ios:left); /設(shè)置左對齊cout << setw(14) << (char*)(_bstr_t)v

41、s num; /學(xué)號cout << setw(14) << (char*)(_bstr_t)vs name; /出姓名cout << setw(8) << vsage.lVal; / 輸出年齡cout << setw(8) << (char*)(_bstr_t)vssex; /性別cout <<setw(20) << (char*)(_bstr_t)vsmajor; /出專業(yè)cout.u nsetf(ios:left); /取消左對齊cout << en dl;m_pRecordset->MoveNext(); /移到下一條記錄cout <

溫馨提示

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

評論

0/150

提交評論