管理系统中计算机应用实践报告材料.doc

上传人:scccc 文档编号:12496359 上传时间:2021-12-04 格式:DOC 页数:45 大小:392KB
返回 下载 相关 举报
管理系统中计算机应用实践报告材料.doc_第1页
第1页 / 共45页
管理系统中计算机应用实践报告材料.doc_第2页
第2页 / 共45页
管理系统中计算机应用实践报告材料.doc_第3页
第3页 / 共45页
管理系统中计算机应用实践报告材料.doc_第4页
第4页 / 共45页
管理系统中计算机应用实践报告材料.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《管理系统中计算机应用实践报告材料.doc》由会员分享,可在线阅读,更多相关《管理系统中计算机应用实践报告材料.doc(45页珍藏版)》请在三一文库上搜索。

1、标准管理系统中计算机应用实践报告设计题目:管理系统中计算机应用助学院校:河南理工大学自考助学专业:机电设备管理与维修姓 名:贺珂珂自考助学学号:040213200112成 绩:指导教师签名:河南理工大学成人高等教育2O 年 月 日目录1. 软件编译理论及实践教程实习内容 42. 套接字编程 62.1 使用说明书 62.2 原理说明书 72.3 程序注释 73. 连接数据库 193.1 使用说明书 193.2 原理说明书 203.3 程序注释 204. 实习总结、体会与收获 26文案1.软件编译理论及实践教程实习内容一:我的电脑磁盘分析:0000000000管理节点1000000003F0000

2、00003FC 盘(48.8GB)00061AB82700061AB827管理节点200061AB86600061AB866D 盘(73.4GB)000F48CDDA000F48CDDA分区间隙000F48CE18000F48CE18管理节点3000F48CE19000F48CE19E 盘(73.4GB)001876E38D001876E38D分区间隙001876E3CB001876E3CB管理节点4001876E3CC001876E3CCF盘(102.4GB)0025422D6C1剩余扇区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.使用说明书:第一步:先打开服务器端(server.exe ).根据提示输入端口号,需要输入大于5001小于65535的值,否则就是用默认的5001作为

9、 端口值第二步:创建套接字并选择协议。第三步:打开客户端(client.exe ),根据提示,将客户端(server.exe )所在的服务器的IP地址输入进去。第四步:输入在服务器端(server.exe )中建立的端口号值。第五步:选择和服务器端(server.exe )中一样的协议第六步:收发数据第七步:关闭连接。2.2原理说明书丁作站端(:客户端)朋务器端划迓套接宇鳥就灶J娜宦呼迪址和端口 (bind)创進世接宁fbOGkfit)TCP服务黠和客户机模型监听进人的连接(listen 1|T接受连按(accept)收发数据5firtd;recv)1黄闭述腰(cltKCSOCkcll收览数据

10、(send/recv)2.3程序注释/*、* client.c -简单的TCP/UDP套接字客户程序 windows环境*/#in elude <wi nsock2.h>关于套接字的头文件#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; /收发缓冲区/IP地址变量char Buffer1280; un sig ned int addr;int retval,i;临时变量struct sockaddr_i n server, from; / struct hoste nt *hp;指针WSADATA wsaData;套接字地址结构变量/主机信息结构变量/windows 套接字信SOCKET con n_socket;/套接字变量息/先输入客户程序所需要的基本信息:服务器地址,端口号, 套接字类型prin tf("请输入服务器地址:"

12、;);sca nf("%s", Buffer);printf("请输入端口号(>5000 ):");sca nf("%d", & i);if(i < 5000 | i > 65535)printf("不正确的端口号%d,用缺省端口号 5001n", i);else标准port = i;printf(" 请输入套接字类型(1 , TCP; 2, UDP ):");sea nf("%d",&i);if(i = 1)socket_type = SO

13、CK_STREAM; 设定为 SOCK_STREAMelse if(i = 2)socket_type = SOCK_DGRAM;设定为 SOCK_DGRAMelseprintf(” 不正确的输入d使用TCP数据流n", i);/在windows环境下,需要先初始化协议栈if (retval = WSAStartup(0x202, &wsaData) !=0)/WSAStartup函数调用,用来初始/socketprin tf("WSAStartup失败,错误号:%dn", retval);WSACleanup();当调用了 WSAStartup之后,就需

14、要调用 retur n -1;/取得主机IP地址if (isalpha(BufferO) /是域名或命名地址,用首字母的是否在A-Z,或者a-z来判断是域名还是IP地址hp = gethostby name(Buffer);/从一个主机数据库中提取出主机信息elseaddr = in et_addr(Buffer);是点分地址hp = gethostbyaddr(char *)&addr,4,AF_INET);根据网络地址,获得主机信息,执行成功,就返回一个指向主机信息的 结构if (hp = NULL )printf("不能解析地址%s:错误号dn". Buffe

15、r,WSAGetLastError();用于获取错误信息WSAClea nup();文案标准exit(1);/ 拷贝 解析的信息到sockaddr_in结构中memset(&server,0,sizeof(server);分 配内存 空间,由server返回memcpy (&(server.s in _addr),hp->h_addr,hp->h_le ngth);/ 信息的copyserver.sin_family = hp->h_addrtype;/组协议初始化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()等 函数在win dows里面一样实现数据报套接字功能if(socket_type != SOCK_DGRAM)printf("正在连接到:%sn",hp->h_name);文案sockaddr*)&ser

17、ver,sizeof(server) = SOCKET_ERROR)prin tf("c onn ect()如果创建失败,就关号:%dn",WSAGetLastError();closesocket(c onn _socket);/闭连接套接字WSAClea nup();return -1;while(1)/得到要发送的信息字符串puts("n输入送到服务器的信息:”);gets(Buffer);if(!strle n(Buffer)/如果没有输入信息,继续循环con ti nue;/发送网络信息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,/发送字符串的时候,须将字符串的结束符0发送(structsockaddr* )&server,sizeof(server);/ 面向 UDPif (retval = SOCKET_ERROR)printf("发送失败,错误号:WSAGetLastError();break;elseprintf("发送

19、信息:%s n", Buffer);/接收网络信息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) /对于面向连接的套接字,-要判断对方是否关闭连接printf(”服务器关闭连接n");break;else /正确接收到网络信息printf("收到 %d 字节信息:%s n", retval,Buffer);/程序的一个退出条件if(!stricmp(Buffer, "quit")break;/关闭套接字closesocket(c onn _socket);WSACIea nup();return 0;/*、* se

21、rver.c - 简单TCP/UDP套接字服务器程序 windows环境*/#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;/收发缓冲区int retval, fromle n, i, isc onn ected = 0;/临时变量struct sockaddr_i n local, from;/套接字地址结构变SOCKET liste n_socket, msgsock; /套接字变量WSADATA wsaData;/windows 套接字信息/先输入服务器程序所需要的基本信息:端口号,套接字类型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数据流n",i);/在windows环境下,需要先初始化协议栈if (retval = WSAS

24、tartup(0x202, &wsaData) != 0) /始化套接字版本等信息prin tf("WSAStartup失败,错误号:%dn", retval);WSAClea nup();在创建失败,或者程序结束,都要调用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结构中 local.sin_family = AF_INET;local.sin_addr.s_addr = INADDR_A NY; local.sin_port = hton s(port);/邦定网络地址到套接字sockaddr* )&local,if(bin d(liste n_socket,(struct sizeof(local) ) = SOCKET_ERROR) / 绑定网络地址prin tf("bi nd()WSAGetLastError();WSACIea nup();retur n -1;失败,

26、错误号:dn"./对于流式套接字,让套接字处于监听状态,等待连接到来if (socket_type != SOCK_DGRAM)if(liste n(liste n_socket,5)= SOCKET_ERROR)监听网络printf("listen()失败,错误号:%dn",WSAGetLastError();WSAClea nup();return -1;prin tf("监听端口: %d,使用协议:%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);/等待接收网络信息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收到数据报,端口是:%dn",in et_ntoa(from.sin_addr), hto ns(from.sin_port);/结果判断if (retval = SOCKET_ERROR)printf("recv()失败,错误号: dn",WSAGetLastError();closesocket(msgsock);con ti nue;else if (retval = 0)printf(”客户端关闭连接n");closesocket(msgsoc

30、k);con ti nue;else /正常接收prin tf(" 收到 %d 字节的数据:%s n", retval,Buffer);if (socket_type != SOCK_DGRAM)/对于TCP连接,我们收到"exit"有一个关闭连接的操作if(!stricmp(Buffer, "exit")printf("关闭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.连接数据库3.1使用说明书第一步:在开始菜单中找到 SQL SERVE并打开第二步:建立一个新的数据库。在SQL SERVER建立一个名为student的数据库第三步:在student库下创建一个 Stu_Info 表,并在表中包含以下字段名:snum sname s

33、sex,sage,smajor。输入一些数据,进行测试。第四步:在安全性中设置密码为123.第三步:编译生成可执行的文件,点击运行。根据提示框中的信息,输入我们需要插入的数据。关闭程序。第四步:在次点击运行,查看我们插入的数据是否成功的插入。3.2原理说明通过ADO访问数据库的技术进行数据库编程。我们需要在计算机上 配置数据源。配置数据源的过程,就是和让数据库的驱动程序来对 数据库进行操作,以便使我们再程序中,可以调用驱动程序来完成 我们需要完成的工作。处理 ADC访问技术之外,还有 ODB(开放式 数据库互联)等。3.3程序注释/*利用ADC访问MS SQL2000要求:【1】输出Stu_l

34、nfo表内的每一条记录【2】添加一条新记录【3】删除名字为"李立"的记录*/#import"c:ProgramFiles'Com monFilesSystemADOmsado15.dll" V/导入动态链接库,使我们可以使用ADOS程n o_namespace ren ame("EOF", "En dOfFile") /为了防止命名冲突,不使用命名空间#i nclude <iostream> /标准输入输出流#i nclude <ioma nip> /for setw()using

35、n amespace std;class STU /定义学生类public:char sn um10; /学号char sn ame10; /姓名char ssex2; /姓别long sage; / 年龄char smajor20; /专业public:STU()STU();int mai n()STU stude nt; /定义学生对象:Colnitialize(NULL); /初始化 OLE/COM库环境,为访问ADO接 口做准备_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 / 异常处理/ 创建Connection对象m_pC onn ectio n.Createl nsta nce("ADODB.C onn ectio n");/ 设置连接字符串,必须是BSTR型或者_bs

37、tr_t类型_bstr_tstrC onn ect="Provider二SQLOLEDB;Server=(local);Database二stude nt;uid=sa;pwd=123;"/若数据库在网络上则 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"/创建记录集对象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; /对应库中的snu m,s name,sage,ssex,smajorcout << "学号姓名年龄姓别专业&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)/如果不为空标准输出输出cout.setf(ios:left); /设置左对齐cout << setw(14) << (char*)(_bstr_t)v

41、s num; /学号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; /出专业cout.u nsetf(ios:left); /取消左对齐cout << en dl;m_pRecordset-

42、>MoveNext(); /移到下一条记录cout << "nn" /输入将要插入的信息cout << "n请输入你要添加的学生信息n"cin >> stude nt.s num;cout << "n 姓名:";cin >> stude nt.s name;cout << "n 年龄:"cin >> stude nt.sage;cout << "n 姓别:"cin >> stude

43、nt.ssex;cout << "n 专业:"cin >> stude nt.smajor;m_pRecordset->MoveFirst(); / 移动到第一条记录 m_pRecordset->AddNew(); / 添加新记录 m_pRecordset->PutCollect("s nu m",_varia nt_t(stude nt.s nu m); /将数据添加进去输入库m_pRecordset->PutCollect("s name",_varia nt_t(stude nt.s name);m_pRecordset->PutCollect(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1