VC6.0(精选3篇)
VC6.0 篇1
摘要:随着小波研究的深入,小波变换的应用范围越来越广泛,但是一般的研究、工作中只是使用Matlab的小波工具包来编程。该文使用VC++6.0设计实现基于小波变换的数字图像处理软件模块,编写具体实现程序,设计软件界面,使其使用方便快捷,对于今后使用小波变换进行各种实际工作有一定的帮助。
关键词:小波变换,VC++6.0,Matlab
1 概述
多分辨率分析和多尺度几何分析的结合已经成为目前学术界的热门课题。
小波最先始于学者Harr提出的一种非连续可微的正交分解,之后,物理学家Levy利用Harr小波变换研究分子的布朗运动,Mallat提出了相当于傅里叶变换中FFT的Mallat算法,Daubechies构造出的紧支撑小波,如今,第二代甚至第三代小波都得到了飞速发展。
小波分析是即傅里叶分析之后,信号处理方面里程碑式的发展结晶。工程应用方面,小波变换在数字信号处理、图像处理、语音处理、生物医学信号处理等实践中的应用越来越广泛。但是目前,在小波变换研究和工程应用主要通过使用Matlab小波工具箱来实现。相关的C语言编码较少,且不易使用。
2 离散小波变换
在实际应用中,离散小波变换的实现容易,能为信号分析与合成提供足够的信息,同时降低计算机的资源消耗和计算量。因此,本文主要介绍离散小波变换。
在离散小波变换中,首先通过卷积运算完成信号的滤波,将信号分解为信号的初级估计近似和信号的细节信息,然后在不同的频带上利用不同的尺度因子对信号进行处理。离散变换示意图如图1。
图中x(n)是原始信号,然后通过g(n)和h(n)完成分解,信号带宽利用f表示。完成滤波后的滤波输出等式为等式(1)高通滤波输出和等式(2)低通滤波输出
3 一维小波变换VC++实现
由2可知,离散小波变换实际是通过卷积运算完成的,小波变换一维DWT或IDWT实现代码如下:
1)函数输入
double*data,指向源数据的指针。int nCurLongth,当前处理数据长度。int IDWT,是否为DWT,1表示为IDWT,0表示DWT。int nStep,当前分解层数。int nSupp,小波基的紧支集的长度。本文中,小波基存储在hCoef这个二维数组中,通过nSupp调用小波基
4 图像的小波变换
图像可以看做是二维的矩阵。完成小波变换后,图像便分解为4个大小为原来尺寸1/4的子块频带区域,具体处理结果如图2所示。
图中LL频带保持了原始图像内容信息,HL、LH、HH分别保持了图像水平、竖直、对角线方向上的高频边缘信息。由于篇幅有限这里就不写出二维信号的具体小波变换实现代码。其具体实现方法为先对图像小波行变换,再进行小波列变换。
本文给出了一维小波变换具体实现代码,此代码优点为实现一维变换与逆变换简便容易。在以其为基础实现二维变换时,处理图片大小不局限于N*N大小。希望对需要自己编写小波变换代码的读者有一定帮助。
参考文献
[1]靳济芳.Visual C++小波变换技术与工程实践[M].北京:人民邮电出版社,2004.
[2]杨淑荧,边奠英.VC++图像处理程序设计[M].北京:清华大学出版社,北京交通大学出版社,2007.
[3]许刚,董士崇.小波变换算法的C语言实现[J].电脑知识与技术,2005(2).
[4]葛哲学,沙威.小波分析理论与MATLAB R2007实现[M].北京:电子工业出版社,2007.
VC6.0 篇2
传统的点菜方式都是服务员拿着纸和笔到顾客面前登记, 显得相当繁琐。为了提高餐饮企业的效率和节省成本, 利用计算机来代替人工劳动, 为此设计并实现了新型的餐馆点菜系统。在信息高速发达的今天, 更简单、更快捷的点菜方式当然会受到人们的青睐, 更少的员工反而有更高的工作效率, 所以点菜系统在餐饮行业的流行也是必然的事。
本人利用C语言开发的餐馆点菜系统, 用windows7环境下的VC6.0开发, 可以实现三种不同角色的登录:管理员、服务员、经理。管理员的功能有台桌管理、菜谱管理、人员管理。服务员的功能有开桌、点菜、结账、营业额查询、已买/未买单查询。经理的功能有营收统计。而且三种角色都有注销和退出功能。本点菜系统主要利用到C语言的链表和文件方面的知识。
2 系统概述
本系统的数据是从文件中读取的, 对于小存储量的数据用文件就足够了。系统的总体框架从最底层的各个txt文件开始, 这些文件包括staff.txt (员工信息) 、menu.txt (菜谱信息) 、desk.txt (台桌信息) 、桌号.txt (已开桌子信息) 、uncount.txt (所有账单信息) 、服务员ID.txt (服务员每天营业额) 。利用自己封装的文件读写函数, 把这些数据读取到内存里组成各种相对应的链表, 系统运行的时候就是对这些链表这些读写, 而没必要每次都从文件里面读取, 当系统掉电的时候, 链表里面的数据就保存到文件里面。系统图里链表再往上面一级就是各种功能, 比如登录、点菜、结账等, 最顶层就是与用户交流的系统界面。总的系统框图如图1。
3 系统主要功能介绍
3.1 登录设计
开机界面显示后, 系统读取文件staff.txt存入员工链表staff_chain, 用户输入用户名和密码, 系统进行输入字符校验, 不允许输入奇怪字符, 根据输入的用户信息与员工链表staff_chain的各个结点信息进行对比, 如果数据对比正确, 则登录成功, 并根据角色的不同显示相应的功能界面, 否则, 登录失败。登录流程图如图2。
3.2 管理员的功能设计
虽然本系统的管理员的功能有台桌管理、菜谱管理、人员管理, 但是每种管理实际上都是实现增删改查。例如人员管理有增加员工、删除员工信息、修改员工信息和查询员工信息, 其实现的方法都是对从文件读取生成的链表staff_chain进行操作。
操作链表的时候用了自己封装的几个函数:
函数:void List_Add (LIST_T*head, void*data) 。
函数功能:添加链表结点。
参数意义:所要添加结点链表的头指针head, 结点的数据data。
函数:void*List_Get Node (LIST_T*head, int Index) 。
函数功能:获取链表某个结点。
参数意义:head---链表头结点, Index---链表结点编号。
返回值:返回链表结点的data指针。
函数:int List_Del (LIST_T*head, int Index)
函数功能:删除链表的某个结点。
参数意义:Index---链表结点编号, head---链表头结点。
返回值:删除成功返回1, 失败返回0。
3.3服务员的功能
该系统中最重要的就是服务员的功能, 首先服务员开桌, 桌子的状态改为已占用, 接着点菜的功能实现是该模块的难点, 因为涉及到是否马上点菜, 加菜和退菜等处理。当进入点菜功能时, 系统从文件读取生成两条链表, 分别是菜谱的链表menu_head和客户已购买菜的链表order_menu_head, 系统根据用户输入的菜谱ID号和份数, 和order_menu_head的各个结点进行比对以确认是否第一道菜, 如果是的话, 就生成账单记录消费额。点菜实现的流程图见图3。
3.4经理的功能
经理主要负责统计每位服务员在某个日期范围内的营收情况。实现的方法是当服务员一结账完毕, 就把营业额添加到已该服务员ID.txt文件下面, 当经理要查询时, 就从各个服务员ID.txt里面读取出相应的营收情况。处理流程见图4。
4 结语
本文主要探讨如何用C语言来实现点菜系统中三种角色的功能, 通过用流程图的方法介绍了一个实际的C语言项目。该系统适用在中小型餐馆, 给餐馆人员带来一定的方便。虽然实现了一些常用的功能, 但是系统还需要进一步地完善。
餐馆点菜系统改善了餐馆的经营策略、管理效率和服务质量。随着信息化的发展, 将得到更为广泛的应用。
本系统还存在一些不足, 有待进一步的完善:
(1) 界面不够美观, 如果能够用Qt来设计界面, 而且能够显示菜的图片, 将会提供更良好的用户体验。
(2) 数据存储方式有待改善, 由于本人用文件来存储服务员每天的营收情况, 当数据量大的时候, 应该用数据库来存储。
(3) 开发的软件如果能够移植到移动终端, 比如手机、平板电脑、pos机等, 将会带来更加方便的体验并提高市场占有率。
摘要:随着餐饮业发展的规模日益增大, 人力成本的投入也随之增大, 为了在竞争激烈的环境中获取利润, 企业认识到餐馆点菜系统不仅有助于提高餐饮业的运作效率, 而且降低成本。本文详细介绍了如何用C语言来开发一款餐馆点菜系统, 适合于管理员、服务员、经理不同角色的使用, 管理员实现台桌、菜谱、员工的添加、删除、修改等操作, 服务员实现点菜等功能, 经理可以查询每位服务员的营收情况。该系统为提高餐馆的管理水平提供技术支持。
VC6.0 篇3
关键词:Solidworks,二次开发,翅片管换热器
Solidworks是目前市场上主流的三维绘图软件,同时也是目前市场上份额增长最快、技术发展最快、市场前景最好、性价比最优的软件。SolidWorks提供了若干API函数,这些API函数是SolidWorks的OLE或C0M接口,用户可以使用VBC++Delphi等高级语言对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。对工程设计上提供了极大的便利。
换热器是石油化工生产中重要的通用热工设备之一,它不仅是保证过程工艺条件所广泛应用的设备,更是开发利用二次能源的主要设备。开发换热器的CAD绘图系统对其技术改造、提高企业在现实生产环境中的应变能力、知名度和中标率有着重要意义[1]。
翅片管换热器作为化工行业使用率最高的换热装置,广泛应用在化工生产,商用空调以及冷链等各个制冷设备的生产中。再设计工作中,翅片管换热器的设计费时费力,大大降低了设计工作的效率,同时设计失误率也较高。本文提出了通SolidWorks的二次开发来使翅片管换热器的设计参数化,提高了设计工作的效率,大大减少了设计时间,降低了设计中的失误率[2]。使翅片管换热器的设计工作方便,快捷,具有极高的意义。
1 换热器的二次开发的接口
Solidworks为用户提供的API编程接口,该接口可以通过在VC程序中调SolidWorks的接口指针,完成换热器的造型。在开发翅片管换热器三维模型程序中,主要用Mod2elDoc2对象[3]。ModelDoc2对象属于模型层,是Solidworks对象的子对象,利用它可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各类操作。开发的应用程序首先要用CreateObject来获得SolidWorks对象,然后就可以利用获得的SolidWorks对其他对象实现控制[4]。
2 Solidworks参数化二次开发翅片管换热器案例
本文以以下尺寸结构进行绘图。换热器结构尺寸主要分为:管道结构尺寸和翅片结构尺寸。在绘图前进行的设计中,要明确换热器的结构尺寸(如图1和图2所示),同时也是自动绘图中所需要的输入尺寸。表表1所示为绘图算例中使用的尺寸。
3 参数化换热器模型设计
对于Solidworks的二次开发主要有两种方法来实现VC++与Solidworlks软件的连接。一种是使用Solidworks的宏操作功能。打开VC后,直接进行程序的编制。这种方法可以在用户界面中生成工具和菜单选项。另一种方法是利用VC语言编写代码来调用Solidworks软件,并根据代码的要求来进行绘图[5,6]。这种方法可以生成可执行文件,并作为独立软件进行操作。本文选用是后一种
方法,该流程图如图3所示。我们按照以下步骤进行参数化模型设计(图4所示):
(1)参数化输入结构尺寸。在二次开发创建的尺寸输入窗口中输入相关参数。Solidworks读取结构尺寸。
(2)结构尺寸赋值。绘制翅片草图,拉伸阵列形成的管路在翅片上的通孔。绘制管路。绘制管路草图,阵列形成多个管路。绘制弯头草图,拉伸连接各个管路。
(3)装配管路实体与翅片实体,形成最终的换热器实体图(图5所示)。
4 结语
本系统应用范围广,可以实现各种型式换热器的CAD绘图,对石油化工企业的技术改造有着积极的帮助。
本文以翅片管换热器为例,介绍了利用API函数的Solidworks软件的二次开发。实现了翅片管换热器的三维造型设计。在设计工作中,大大缩短了绘图的时间。同时采用参数化的绘图方法,使绘图工作简单。同时本功能与换热器设计软件相关联,使设计、校核、绘图一体化。在工程应用中应用前景广大。
参考文献
[1]史美中,王中铮,等.热交换器原理与设计[M].南京:东南大学出版社,2003.
[2]魏勇,邬向伟.基于SolidWorks的标准零件库二次开发[J].现代制造技术与装备,2009(2).
[3]Solidworks公司,生信实维公司.SolidWorks API二次开发[M].北京:机械工业出版社,2004.
[4]Solidworks公司.SolidWorks2005基础教程[M].北京:电子工业出版社,2005.
[5]钱颂文,廖景娱,等.换热器设计手册[M].北京:中国石化出版社, 2004.
【VC6.0】推荐阅读: