




免费预览已结束,剩余72页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构与 VC 编程实习 实习报告 学生姓名 说道 专业班级 指导教师 2012 年 7 月 7 日 实习题目 迷宫 一 任务描述及要求一 任务描述及要求 任意确定一个迷宫的规模和形态 用非递归的方法走出迷宫 并输出至 少一条通路的路径 基本要求 75 分 迷宫的存储结构由学生自行选择 合理设计窗口界面 首先创建一个 迷宫 迷宫的元素可以预先设计好 也可以通过界面建立或修改 建立后 的迷宫在窗口界面上显示出来 通过单击 开始 按钮 显示从入口到出 口的行进路线 迷宫的显示尽量美观逼真 功能菜单或按钮自行设计 以 合理为目的 扩展要求 20 分 动态显示在迷宫中的行进 回溯路线 二 概要设计二 概要设计 1 抽象数据类型 链式栈 2 整个程序包含功能模块及模块间的调用关系 三 详细设计三 详细设计 1 虚拟实现 即数据结构的 C 语言描述 template 栈 节点定义 struct stackNode T data stackNode link stackNode stackNode ptr NULL link ptr 仅初始化指针成员的初始函数 stackNode const Tlink ptr 初始化数据与指针成员的构造函数 stackNode template 栈类定义 class stack private stackNode top 栈 顶元素 public stack top NULL void makeempty 置栈 空 virtual stack stack makeempty 析构函数 void push T 入栈 bool pop T 出 栈 int getSize const 获 得栈元素个数 bool gettop T 获 得栈顶元素 bool Isempty const return top NULL true false 判栈空 2 抽象数据类型中定义的操作算法实现 用伪代码描述 见源代码 3 函数之间的调用关系 工程名为 MistyRainMaze 烟雨迷宫 CMistyRainMazeView InitGame OnSetting OnAutoPlay AutoPlayProc 链式栈的封装操作 DrawBlock 四 调试分析四 调试分析 1 程序在调试过程中出现的问题及解决方法 由于之前准备充分 程序编写过程中没有遇到多少问题 很快就解 决了 CSDN pudn 及百度文库是解决问题的快捷通道 Visual Assist X 是避免不必要错误产生的根本之道 2 算法的时间复杂度分析 O m n 可以考虑用 A 或 B 算法进行改进 五 测试结果五 测试结果 根据一组提供的测试数据得到什么样的结果 六 心得体会六 心得体会 七 实现工程七 实现工程 首先新建一个基于单文档的工程 MistyRainMaze 在第四步中 注意 View 类的基类选择 CScrollView 然后在 MistyRainMazeView h 的 CMistyRainMazeView 类前面加入宏定 义及线程回调声明 include stack h if MSC VER 1000 pragma once endif MSC VER 1000 struct AutoPlayPARAM int m nMaze 迷宫数组 UINT m nMazeRowSize 迷宫行规模 UINT m nMazeColSize 迷宫列规模 int m nRowStart 起点位置 int m nColStart int m nRowEnd 终点位置 int m nColEnd CPoint m ptStart 图像左上角坐标 int m ntimedelay 演示延迟时间 CDC pDC UINT m nRowSpace 迷宫行距 UINT m nColSpace 迷宫列距 typedef enum tagCurrorState CURROR STAND 标准光标 CURROR BLOCK 画墙时的光标 CURROR START 画起点光标 CURROR END 画终点光标 CURROR EREASE 擦出光标 CurrorState 数组中 0 代表通路 1 代表墙 2 代表起点 3 代表终点 typedef enum tagPositionState BACKGROUND BLOCK START END PositionState typedef struct tagitems int row int col int dir items 定义位置偏移 typedef struct tagoffset int row int col offset 偏移数组 static DWORD WINAPI AutoPlayProc LPVOID lpParameter thread data 自动演示线程回调函数 添加图像资源及光标资源 标好 ID 号 为 CMistyRainMazeView 类添加成员变量及函数 private int m nMaze 迷宫数组 UINT m nMazeRowSize 迷宫行规模 UINT m nMazeColSize 迷宫列规模 UINT m nRowSpace 迷宫行距 UINT m nColSpace 迷宫列距 CPoint m ptStart 图像左上角坐标 BOOL m bStop 初始停止标志为 FALSE CBitmap m bitmap 4 加载图像 HCURSOR m hcursor 5 加载光标 int m ntimedelay 演示延迟时间 CurrorState m currorstate 光标状态指示 int m nRowStart 起点位置 int m nColStart int m nRowEnd 终点位置 int m nColEnd HANDLE m hThreadAuotPlay void DrawBlock int x int y CDC pDC int nState 1 Operations public void InitGame 初始化迷宫 每次重新设置需调用 CMistyRainMazeView CMistyRainMazeView TODO add construction code here m nRowSpace 16 初始化行距 16 m nColSpace 16 m nMazeRowSize 20 初始化迷宫 20 20 m nMazeColSize 20 m ptStart x 0 左上角暂定 0 0 以后会调整 m ptStart y 0 m ntimedelay 50 初始化延迟 100 毫秒 m nRowStart 1 初始化起点和终点 m nColStart 1 m nRowEnd m nMazeRowSize 2 m nColEnd m nMazeColSize 2 m currorstate CURROR STAND 初始化标准光标 m bitmap 0 LoadBitmap IDB BLOCK 墙的图像 m bitmap 1 LoadBitmap IDB START 起点的图像 m bitmap 2 LoadBitmap IDB BACKGROUND 背景图像 m bitmap 3 LoadBitmap IDB END 终点图像 从资源加载图像及光标 m hcursor 0 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC STANDARD IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 1 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC BLOCK IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 2 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC START IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 3 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC END IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 4 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC EREASE IMAGE CURSOR 15 15 LR DEFAULTSIZE m bStop FALSE srand unsigned time NULL InitGame CMistyRainMazeView CMistyRainMazeView if m nMaze NULL for int i 0 i m nMazeRowSize i delete m nMaze i 释放内存空间 if m hThreadAuotPlay CloseHandle m hThreadAuotPlay 实现 InitGame 每次初始化迷宫用 void CMistyRainMazeView InitGame m nMaze new int m nMazeRowSize 分配空间 for int i 0 i m nMazeRowSize i m nMaze i new int m nMazeColSize for i 0 i m nMazeRowSize i for int j 0 j m nMazeColSize j m nMaze i j 1 for i 0 i m nMazeRowSize i for int j 0 j m nMazeColSize j if i 0 j 0 i m nMazeRowSize 1 j m nMazeColSize 1 m nMaze i j 1 else m nMaze i j rand 3 4 if m nMaze i j 4 m nMaze i j 1 else m nMaze i j 0 m nMaze m nRowStart m nColStart 2 设置起始位置 m nMaze m nRowEnd m nColEnd 3 设置终点位置 重载 CMistyRainMazeView 的 OnSetCursor 函数 实现编译时光标 指示 BOOL CMistyRainMazeView OnSetCursor CWnd pWnd UINT nHitTest UINT message TODO Add your message handler code here and or call default if nHitTest HTCLIENT switch m currorstate case CURROR STAND SetCursor m hcursor 0 return 1 break case CURROR BLOCK SetCursor m hcursor 1 return 1 break case CURROR START SetCursor m hcursor 2 return 1 break case CURROR END SetCursor m hcursor 3 return 1 break case CURROR EREASE SetCursor m hcursor 4 return 1 break default return CScrollView OnSetCursor pWnd nHitTest message return CScrollView OnSetCursor pWnd nHitTest message 教师评语教师评语 评语 指导教师 签名 下面给出关键文件代码 MistyRainMazeView cpp implementation of the CMistyRainMazeView class include stdafx h include MistyRainMaze h include include SettingDlg h include MistyRainMazeDoc h include MistyRainMazeView h include MainFrm h ifdef DEBUG define new DEBUG NEW undef THIS FILE static char THIS FILE FILE endif CMistyRainMazeView IMPLEMENT DYNCREATE CMistyRainMazeView CScrollView BEGIN MESSAGE MAP CMistyRainMazeView CScrollView AFX MSG MAP CMistyRainMazeView ON WM MOUSEMOVE ON COMMAND IDM AUTO PLAY OnAutoPlay ON WM LBUTTONDOWN ON WM SETCURSOR ON COMMAND IDM EDIT START OnEditStart ON COMMAND IDM EDIT END OnEditEnd ON COMMAND IDM EDIT BLOCK OnEditBlock ON COMMAND IDM EREASE OnErease ON COMMAND IDM EDIT EXIT OnEditExit ON COMMAND IDM RANDOM GENERATE OnRandomGenerate ON COMMAND IDM SETTING OnSetting ON WM RBUTTONDOWN ON COMMAND IDM ONLINE HELP OnOnlineHelp ON WM LBUTTONUP ON WM KEYDOWN AFX MSG MAP Standard printing commands ON COMMAND ID FILE PRINT CScrollView OnFilePrint ON COMMAND ID FILE PRINT DIRECT CScrollView OnFilePrint ON COMMAND ID FILE PRINT PREVIEW CScrollView OnFilePrintPreview END MESSAGE MAP CMistyRainMazeView construction destruction CMistyRainMazeView CMistyRainMazeView TODO add construction code here m bLeftButtonDown FALSE m bStop FALSE m nRowSpace 18 初始化行距 16 m nColSpace 18 m nMazeRowSize 20 初始化迷宫 20 20 m nMazeColSize 20 m ptStart x 0 左上角暂定 0 0 以后会调整 m ptStart y 0 m ntimedelay 100 初始化延迟 100 毫秒 m nRowStart 1 初始化起点和终点 m nColStart 1 m nRowEnd m nMazeRowSize 2 m nColEnd m nMazeColSize 2 m currorstate CURROR STAND 初始化标准光标 从资源加载图像光标 m hcursor 0 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC STANDARD IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 1 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC BLOCK IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 2 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC START IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 3 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC END IMAGE CURSOR 15 15 LR DEFAULTSIZE m hcursor 4 HCURSOR LoadImage AfxGetResourceHandle MAKEINTRESOURCE IDC EREASE IMAGE CURSOR 15 15 LR DEFAULTSIZE m bStop FALSE 初始化停止为 false srand unsigned time NULL 设置时间种子 用于 随机参数 InitGame 初始化迷宫 CMistyRainMazeView CMistyRainMazeView if m nMaze NULL for int i 0 iStretchBlt rectWindow left rectWindow top rectWindow r ight rectWindow bottom CBrush brush RGB 0 0 255 CBrush pOldBrush pDC SelectObject CBitmap bmpAccessible 画迷宫 for i 0 i m nMazeRowSize i for j 0 jSelectObject pOldBrush 画刷归位 void CMistyRainMazeView ShowStep int x int y CDC pDC int nStep CString strStep strStep Format d nStep CPen pen PS SOLID 1 RGB 0 0 255 CPen pOldPen pDC SelectObject pDC TextOut m ptStart x x m nRowSpace 1 m ptStart y y m nC olSpace 1 strStep pDC SelectObject pOldPen void CMistyRainMazeView DrawBlock int x int y CDC pDC int nState 封装画迷宫区块的操作 只需提供数组行列 值 pDC 和 nState 该位置状态 0 通行 1 墙 2 起点 3 终点 CBitmap bitmapAccessible switch nState case 0 bitmapAccessible LoadBitmap IDB BACKGROUND break case 1 bitmapAccessible LoadBitmap IDB BLOCK break case 2 bitmapAccessible LoadBitmap IDB START break case 3 bitmapAccessible LoadBitmap IDB END break CDC dcCompatible dcCompatible CreateCompatibleDC pDC dcCompatible SelectObject BITMAP bmAccesible bitmapAccessible GetBitmap pDC StretchBlt m ptStart x x m nRowSpace m ptStart y y m n ColSpace m nRowSpace m nColSpace CMistyRainMazeView printing BOOL CMistyRainMazeView OnPreparePrinting CPrintInfo pInfo default preparation return DoPreparePrinting pInfo void CMistyRainMazeView OnBeginPrinting CDC pDC CPrintInfo pInfo TODO add extra initialization before printing void CMistyRainMazeView OnEndPrinting CDC pDC CPrintInfo pInfo TODO add cleanup after printing CMistyRainMazeView diagnostics ifdef DEBUG void CMistyRainMazeView AssertValid const CScrollView AssertValid void CMistyRainMazeView Dump CDumpContext CMistyRainMazeDoc CMistyRainMazeView GetDocument non debug version is inline ASSERT m pDocument IsKindOf RUNTIME CLASS CMistyRainMazeDoc return CMistyRainMazeDoc m pDocument endif DEBUG CMistyRainMazeView message handlers void CMistyRainMazeView OnMouseMove UINT nFlags CPoint point TODO Add your message handler code here and or call default CString strPosition 显示鼠标位置 CClientDC dc this OnPrepareDC CMainFrame pFrame CMainFrame AfxGetApp m pMainWnd CStatusBar pStatus CStatusBar strPosition Format 当前坐标 i i point x point y CSize sz dc GetTextExtent strPosition pStatus SetPaneInfo pStatus CommandToIndex IDS CURRENT POSITION IDS CURRENT POSIT ION SBPS NORMAL sz cx pStatus SetPaneText pStatus CommandToIndex IDS CURRENT POSITION strPosition if m bLeftButtonDown if m currorstate CURROR STAND return int fx m ptFore x m ptStart x m nRowSpace int fy m ptFore y m ptStart y m nColSpace int x point x m ptStart x m nRowSpace int y point y m ptStart y m nColSpace if x 0 y m nMazeRowSize 1 y m nMazeColSize 1 return switch m currorstate case CURROR BLOCK if fx x if fy y for int j fy j y j DrawBlock x j m nMaze x j 1 else for int j y j fy j DrawBlock x j m nMaze x j 1 if fy y if fx x for int i fx i x i DrawBlock i y m nMaze i y 1 else for int i x i fx i for int i x i fx i DrawBlock i y m nMaze i y 1 break case CURROR EREASE if fx x if fy y for int j fy j y j DrawBlock x j m nMaze x j 0 else for int j y j fy j DrawBlock x j m nMaze x j 0 if fy y if fx x for int i fx i x i DrawBlock i y m nMaze i y 0 else for int i x i fx i DrawBlock i y m nMaze i y 0 default break DrawBlock m nRowStart m nColStart m nMaze m nRowStart m nColStart 2 DrawBlock m nRowEnd m nColEnd m nMaze m nRowEnd m nColEnd 3 CScrollView OnMouseMove nFlags point void CMistyRainMazeView OnInitialUpdate CScrollView OnInitialUpdate TODO Add your specialized code here and or call the base class SetScrollSizes MM TEXT CSize 1366 768 void CMistyRainMazeView InitGame 初始化迷宫 用于每 次重新生成迷宫 m nMaze new int m nMazeRowSize 动态分配数组空间 for int i 0 i m nMazeRowSize i m nMaze i new int m nMazeColSize for i 0 i m nMazeRowSize i for int j 0 j m nMazeColSize j m nMaze i j 1 随机生成迷宫的状态 for i 0 i m nMazeRowSize i for int j 0 jm nMazeRowSize m nMazeRowSize atparam m nMazeColSize m nMazeColSize atparam m nRowStart m nRowStart atparam m nColStart m nColStart atparam m nRowEnd m nRowEnd atparam m nColEnd m nColEnd atparam m ptStart m ptStart atparam pDC GetDC atparam m nMaze m nMaze atparam m nRowSpace m nRowSpace atparam m nColSpace m nColSpace m hThreadAuotPlay CreateThread NULL 0 AutoPlayProc LPVO ID atparam 0 NULL Invalidate int nStep 0 CDC pDC GetDC int mark 标记数组 int i j d g h stackst mark new int m nMazeRowSize for i 0 i m nMazeRowSize i mark i new int m nMazeColSize for i 0 i m nMazeRowSize i for j 0 j m nMazeColSize j mark i j 0 offset move 4 move 0 row 1 move 0 col 0 顺时针方向搜索 move 1 row 0 move 1 col 1 move 2 row 1 move 2 col 0 move 3 row 0 move 3 col 1 items tmp tmp row m nRowStart tmp col m nColStart tmp dir 0 i m nRowStart j m nColStart st push tmp nStep while st Isempty false DrawBlock i j pDC 0 st pop tmp i tmp row j tmp col d tmp dir DrawBlock i j pDC 2 nStep ShowStep i j pDC nStep while d 4 g i move d row h j move d col if g m nRowEndi m nMazeRowSize i delete mark i 释放标志数组占用的 空间 AfxMessageBox Win return if m nMaze g h 0 tmp row i tmp col j tmp dir d DrawBlock i j pDC 0 st push tmp i g j h d 0 nStep DrawBlock i j pDC 2 Sleep m ntimedelay ShowStep i j pDC nStep else d for i 0 i m nMazeRowSize i delete mark i 释放标志数组占用的空间 AfxMessageBox Lose void CMistyRainMazeView OnLButtonDown UINT nFlags CPoint point TODO Add your message handler code here and or call default m ptFore point m bLeftButtonDown TRUE CDC pDC pDC GetDC CDC MemDC MemDC CreateCompatibleDC pDC int x point x m ptStart x m nRowSpace int y point y m ptStart y m nColSpace if m currorstate CURROR STAND return if x 0 y m nMazeRowSize 1 y m nMazeColSize 1 MessageBox 请在迷宫内编辑 return switch m currorstate case CURROR STAND break case CURROR BLOCK if m nMaze x y 2 m nMaze x y 3 MessageBox 墙不能画到起点或终点上 return else m nMaze x y 1 DrawBlock x y pDC 1 break case CURROR START if m nMaze x y 3 MessageBox 起点和终点不能重合 return else m nMaze m nRowStart m nColStart 0 DrawBlock m nRowStart m nColStart pDC 0 m nRowStart x m nColStart y m nMaze x y 2 DrawBlock x y pDC 2 break case CURROR END if m nMaze x y 2 MessageBox 起点和终点不能重合 return else m nMaze m nRowEnd m nColEnd 0 DrawBlock m nRowEnd m nColEnd pDC 0 m nRowEnd x m nColEnd y m nMaze x y 3 DrawBlock x y pDC 3 break case CURROR EREASE if m nMaze x y 2 m nMaze x y 3 MessageBox 不能没有起点或终点 return else m nMaze x y 0 DrawBlock x y pDC 0 break default break CScrollView OnLButtonDown nFlags point BOOL CMistyRainMazeView OnSetCursor CWnd pWnd UINT nHitTest UINT message TODO Add your message handler code here and or call default if nHitTest HTCLIENT switch m currorstate case CURROR BLOCK SetCursor m hcursor 1 return 1 break case CURROR START SetCursor m hcursor 2 return 1 break case CURROR END SetCursor m hcursor 3 return 1 break case CURROR EREASE SetCursor m hcursor 4 return 1 break default return CScrollView OnSetCursor pWnd nHitTest message return CScrollView OnSetCursor pWnd nHitTest message void CMistyRainMazeView OnEditStart TODO Add your command handler code here m currorstate CURROR START void CMistyRainMazeView OnEditEnd TODO Add your command handler code here m currorstate CURROR END void CMistyRainMazeView OnEditBlock TODO Add your command handler code here m currorstate CURROR BLOCK void CMistyRainMazeView OnErease TODO Add your command handler code here m currorstate CURROR EREASE void CMistyRainMazeView OnEditExit TODO Add your command handler code here m currorstate CURROR STAND void CMistyRainMazeView OnRandomGenerate TODO Add your command handler code here for int i 0 i m nMazeRowSize i delete m nMaze i 释放内存空间 InitGame Invalidate void CMistyRainMazeView OnSetting TODO Add your command handler code here int nOldRowsize m nMazeRowSize int nOldColsize m nMazeColSize CSettingDlg dlg dlg m nRowsize m nMazeRowSize dlg m nColsize m nMazeColSize dlg m nRowspace m nRowSpace dlg m nColspace m nColSpace dlg m ntimedelay m ntimedelay if IDOK dlg DoModal m nMazeRowSize dlg m nRowsize m nMazeColSize dlg m nColsize m nRowSpace dlg m nRowspace m nColSpace dlg m nColspace m ntimedelay dlg m ntimedelay if nOldRowsize m nMazeRowSize nOldColsize m nMaze ColSize if m nMaze NULL for int i 0 im nMazeRowSize m nMazeColSize AutoPlayPARAM lpParameter m nMazeColSize UINT m nRowSpace 迷宫行距 UINT m nColSpace 迷宫列距 m nMaze AutoPlayPARAM lpParameter m nMaze m nRowStart AutoPlayPARAM lpParameter m nRowStart m nColStart AutoPlayPARAM lpParameter m nColStart m nRowEnd AutoPlayPARAM lpParameter m nRowEnd m nColEnd AutoPlayPARAM lpParameter m nColEnd m ptStart AutoPlayPARAM lpParameter m ptStart m nRowSpace AutoPlayPARAM lpParameter m nRowSpace m nColSpace AutoPlayPARAM lpParameter m nColSpace m ntimedelay AutoPlayPARAM lpParameter m ntimedelay CDC pDC AutoPlayPARAM lpParameter pDC delete lpParameter CBitmap bitmapAccessible 加载背景图像 bitmapAccessible LoadBitmap IDB BACKGROUND CDC dcCompatible dcCompatible CreateCompatibleDC pDC dcCompatible SelectObject BITMAP bmAccesible bitmapAccessible GetBitmap CBitmap bitmapStart bitmapStart LoadBitmap IDB START BITMAP bmStart bitmapStart GetBitmap int mark 标记数组 int d g h stackst mark new int m nMazeRowSize for i 0 i m nMazeRowSize i mark i new int m nMazeColSize for i 0 i m nMazeRowSize i for j 0 jStretchBlt m ptStart x i m nRowSpace m ptStart y j m n ColSpace m nRowSpace m nColSpace st pop tmp i tmp row j tmp col d tmp dir 画起始标识 dcCompatible SelectObject pDC StretchBlt m ptStart x i m nRowSpace m ptStart y j m n ColSpace m nRowSpace m nColSpace while d 4 g i move d row h j move d col if g m nRowEndiStretchBlt m ptStart x m nRowStart m nRowSpace m ptSta rt y m nColStart m nColSpace m nRowSpace m nColSpace AfxMessageBox Win return 1 if m nMaze g h 0 tmp row i tmp col j tmp dir d dcCompatible SelectObject pDC StretchBlt m ptStart x i m nRowSpace m ptStart y j m n ColSpace m nRowSpace m nColSpace st push tmp i g j h d 0 画起始标识 dcCompatible SelectObject pDC StretchBlt m ptStart x i m nRowSpace m ptStart y j m n ColSpace m nRowSpace m nColSpace Sleep 1 else d for i 0 iStretchBlt m ptStart x m nRowStart m nRowSpace m ptSta rt y m nColStart m nColSpace m nRowSpace m nColSpace AfxMessageBox Lose return 0 void CMistyRainMazeView OnRButtonDown UINT nFlags CPoint point TODO Add your message handler code here and or call default CMenu menu 菜单 CMenu pPopupMenu 菜单指针 menu LoadMenu IDR CONTEXTMENU 加载 ID 为 IDR CONTEXTMENU 的菜单 pPopupMenu menu GetSubMenu 0 获取弹出菜单的第 一层子菜单的类指针 ClientToScreen 将鼠标单击处的坐标转换为屏 幕坐标 pPopupMenu TrackPopupMenu TPM LEFTALIGN TPM RIGHTBUTTON point x point y this NULL CScrollView OnRButtonDown nFlags point void CMistyRainMazeView OnOnlineHelp 烟雨集团水惊 云科技在线技术支持 有问题留言哈 TODO Add your command handler code here ShellExecute this GetSafeHwnd open NULL NULL SW SHOW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030协作机器人人机共融场景下的安全标准升级趋势跟踪报告
- 2025-2030动力锂电池回收网络布局优化与渠道建设战略报告
- 2025-2030动力电池隔膜生产工艺优化与原材料替代可行性报告
- 2025-2030动力电池负极材料技术路线更迭对产业格局影响预测
- 2025-2030动力电池硅基负极材料量产工艺难点与设备改造需求报告
- 2025-2030动力电池梯次利用技术突破与经济性评估研究报告
- 建筑工程合同管理及纠纷预防
- 2025-2030动力电池回收利用技术路线比较与渠道体系构建研究
- 幼儿安全教育活动方案及总结
- 2025-2030动力电池回收再生材料纯度要求与工艺路线对比
- 政府人员网络安全培训课件
- 湿地巡护员培训课件
- 2025年地质实验室技术员综合素质考核试卷及答案解析
- 小班海浪滚滚课件
- 老年痴呆科普课件
- 2025年泉州大队委笔试题目及答案
- 义乌市国有资本运营有限公司2025年度员工公开招聘笔试参考题库附带答案详解
- CRT2000 消防控制室图形显示装置-使用说明书-V1.0
- 文旅演艺活动
- 口腔科无菌操作课件
- 房地产中介服务操作流程手册
评论
0/150
提交评论