windows_ce_课程设计

时间:2024.4.13

《Windows CE嵌入式系统》课程设计报告

题    目:Windows CE设备应用程序开发——图像处理

专业名称:      电子信息工程                    

班    级:                                 

学    号:                             

姓    名:                             

二零##年  五月

Windows CE设备应用程序开发

——图像处理

中文摘要:众所周知图像处理在我们的生活中演绎着重要的角色,而基于windows mobile操作系统的图像处理软件相对较少,毫无疑问手机上的应用软件可以带给我们更大的方便,本设计就是基于Visual Studio2005 环境中vb.net语言开发出来适合在手机上运行的图像处理软件,可以对特定的图像进行特殊处理,使图像显得更加生动、有趣。

关键词:浮雕 柔化 反转 vb.net

1.1.1设计环境

      Windows XP

      Visual Studio2005

1.1.2设计目标

利用Visual Studio 2005开发出适合在有windows mobile操作系统手机上运行的图像处理软件,软件应包括对图像的浮雕、柔化、反转等处理;为人们的生活提供方便。

1.2设计过程

1.2.1浮雕处理

在图像中烘托图形的边缘,淡化平淡区就产生了浮雕的效果。要实现浮雕效果,可以用像素及其相邻像素之间的差值来替换该像素的值。对于图像中的边缘,差值较大,产生的效果变得比较突出,而对于图像中的平坦部分,差值很小接近于0,图像变的很黑而看不清一次在算法中给每个差值加上一个常数,使图像整体变亮。

设计代码如附件中的浮雕处理部分;运行后的效果如下:

1.2.2柔化处理

柔化后图像比原图更加柔和,有点像降低图像的对比度效果。要实现柔化,可以用像素周围相邻像素的平均值作为该图像的新值,即可减少像素间的差别,从而带到柔化的效果。例如,相邻像素的访问可以取3*3像素块,计算平均值时,用像素块的9哥像素计算平均。若要增加柔化效果可取较大的像素块。

设计代码如附件中的柔化处理部分;运行后的效果如下:

1.2.3发转处理

    反转处理就是将图像中的每个像素的颜色改为其互补色。例如,黑色的互补色为白色,彩色的互补色是将其红、绿、蓝三色分别计算互补色。

设计代码如附件中的反转处理部分;运行后的效果如下:

1.3关于消息框

   鉴于手机上的CPU主频比电脑的CPU低得多,因此电脑需要几秒钟处理的软件在手机上可能要几十秒甚至几分钟,本设计中的柔化处理便是达到85s左右,所以在处理过程中需要告诉操作者处理进行中的提示,否则操作者可能会以为软件有问题。解决这个问题有两种方法实现,第一,可以在运行界面上加一个进度条,vb里有相应的控件progressBar,在利用函数的调用与按钮同时执行。第二,起先计算相应处理需要的时间,并记录;点击相应的处理后直接先执行一个消息框提示需要处理时间,提示操作者耐心等待。

经实验,以上两种方法都可以实现,虽然第一种比较直观但处理的时间要比第二种长的多,手机CPU运行本来就不快,故采用第二种方法,缩短时间,充分提高效率。

参考文献:

[1].郑阿奇 彭作民.《Visual Basic.Net程序设计教程》.第一版.机械工业出版社.2007.6

[2].何宗健.《Windows CE 嵌入式系统》.第一版.北京航天航空大学出版社.2007.7

[2].何宗健.《Windows CE6.0开发者参考》.第四版. 机械工业出版社.2009.3

附件:

浮雕处理源代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        MsgBox("点击右上方(OK)!!!浮雕处理需55s左右,请耐心等待。")

        Dim i, j As Integer

        Dim r, g, b As Integer

        Dim bmp As New Bitmap(PictureBox1.Image)

        PictureBox1.Image = bmp

        Dim tmpbmp As New Bitmap(PictureBox1.Image)   '浮雕处理

        With tmpbmp

            For i = 0 To .Height - 2

                For j = 0 To .Width - 2

                    Dim p1, p2 As Color

                    p1 = .GetPixel(j, i)

                    p2 = .GetPixel(j + 1, i + 1)

                    r = Math.Min(Math.Abs(CInt(p1.R) - CInt(p2.R) + 128), 255)

                    g = Math.Min(Math.Abs(CInt(p1.G) - CInt(p2.R) + 128), 255)

                    b = Math.Min(Math.Abs(CInt(p1.R) - CInt(p2.B) + 128), 255)

                    bmp.SetPixel(j, i, Color.FromArgb(r, g, b))

                Next j

            Next i

        End With

End Sub

柔化处理源代码:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        MsgBox("点击右上方(OK)!!!柔化处理需85s左右,请耐心等待。")

        Dim i, j, m, n As Integer

        Dim r, g, b As Integer

        Dim bmp As New Bitmap(PictureBox1.Image)

        PictureBox1.Image = bmp

        Dim tmpbmp As New Bitmap(PictureBox1.Image)   '柔化处理

        With tmpbmp

            For i = 0 To .Height - 2

                For j = 0 To .Width - 2

                    r = 0

                    g = 0

                    b = 0

                    For m = 0 To 1

                        For n = 0 To 1

                            Dim p1 As Color

                            p1 = .GetPixel(j + m, i + n)

                            r = r + p1.R

                            g = g + p1.G

                            b = b + p1.B

                        Next n

                    Next m

                    bmp.SetPixel(j, i, Color.FromArgb(r / 9, g / 9, g / 9))

                Next j

            Next i

        End With

    End Sub

反转处理源代码:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        MsgBox("点击右上方(OK)!!!反转处理需30s左右,请耐心等待。")

        Dim i, j As Integer

        Dim r, g, b As Integer

        Dim bmp As New Bitmap(PictureBox1.Image)

        PictureBox1.Image = bmp

        Dim tmpbmp As New Bitmap(PictureBox1.Image)   '反转处理

        With tmpbmp

            For i = 0 To .Height - 1

                For j = 0 To .Width - 1

                    Dim p1 As Color

                    p1 = .GetPixel(j, i)

                    r = 255 - p1.r

                    g = 255 - p1.g

                    b = 255 - p1.b

                    bmp.SetPixel(j, i, Color.FromArgb(r, g, b))

                Next j

            Next i

        End With      End Sub


第二篇:windows课程设计报告


重庆科技学院《Windows程序设计》课程设计报告

基于UDP协议的网络聊天工具设计

1 设计目的与要求

1.1 设计目的

1、进一步掌握利用Visual C++进行程序设计的能力;

2、进一步理解和运用面向对象程序设计的思想和方法;

3、初步掌握开发一个小型实用系统的基本方法;

4、学会调试一个较长程序的基本方法;

5、理解Windows程序的运行过程;

6、掌握winsocket编程方法。

1.2 设计内容

本实验设计内容是:设计一个程序,实现聊天功能,要求有客户端和服务器端。客户端能实现消息的输入和发送、接收消息、连接服务器与断开连接等基本功能;服务器端要求能收发信息、保存客户端的IP信息地址、将接收到的消息向所有客户端转发等基本信息。

1.3 设计要求

整个程序使用winsocket 函数做网络数据收发,基于UDP协议。可以直接使用Windows API编程(SDK编程),也可以使用MFC编程。本课程设计中我们使用的是MFC编程。其具体的设计要求如下所述:

1、服务器端:

在服务器端,当服务器端程序运行时便初始化socket, 创建服务器端,在服务器端包含一个发送窗口和一个接收窗口,以及一个ListBox来显示当前连接到服务器上的客户端的IP地址。

服务器端功能:

1、初始化socket, 创建服务器端。

2、接受用户传送来的连接判断命令,并向用户发出响应命令。

1

重庆科技学院《Windows程序设计》课程设计报告

3、维护一个链表,保存所有用户的IP地址。显示所有在线IP。

4、向链表中的所有用户发送系统消息。

5、接受用户传送来的聊天信息,然后向链表中的所用用户转发。

2、客户端:

客户端界面,有一个用于显示接受的聊天信息,和一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。程序运行后用户先输入自己呢称然后进行连接,如果成功则在接收窗口输出成功提示,否则弹出连接失败警告框。在连接好之后用户也可以选择与服务器断开。

2

重庆科技学院《Windows程序设计》课程设计报告

2 设计环境或器材、原理与说明

2.1 设计环境与器材

因为选择使用MFC编程,该程序又是网络编程,所以设计环境与器材为:

·PC 机两到三台(程序试运行时需要多台电脑充当客户端);

·能正常连接的网卡;

·Windows环境与Microsoft Visual C++ 6.0 编译环境;

2.2 原理与说明

在计算机网络中,信息的传输是建立在物理传输介质与网络传输协议上的,TCP/IP协议是网络协议的一种,它分为不同的层次:TCP(Transmission Control Protocol——传输控制协议),UDP(User Datagram Protocol——用户数据报协议);IP(Internet Protocol——网际协议);它们分别工作于传输层与网络层。Window Socket 是Windows 下的标准网络程序设计接口,它是由一些API函数组成,用以提供对网络通信的支持。

该程序设计使用Windows Sockets编程。在数据传输协议中,我们使用UDP协议,UDP协议是无连接的协议,在服务器端不调用listen函数进行监听,也不调用accept函数建立连接, 其操作流程图如下图所示:

windows课程设计报告

windows课程设计报告

windows课程设计报告

图2-1 无连接协议的套接字操作流程图

首先,用socket函数建立套接字,然后根据本地的IP进行绑定,然后就可以通过使用send 函数和 reve 函数来进行数据的发送和接收了。

3

重庆科技学院《Windows程序设计》课程设计报告

3 设计过程及程序代码

3.1 服务器端设计

3.1.1 服务器端程序流程设计

下图是服务器端的程序流程设计图,当程序开始运行时,便初始WinSock环境。初始化完成后,程序便等待客户端的接入和等待接收信息。如果客户端发起请求连接的connect请求,便将该客户端的IP加如链表,并在ListBox中显示出来;如果收到的是已经建立好连接的客户端发来的消息信息,则遍历链表,将收到的消息向链表中所保存的所有的客户端发送并在服务器端的接收窗口显示该消息;如果收到客户端发送来的断开连接请求,则在ListBox和链表中删除该客户端的IP。关闭窗口程序结束。

windows课程设计报告

图3-1 服务器端程序设计

3.1.2 服务器端界面设计

使用MFC可以很方便的建立对话框,在打开Microsoft Visual C++ 6.0后建立一个MFC AppWizard[exe]工程,然后在选择类型对话框中选择Dialog Based,在选择包含部分时选择Windows Sockets,然后点击完成,于是便有了一个基本的对话框。我们可以通过MFC中

4

重庆科技学院《Windows程序设计》课程设计报告

提供的编辑工具在该对话框中进行设计,如添加文本框、按钮、静态文本框、ListBox等。然后根据需要对各个控件的属性等进行设定,下图是根据客户端功能需求所设计的客户端界面:

windows课程设计报告

图3-2 客户端界面设计

当有客户端连入后,客户端的IP会自动的显示在“在线主机列表”下的ListBox中,其下面的删除按钮可以将ListBox中所选的IP删除;所有客户端发来的消息和服务器自己所发的消息都在接收窗口中显示,并可通过清除内容按钮清除内容;服务器端也可以向所有客户端发送系统消息,该功能通过发送窗口和右边的发送、清除按钮实现。

3.1.3 服务器端套接字的具体操作

该程序设计使用UDP无连接的用户数据报协议,所以在设计中我们不调用listen函数

进行监听,也不调用accept函数建立连接,其操作流程可见图3-1。下面是在程序设计中建立套接字、绑定的具体实现:

// socket函数建立套接字

WSAStartup(MAKEWORD(2, 0), &m_WSAData);

//初始化套接字 //创建本地服务套接字

m_sockLocal = socket(AF_INET, SOCK_DGRAM, 0);

//选择程序要处理的网络事件:WM_SOCKET 和 FD_READ

WSAAsyncSelect(m_sockLocal, GetSafeHwnd(), WM_SOCKET, FD_READ); m_addr_in.sin_addr.S_un.S_addr = inet_addr("172.17.50.35"); m_addr_in.sin_family = AF_INET ;

m_addr_in.sin_port = htons(SERVER_PORT);

//指定IP地址(服务器所在系统IP地址) //协议族 //服务器端口号

// bind 函数给套接字指定本地地址

bind(m_sockLocal, (SOCKADDR*)&m_addr_in, sizeof(m_addr_in));

下面分别是接收和发送数据的具体代码:

recvfrom(m_sockLocal, buf, 1024, 0, (SOCKADDR*)&m_addrfrom, &m_fromlen); sendto(m_sockLocal, buf, 1024, 0, (SOCKADDR*)&m_addrfrom, sizeof(m_addrfrom));

5

重庆科技学院《Windows程序设计》课程设计报告

3.1.4 链表的维护以及消息的广播

在该程序的服务器端设计了一个链表,用来保存所有在线的客户端的IP地址。当服务器端收到客户端发送来的连接请求消息时,便把该客户端的IP加人到建立的链表中去,在广播消息的时候可以通过遍历该链表将消息发送给每一个客户端。

下面分别是建立链表、遍历链表、增加删除链表的具体实现代码:

//定义一个用来保存IP的链表

list<CString> IPlist;

list<CString>::iterator iter;

//对链表的增加、删除

IPlist.push_back(IP);

IPlist.remove(IP);

// 遍历链表以广播接收到的客户消息 for (iter = IPlist.begin(); iter != IPlist.end(); iter++) { } IP = (*iter); m_addrfrom.sin_addr.s_addr=inet_addr(IP); sendto(m_sockLocal, buf, 1024, 0, (SOCKADDR*)&m_addrfrom, sizeof(m_addrfrom)); //从链表的开始结点到结束结点

3.1.5 连接请求与断开连接

当客户端开启并发出连接信息时,在服务器端判断,如果是连接请求信息“connect”则如上一节所述将其IP加入链表同时加入ListBox显示出来,并向客户端发送连接成功的确认信息。如果服务器端将某个IP从链表中删除,也需要给客户端发送一个断开连接提示信息。若是客户端选则了断开连接,则当服务器端收到相应的断开信息后就将链表中对应的IP删除。

3.2 客户端的设计

3.2.1 客户器端程序流程设计

下图为客户端的程序流程图,和服务器相同程序一开始便使用socket函数建立套接字初始化WinSock环境。然后输入服务器端的IP地址并发起连接请求,如果连接超时则返回输入IP状态,若成功则可发送和接收消息,在此过程中如果服务器将本客户端断开,则返回输入IP态。若客户端自己选择与服务器断开,则向服务器发送断开信息并返回到输入

6

重庆科技学院《Windows程序设计》课程设计报告

IP状态继续循环,知道关闭窗口。

windows课程设计报告

windows课程设计报告

图3-3 客户端程序流程图

3.2.2 客户端界面设计

与服务器端的界面设计相同,只需根据需求设计出相应的控件,客户端界面设计如下图所示:

图3-4 客户端界面设计

7

重庆科技学院《Windows程序设计》课程设计报告

3.2.3 客户端的功能实现

(1).初始化WinSock环境

与服务器端基本相同,具体代码如下: // socket函数建立套接字

WSAStartup(MAKEWORD(2, 0), &m_WSAData);

//初始化套接字 //创建本地服务套接字 //服务器 IP地址 //协议族 //服务器断口 //绑定

m_sockLocal = socket(AF_INET, SOCK_DGRAM, 0); m_addr_in.sin_addr.S_un.S_addr = inet_addr(m_Str_IP); m_addr_in.sin_family = AF_INET; m_addr_in.sin_port = htons(9001);

WSAAsyncSelect(m_sockLocal, GetSafeHwnd(), WM_SOCKET, FD_READ); //选择需要处理的网络时间

bind(m_sockLocal, (SOCKADDR*)&m_addr_in, sizeof(m_addr_in));

在套接字建立好之后只需用以下两个函数就可以收发信息了,注意需指明长度。

//收发信息

recvfrom(m_sockLocal, buf, 1040, 0, (SOCKADDR*)&m_addrfrom, &m_fromlen); sendto(m_sockLocal, buf, 1024, 0, (SOCKADDR*)&m_addrto, sizeof(m_addrto));

(2).与服务器连接断开的具体实现

当点击连接按钮后,客户端向服务器端发出一个连接请求信息,然后等待回应,如果

连接不成功则返回,成功后则可进行消息的接收和发送。若连接成功后用户点击断开连接按钮,则程序向服务器端发出断开连接信息。具体实现代码如下:

连接请求:

//点击连接按钮,发送连接请求信息 void CUDPClientDlg::OnBUTTONConnect() {

// TODO: Add your control notification handler code here m_editRecv.SetWindowText(""); UpdateData(TRUE); if(m_Str_IP == "") { }

//发送连接请求

char bufConnect[8] = {"connect"};

m_addrto.sin_addr.S_un.S_addr = inet_addr(m_Str_IP); m_addrto.sin_family = AF_INET; m_addrto.sin_port = htons(8008);

sendto(m_sockLocal, bufConnect, 7, 0, (SOCKADDR*)&m_addrto, sizeof(m_addrto)); //使能控件 ………….. Checked = 1; }

8

AfxMessageBox(TEXT("请输入服务器IP地址!")); return;

重庆科技学院《Windows程序设计》课程设计报告

//在接收时判断信息 LRESULT CUDPClientDlg::OnSocket(WPARAM wParam, LPARAM lParam) { if (LOWORD(lParam) != FD_READ) return 0; char buf[1024]; int i; m_fromlen = sizeof(m_addrfrom); recvfrom(m_sockLocal, buf, 1040, 0, (SOCKADDR*)&m_addrfrom, &m_fromlen); if(Checked == 1 && j == 1) { } strcat(buf,"\r\n"); m_editRecv.ReplaceSel(buf); return 0;

} for(i=0; i<80; i++) { } Checked = 0; Sleep(30); AfxMessageBox(TEXT("连接服务器失败!!")); //使能控件….此处略去 …………… return 0; if(strcmp(buf,"连接成功!!") == 0) else Sleep(5); { } strcat(buf,"\r\n"); m_editRecv.ReplaceSel(buf); j=0; return 0;

发送断开请求:

该功能就只是给服务器发送一个特定的断开请求消息,服务器根据消息将该客户端的IP从ListBox和链表中删除,以达到断开的目的。

sendto(m_sockLocal, bufDisConnect, 11, 0, (SOCKADDR*)&m_addrto, sizeof(m_addrto));

9

重庆科技学院《Windows程序设计》课程设计报告

4 设计结果与分析

4.1 设计结果

下面使用一些程序运行的截图的对程序最终结果进行简单的阐述:

下图是客户端连接服务器图,开启了客户端后先输入用户的呢称再输入服务器的IP地址,然后电击连接按钮程序便发送出连接请求信息,如过在设定的时间内没有收到应答,则弹出连接失败提示,如下图:

windows课程设计报告

图4-1 客户端连接服务器图

当连接成功后,客户端的接收窗口会显示连接成功的提示,下图可见。然后就可以进行正常的消息收发。当客户端选择断开时,向服务器发送断开连接信息,然后断开。

windows课程设计报告

图4-2 客户端消息收发图

下图是服务器端的运行结果,当有客户端连接到该服务器端时,服务器的再线列表列出所有的客户端IP,然后可接收和转发所有客户端发送来的消息,同时服务器端也可发送消息给所有的客户端,如果服务器想让某个客户端被断开,则将其IP删除即可。

10

重庆科技学院《Windows程序设计》课程设计报告

windows课程设计报告

图4-3 服务器端消息收发图

4.2 设计分析

因为该程序是利用无连接的UDP协议实现功能需求的,所以在建立套接字的过程中,不需要调用listen函数进行监听,也不调用accept函数建立连接。连接消息的确认使用发送特定的信息进行连接和连接判断。服务器端对消息的转发以及服务器消息的广播实现是通过对保存IP的链表进行遍历。客户端的断开也是通过触发服务器端对链表中对应的IP地址删除实现的。程序的不足在与当客户端直接关闭时,服务器没有能响应将链表中的对应IP值删除,还需要改进。

11

重庆科技学院《Windows程序设计》课程设计报告

5 设计体会与建议

通过本次基于UDP协议的网络聊天工具设计的Windows程序设计,我受益匪浅,并对Windows程序设计这一门课程与相关一些技术有了更深一步的认识。在实验中,我们可以把这学期所学的理论知识和实践联系起来,在所要设计的程序中渐渐融会贯通。虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习中会得到更加深刻的掌握。本课程设计是设计一个程序,实现聊天功能,要求有客户端和服务器端。通过设计我们进一步掌握利用Visual C++进行程序设计的能力;进一步理解和运用面向对象程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;理解Windows程序的运行过程;掌握winsocket编程方法。

总的来说通过本次实验,我学习到了许多东西,增强了一定的实践能力。课程设计过程中我们一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。希望在以后我们能充分利用实习的机会充实自己,并希望有更多的这样的实践机会。

12

重庆科技学院《Windows程序设计》课程设计报告

参考文献:

[1].Charles Petzold 著,Windows程序设计.北京博彦科技发展有限公司译.北京.北

京大学出版社,1998

[2].杨祥金,杨丹等.Windows程序设计教程.北京:清华大学出版社,2007

[3].Charles Prterzold.Programming Windows by Charles Prterzold.Microsoft Press,1998

[4].何立起著,陆东晖,杜坚贞改编.Borland C++ Windows程序设计.北京:人民邮

电出版社,1994

[5].Peter Norton,Rob McGregor著.MFC开发Windows 95/NT4应用程序.孙凤英,

魏军,徐京等译.北京:清华大学出版社,2000

13

更多相关推荐:
Windows编程实验报告

Windows编程实验报告1GDI图形程序设计姓名专业学号框架窗口程序和20xx3241Windows编程实验报告1Windows编程实验一GDI图形程序设计框架窗口程序和一实验目的1熟悉在VisualC60I...

windows编程实验报告

院系计算机科学学院专业网络工程年级20xx级课程名称Windows编程学号10066070姓名王彦廷指导教师熊志勇20xx年1月6日includequotstdafxhquotincludequottesthq...

MFC Windows 程序设计实验报告(1)

MFCWindows程序设计实验报告20xx至20xx学年第二学期实验完成情况完成基本完成未完成

windows程序设计实验报告

Windows程序设计实验报告实验室S306308学院计算机科学与技术专业计算机科学与技术目录实验一熟悉visualc的编程环境3一实验目的和要求3二实验内容程序清单及运行结果31编辑第一个C程序32用AppW...

windows程序设计实验报告

Windows程序设计实验报告河南理工大学测绘学院Windows程序设计实验报告班级地信101姓名薛山学号311005030124实验态度1认真2良好3一般4不认真实验成果1优秀2可信3一般4不真实实验报告1清...

北邮windows程序设计实验报告

Windows程序设计实验报告实验一绘图和绘钟实验二简易扫雷程序班级姓名学号班内序号时间20xx54实验一绘图和绘钟一实验要求利用MFC类编写windows程序实现基本绘图功能并在课堂所讲绘图功能上新加入自己其...

Windows体系编程实验报告(华北电力大学科技学院)

附件3科技学院课程设计综合实验报告2020年度第学期名称Windows体系编程题目院系信息工程系班级软件09k2学号学生姓名闫雪峰指导教师实验学时12学时成绩日期20xx年5月19日一课程设计综合实验的目的...

Windows程序设计课程设计报告

Windows程序设计课程设计报告要求1必须在visual20xx以上编程环境开发从建工程开始开就在20xx以上环境开发发现以前开发痕迹视为抄袭2所有代码必须自主完成发现二人代码相同的视为相互抄袭3所有抄袭者在...

实验一 Windows应用程序设计

实验一Windows应用程序设计一实验目的一掌握C的语法基础包括数据类型变量与常量运算符与表达式二掌握选择结构的程序设计三掌握创建Window应用程序的步骤二实验内容一存款计算器设计题目要求依据输入的存款信息本...

windows编程实验二

Windows编程实验报告实验序号2实验项目名称类设计

Windows综合实验报告

Windows应用程序开发综合实验报告系别信息与控制学院专业软件工程专业学生姓名章博雅指导教师李莹20xx年01月06日沈阳理工大学应用技术学院实验题目或模块名称1商品资料检索2前台销售管理功能设计根据关键字检...

windows程序设计

实验日志实验题目熟悉visualc的编程环境实验目的1了解和使用VC集成开发环境2熟悉VC环境的基本命令和功能键3熟悉常用的功能菜单命令4学习使用VC环境的帮助5学习完整的C程序开发过程6理解简单的C程序结构7...

windows程序设计实验报告(28篇)