计算机企业实习报告

上传人:hao****an 文档编号:162018403 上传时间:2022-10-17 格式:DOC 页数:13 大小:82.51KB
收藏 版权申诉 举报 下载
计算机企业实习报告_第1页
第1页 / 共13页
计算机企业实习报告_第2页
第2页 / 共13页
计算机企业实习报告_第3页
第3页 / 共13页
资源描述:

《计算机企业实习报告》由会员分享,可在线阅读,更多相关《计算机企业实习报告(13页珍藏版)》请在装配图网上搜索。

1、实习报告学院: 班级:姓名:学号:实习地点:实习时间:一 实习单位及岗位简介1. 实习单位简介成都齐力同展科技有限公司是一家中小规模的民营公司,所属计算机服务行业。本公司主要开发、销售电子产品、计算机软件并提供技术服务、技术咨询等。囊括了C+软件开发工程师,软件界面工程师,售后技术支持,研发工程师,射频电路设计工程师,工程调试员,电子装配员等丰富的岗位。是近几年发展起来的具有市场竞争力的新兴企业。2. 实习岗位简介本次实习岗位为软件开发部实习生。二实习目的1.获得专业知识相关的知识,扩宽自己的知识面,学习如何成为一个综合性人才。2.学会将理论运用在生产实践,让自己的知识更加牢固,调和理论与实际

2、的关系。3.培养良好的职业道德观,恪敬职守,用于创新。三实习内容1.熟悉掌握各种编程软件和编程环境。到公司的第一天,就在学长的指导下,安装了Microsoft Visual Studio(简称VS)等软件,Visual Studio 是微软公司推出的目前最流行的开发环境,是在Windows平台下构建32位应用程序的强大而复杂的开发工具,是世界上使用最多的开发工具之一。Visual Studio 可以用来创建 Windows 平台下的 Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。VC应用广泛,从桌面应用程序到服务器端软件,从系统软件到应用

3、软件,从单机程序到分布式应用程序,从图形图像处理到游戏的开发。这对于我们来说是一个全新的软件,刚开始使用的时候很吃力,完全重头摸索。 经过一段时间的学习,逐渐熟悉了它的键面,掌握了它的一些基本功能,并能编译一些简单的程序。2.C+的学习和应用这期间主要学习了两本书,深入详解和C+ Primer。掌握内容如下:(1)程序运行原理及程序编写流程,窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系;(2)C+经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数,析构函数调用顺序,如何在派生类构造函数中向基类的构造函数传递参数

4、,this成员变量,类型转换的内幕,应用和指针变量的区别与共同处。(3)MFCAppWizard的原理与MFC程序框架的剖析,MFC消息映射机制的剖析,掌握设备描述表及其封装类CDC的使用。(4)掌握CDC的文字处理程序的编写,如何产生自定义字体和自定义插入符,熟悉对CString类的使用。(5)对话框用户界面程序的编写,如何向对话框控件关联数据成员及其实现机制,利用对话框类的成员函数向控件发送消息和获取对话框控件的类指针,如何直接利用对话框控件操纵对话框控件,如何在程序运行时产生和销毁控件。3.开发压缩解压软件经过了两个周的学习,公司给我们布置了任务,让我们在一周的时间内开发一个完整的压缩解

5、压软件,能完成文件的压缩解压功能,还要能测试出这个功能,最后还要配上说明文档。对我们四个初学者来说,这无疑是一个不简单的任务。在网上找到了可用的能压缩解压的源代码,加上相应的头文件,初步能完成小文件的压缩解压,但是怎样才能使可压缩的内容足够大?我们遇到了第一个难题。有了分段压缩的思想,不断修改代码,不断编译,不断查找错误,不断搜索解决方案,最后终于调试成功。怎样通过文本框的形式测试压缩解压功能?询问了学长,得知可以通过源程序调用的方式解决。后来遇到的压缩路径不统一也是一个棘手的问题,在大家的共同努力下均一一解决,完成了当初看似很难的任务。下面是我们开发的压缩解压软件的源程序。/ zipDlg.

6、cpp : 实现文件#include stdafx.h#include zip.h#include zipDlg.h#include afx.hCString FilePathName, FilePathName1,FilePathName2,FilePathName3;char *p; /= (LPSTR)(LPCTSTR)FilePathName;char *p1;/=(LPSTR)(LPCTSTR)FilePathName1;char *p2;/=(LPSTR)(LPCTSTR)FilePathName2;char *p3;/=(LPSTR)(LPCTSTR)FilePathName3;

7、#ifdef _DEBUG#define new DEBUG_NEW#endif/ 用于应用程序“关于”菜单项的CAboutDlg 对话框class CAboutDlg : public CDialogpublic:CAboutDlg();/ 对话框数据enum IDD = IDD_ABOUTBOX ;protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV 支持/ 实现protected:DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg

8、:IDD)void CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)END_MESSAGE_MAP()/ CzipDlg 对话框CzipDlg:CzipDlg(CWnd* pParent /*=NULL*/): CDialog(CzipDlg:IDD, pParent)m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CzipDlg:DoDataExchange(CDataE

9、xchange* pDX)CDialog:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CzipDlg, CDialog)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()/AFX_MSG_MAPON_BN_CLICKED(IDC_BUTTON1, &CzipDlg:OnBnClickedchoose1)ON_BN_CLICKED(IDC_BUTTON2, &CzipDlg:OnBnClickedCompress)ON_BN_CLICKED(IDC_BUTTON3, &CzipDlg:OnBnClickedch

10、oose2)ON_BN_CLICKED(IDC_BUTTON4, &CzipDlg:OnBnClickedUncompress)END_MESSAGE_MAP()/ CzipDlg 消息处理程序BOOL CzipDlg:OnInitDialog()CDialog:OnInitDialog();ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);Set

11、Icon(m_hIcon, TRUE);/ 设置大图标SetIcon(m_hIcon, FALSE);/ 设置小图标/ TODO: 在此添加额外的初始化代码return TRUE; / 除非将焦点设置到控件,否则返回TRUEvoid CzipDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);void CzipDlg:OnPaint()if (IsI

12、conic()CPaintDC dc(this); / 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc(), 0);/ 使图标在工作区矩形中居中int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - c

13、yIcon + 1) / 2;/ 绘制图标dc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();HCURSOR CzipDlg:OnQueryDragIcon()return static_cast(m_hIcon);void CzipDlg:OnBnClickedchoose1()CFileDialog dlg(TRUE);/TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()=IDOK) FilePathName=dlg.GetPathName();/获取压缩文件路径/FilePathName.Replac

14、e(_T(),_T();int nLength = FilePathName.GetLength();int nBytes = WideCharToMultiByte(CP_ACP,0,FilePathName,nLength,NULL,0,NULL,NULL);char* c = new char nBytes + 1;memset(c,0,nLength + 1);WideCharToMultiByte(CP_OEMCP, 0, FilePathName, nLength, c, nBytes, NULL, NULL); cnBytes = 0;p=c; / TODO: 在此添加控件通知处

15、理程序代码void CzipDlg:OnBnClickedCompress()CFileDialog dlg(FALSE);/TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()=IDOK) FilePathName1=dlg.GetPathName();/获取解压文件路径/FilePathName1.Replace(_T(),_T();int nLength = FilePathName1.GetLength();int nBytes = WideCharToMultiByte(CP_ACP,0,FilePathName1,nLength,NULL,0

16、,NULL,NULL);char* c1 = new char nBytes + 1;memset(c1,0,nLength + 1);WideCharToMultiByte(CP_OEMCP, 0, FilePathName1, nLength, c1, nBytes, NULL, NULL); c1nBytes = 0;p1=c1;/AfxMessageBox(FilePathName1); CZlib test;test.Compress(p1,p); / TODO: 在此添加控件通知处理程序代码void CzipDlg:OnBnClickedchoose2()CFileDialog d

17、lg(TRUE);/TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()=IDOK) FilePathName2=dlg.GetPathName();/获取解压文件路径 int nLength = FilePathName2.GetLength();int nBytes = WideCharToMultiByte(CP_ACP,0,FilePathName2,nLength,NULL,0,NULL,NULL);char* c2 = new char nBytes + 1;memset(c2,0,nLength + 1);WideCharToMultiBy

18、te(CP_OEMCP, 0, FilePathName2, nLength, c2, nBytes, NULL, NULL); c2nBytes = 0;p2=c2; / TODO: 在此添加控件通知处理程序代码void CzipDlg:OnBnClickedUncompress()CFileDialog dlg(FALSE);/TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()=IDOK) FilePathName3=dlg.GetPathName();/获取解压文件路径 int nLength = FilePathName3.GetLength(

19、);int nBytes = WideCharToMultiByte(CP_ACP,0,FilePathName3,nLength,NULL,0,NULL,NULL);char* c3 = new char nBytes + 1;memset(c3,0,nLength + 1);WideCharToMultiByte(CP_OEMCP, 0, FilePathName3, nLength, c3, nBytes, NULL, NULL); c3nBytes = 0;p3=c3;CZlib test1;test1.UnCompress(p3,p2); / TODO: 在此添加控件通知处理程序代码

20、/ zip.cpp : 定义应用程序的类行为。#include stdafx.h#include zip.h#include zipDlg.h#include zlib.h/压缩文件相关*#include zconf.h #pragma comment(lib,zlib.lib) /#include #include iostream#include using namespace std;#define WINDOWS_PLATFORMvectorgroup;/*#ifdef _DEBUG#define new DEBUG_NEW#endif/ CzipAppBEGIN_MESSAGE_MA

21、P(CzipApp, CWinAppEx)ON_COMMAND(ID_HELP, &CWinApp:OnHelp)END_MESSAGE_MAP()/ CzipApp 构造CzipApp:CzipApp()/ TODO: 在此处添加构造代码,/ 将所有重要的初始化放置在InitInstance 中/ 唯一的一个CzipApp 对象CzipApp theApp;/ CzipApp 初始化BOOL CzipApp:InitInstance()INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof(InitCtrls);/ 将它设置为包括所有

22、要在应用程序中使用的/ 公共控件类。InitCtrls.dwICC = ICC_WIN95_CLASSES;InitCommonControlsEx(&InitCtrls);CWinAppEx:InitInstance();AfxEnableControlContainer();SetRegistryKey(_T(应用程序向导生成的本地应用程序);CzipDlg dlg;m_pMainWnd = &dlg;INT_PTR nResponse = dlg.DoModal();if (nResponse = IDOK)/ TODO: 在此放置处理何时用/ “确定”来关闭对话框的代码else if

23、(nResponse = IDCANCEL)/ TODO: 在此放置处理何时用/ “取消”来关闭对话框的代码return FALSE;int CZlib:Compress(char * DestName, char *SrcName)char SourceBuffer16384; /压缩文件时的源bufferchar * DestBuffer;FILE* fp=NULL; /打开欲压缩文件时文件的指针FILE* fp1=NULL; /创建压缩文件时的指针int len=sizeof(SourceBuffer);errno_t err; /错误变量的定义#ifdef WINDOWS_PLATFO

24、RMerr = fopen_s(&fp,SrcName,r+b);/打开欲压缩的文件if(err)AfxMessageBox(_T(文件打开失败!); /printf(文件打开失败! n);return 1;#endif #ifdef WINDOWS_CE_PLATFORMfp = fopen_s(SrcName,r+b);/打开欲压缩的文件if(fp)printf(文件打开失败! n);return 1;#endif /创建一个文件用来写入压缩后的数据err = fopen_s(&fp1, DestName,w+b);if(!fp1)AfxMessageBox(_T(压缩文件创建失败!);/

25、printf(压缩文件创建失败! n);return 1 ;uLongf unReadLen=0,ReadLen=0,ReadLen1=0,unWritelen=0;for (;)uLongf L=2*len;/缓存长度是将被压缩数据长度的.001倍加;DestBuffer=(char*):calloc(uInt)L, sizeof(char);/定义一存储压缩数据的缓存fseek(fp,unReadLen,SEEK_SET);/指针设于文件已读数据之后ReadLen=fread(SourceBuffer,sizeof(char),len,fp);/读取长度为len的数据if (ferror(

26、fp)AfxMessageBox(_T(READ ERROR!);/printf(READ ERROR!n);return 1;unReadLen+=ReadLen;err=compress(Bytef*)DestBuffer,(uLongf*)&L,(const Bytef*)SourceBuffer,(uLongf)len);/语句执行后L为实际压缩长度group.push_back(L);if(err!=Z_OK)AfxMessageBox(_T(压缩失败!);/cout压缩失败:errendl;return 1;memset(SourceBuffer,0,len);fseek(fp1,

27、unWritelen,SEEK_SET);/指针设于fp1已写数据之后ReadLen1=fwrite(DestBuffer,sizeof(char),L,fp1);free(DestBuffer);if (ReadLen!=len)AfxMessageBox(_T(压缩成功!);/printf(压缩成功!n);break;unWritelen+=ReadLen1;fclose(fp);fclose(fp1);return 0;int CZlib:UnCompress(char * DestName, char *SrcName)char uSourceBuffer163840 ; /解压缩文件

28、时的源bufferchar * uDestBuffer;FILE* fp3; /打开欲解压文件的文件指针FILE* fp4; /创建解压文件的文件指针errno_t err; /错误变量的定义int len=sizeof(uSourceBuffer);/打开欲解压的文件err = fopen_s(&fp3,SrcName,r+b);if(err)AfxMessageBox(_T(文件打开失败! n);return 1;err = fopen_s(&fp4, DestName,w+b);if(!fp4)AfxMessageBox(_T(压缩文件创建失败! n);return 1 ;uLongf

29、unReadLen=0,ReadLen=0,ReadLen1=0,unWritelen=0,L;for (unsigned int i=0;i group.size();i+)len=groupi;L=4*len;/L设置足够大,uDestBuffer=(char*):calloc(uInt)L, sizeof(char);/定义一存储压缩数据的缓存fseek(fp3,unReadLen,SEEK_SET);/指针设于文件已读数据之后ReadLen=fread(uSourceBuffer,sizeof(char),len,fp3);/读取长度为len的数据if (ferror(fp3)AfxM

30、essageBox(_T(READ ERROR!n);return 1;unReadLen+=ReadLen;if (i=group.size()-1) /*最后一次循环uDestBuffer老出错,单独提出设置一个大些的uDestBufferfree(uDestBuffer);L=102400;uDestBuffer=(char*):calloc(uInt)L, sizeof(char);AfxMessageBox(_T(解压成功!n); /*err=uncompress(Bytef*)uDestBuffer,(uLongf*)&L,(const Bytef*)uSourceBuffer,(

31、uLongf)len);/语句执行后L为实际解压长度if(err!=Z_OK)/cout解压失败:errendl;AfxMessageBox(_T(解压失败:);return 1;memset(uSourceBuffer,0,len);/将uSourceBuffer清fseek(fp4,unWritelen,SEEK_SET);/指针设于fp4已写数据之后ReadLen1=fwrite(uDestBuffer,sizeof(char),L,fp4);free(uDestBuffer);if (ReadLen!=len)AfxMessageBox(_T(success!n);break;/*if

32、 (feof(fp1)printf(success!n);break;*/unWritelen+=ReadLen1;fclose(fp3);fclose(fp4);return 0;下面是编译结果:压缩文件时只需点击对话框中的“选择压缩文件”按钮,选中要压缩的文件,点击对话框中的“压缩”按钮即可完成压缩功能。解压文件时点击对话框中“选择解压文件”按钮,选中要解压的文件,点击“解压”按钮即可完成解压功能。四实习体会在一个月的学习中,最大的收获便是学会独立解决问题。以前编程的时候,只要程序编译出错,我就会问旁边的人,并在她的帮助下解决问题。来到公司后,在他们几个人的感染下,我学会了碰到错误先查找错

33、误原因,找到出错地方,再通过上网搜索解决。这让我养成了独立的好习惯,除去了以前的依赖感,也大大的增加了我克服困难的信心和耐心。同时,也让我真正融入一个工作环境中,我喜欢这里的人,大家常常都带着一张年轻灿烂的笑脸,见面的时候能热情的打招呼,休息的时候能谈笑风生,尽情放松,毫无拘束感,师兄师姐们的亲和力将我深深地感染。我喜欢这里的氛围,每天早晨大家都共同分享昨日的成果纷纷述说今日的目标,能进行激烈的讨论,能互帮互助,为同一个目标而共同奋斗,让我感受到从未有过的团结的力量。经过一个月的实习,齐力同展,我想我终于领会到其中的深意。它是整个公司的精髓,将整个公司每一个人的心牢牢地凝聚在一起,汇成一股不断生长不断强大的力量。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!