Windows程序设计C语言实训报告_计算机-.NET.pdf
《Windows程序设计C语言实训报告_计算机-.NET.pdf》由会员分享,可在线阅读,更多相关《Windows程序设计C语言实训报告_计算机-.NET.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.资料.HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY C 语言程序设计 实训报告 实训题目:汽车零部件采购管理程序 专 业:电气与信息工程学院计算机系 班 级:T1323-1 姓 名:王俊 成 绩:完成日期:2014-5-25 指导教师:史旅华.资料.目 录 1 实训题目与要求3 2 系统设计4 3 程序测试与运行结果5 4 实训总结6 5 程序源代码7 成日期指导教师史旅华资料目录实训题目与要求系统设计程序测试与运行结果实训总结程序源代码资料实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时需要向零部件生产厂商采购零部件设计一个汽车零部件采购
2、应该具有如下功能能从键盘输入采购信息指定采购编号显示采购的零部件信息指定零部件名称显示该零部件的所有采购信息给定采购编号修改采购信息给定采购编号删除采购信息题目要求按照分析设计编码调试测试的软件过程完成 窗口上以按钮的形式为用户提供菜单通过点击各个功能项对应的按钮完成操作输入要求用户可以根据需求定相应的操作项目进入每个操作后通过窗口的文本框从键盘输入相应的信息程序根据用户输入的信息完成相应的处理实现要求.资料.1.实训题目与要求 汽车零部件采购管理程序 题目描述 已知在汽车生产时,需要向零部件生产厂商采购零部件,设计一个汽车零部件采购管理程序,以方便采购管理部门对采购零部件的管理。该单位每次采
3、购都有一个采购编号,每次采购一种零部件。该程序应该具有如下功能(1)能从键盘输入采购信息。(2)指定采购编号,显示采购的零部件信息。(3)指定零部件名称,显示该零部件的所有采购信息。(4)给定采购编号,修改采购信息。(5)给定采购编号,删除采购信息。题目要求:(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。(2)采购信息包括:采购编号、零部件名称、采购日期、采购员、采购数量、采购单价、供货单位。(3)为程序设计 windows 窗口,在该窗口上以按钮的形式为用户提供“菜单”,通过点击各个功能项对应的按钮完成操作。输入要求:(1)用户可以根据需求,选定相应的操作项目。进入每个操
4、作后,通过窗口的文本框,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。(2)能对输入的数据进行简单的校验,例如,采购日期必须是一个合法的日期格式,采购编号是唯一的(一次采购对应一个采购编号)。输出要求:(1)应用程序运行后,要在屏幕上显示一个按钮形式的“菜单”。(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据容、格式以及结束方式等。(3)在程序完成处理后,要清楚地给出程序的处理结果。例如,在给定采购编号删除采购信息时,如果该采购编号不存在,要提示没能删除,如果删除成功要提示删除成功。实现要求:(1)在程序中使用链表存储采购信息。(2)采用模块化程
5、序设计的方法,将程序中的各项功能用函数实现。提示:(1)使用结构体表示采购信息,一个结点保存一条采购信息 扩展功能:(1)提供一些统计功能。例如根据零部件名称统计采购数量,根据采购员统计采购的次数。(2)采购信息从文件读入。(3)将采购信息保存到文件中。2系统设计 成日期指导教师史旅华资料目录实训题目与要求系统设计程序测试与运行结果实训总结程序源代码资料实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时需要向零部件生产厂商采购零部件设计一个汽车零部件采购 应该具有如下功能能从键盘输入采购信息指定采购编号显示采购的零部件信息指定零部件名称显示该零部件的所有采购信息给定采购编号修改采购信
6、息给定采购编号删除采购信息题目要求按照分析设计编码调试测试的软件过程完成 窗口上以按钮的形式为用户提供菜单通过点击各个功能项对应的按钮完成操作输入要求用户可以根据需求定相应的操作项目进入每个操作后通过窗口的文本框从键盘输入相应的信息程序根据用户输入的信息完成相应的处理实现要求.资料.本系统主要实现管理员对汽车零部件采购的管理。在运行界面上,管理员可以实现如下功能:(1)能从键盘输入采购信息。(2)指定采购编号,显示采购的零部件信息。(3)指定零部件名称,显示该零部件的所有采购信息。(4)给定采购编号,修改采购信息。(5)给定采购编号,删除采购信息。系统的总体结构设计遵循如下原则:(1)系统应具
7、有良好的适应性。能适应用户对系统的软件环境、管理容、模块和界面的要求(2)系统应具有 可靠性。采用成熟的技术方法以保证在以后的实际运用中安全可靠。(3)系统应具有良好的安全性。(4)系统的设计开发应符合信息安全化建设的要求。界面设计 用 户 界 面。包 括按钮,以及零部件名称、编号、采购信息等文本框。采购功能图如下:用户操作 导入 按零部件名称查找 按采购编号查找 按采购编号修改 增加 保存 成日期指导教师史旅华资料目录实训题目与要求系统设计程序测试与运行结果实训总结程序源代码资料实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时需要向零部件生产厂商采购零部件设计一个汽车零部件采购
8、应该具有如下功能能从键盘输入采购信息指定采购编号显示采购的零部件信息指定零部件名称显示该零部件的所有采购信息给定采购编号修改采购信息给定采购编号删除采购信息题目要求按照分析设计编码调试测试的软件过程完成 窗口上以按钮的形式为用户提供菜单通过点击各个功能项对应的按钮完成操作输入要求用户可以根据需求定相应的操作项目进入每个操作后通过窗口的文本框从键盘输入相应的信息程序根据用户输入的信息完成相应的处理实现要求.资料.系统分析(1)主函数的流程分析与设计 Windows 应用程序的执行过程 Windows 应用程序中基本构成元素是“窗口”,在窗口上放置了许多的其他元素,例如按钮、文本框。当程序运行时,
9、首先执行主函数。在主函数中需要创建窗口,每个窗口都需要有一个窗口函数来处理在该窗口上产生的事件的消息。然后循环等待接受从 Windows 操作系统传递来消息。当在窗口上产生一个事件时,Windows 操作系统会将这事件转换为一个消息。例如,用户按下了鼠标按钮,就产生一个鼠标事件,这个鼠标事件会转换为一个按下鼠标的消息。这些消息首先被送给 Windows 操作系统的,Windows 操作系统将消息放在一个称为消息队列中,由 Windows 的消息发送程序转发给对应的窗口(Windows 操作系统自动完成)。消息一般用一个 32 位的整数来标识,这个整数唯一地标识这个消息。对于窗口接收到的每条消息
10、,会被传送到一个被称为窗口函数的函数中(通常是 WndProc 函数),并使用一个参数 message 来标识这些消息。在该函数中根据消息判断已经发生了哪个具体事件,从而执行相应的处理。Windows 的消息可分为四种类型:输入消息:对键盘和鼠标输入作反应。控制消息:用来与 Windows 的控件,例如,对话框、列表框、按钮等进行双向通信。系统消息:对程式化的事件或系统时钟中断作出反应。用户消息:由程序员创建的,这些消息只从应用程序的某一部分进入到该应用程序的另一部分而被处理,不会离开应用程序。因此,在 Windows 应用程序中,其核心事件驱动方式都是围绕着消息的产生与处理展开,事件驱动是靠
11、消息循环机制来实现的。如下图。零部件信息 名称 编号 采购信息 成日期指导教师史旅华资料目录实训题目与要求系统设计程序测试与运行结果实训总结程序源代码资料实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时需要向零部件生产厂商采购零部件设计一个汽车零部件采购 应该具有如下功能能从键盘输入采购信息指定采购编号显示采购的零部件信息指定零部件名称显示该零部件的所有采购信息给定采购编号修改采购信息给定采购编号删除采购信息题目要求按照分析设计编码调试测试的软件过程完成 窗口上以按钮的形式为用户提供菜单通过点击各个功能项对应的按钮完成操作输入要求用户可以根据需求定相应的操作项目进入每个操作后通过窗
12、口的文本框从键盘输入相应的信息程序根据用户输入的信息完成相应的处理实现要求.资料.图 5 消息循环 Windows 程序的结构 Windows 程序具有较独特的结构,即 Windows 程序是有一定的框架的,在编写基于C 语言的 Windows 应用程序时必须要了解构成 Windows 应用程序的构成结构,然后就是用特定的容(代码)来填充这个框架,实现程序功能。典型的 Windows 程序的应该具有如下的结构:(1)主函数 主函数 WinMain 是 Windows 应用程序的入口,同时也是 Windows 应用程序的“容器”。Windows 应用程序中的窗口需要在主函数建立;程序的消息循环也
13、要在其中设置。因此在主函数中我们要做的就是三件事:注册窗口类 Windows 应用程序中一个基本的组成就是窗口,每一个窗口都有一些共同的特征,是属于某个类型的。在主函数中必须注册一个窗口类,在该窗口类中指定这类型的窗口的一些公共的特征。以便在 Windows 应用程序中建立窗口时,可以该窗口所属的类型。窗口类不是 C+语言中“类”的概念,它是表示一种类型的窗口,在 Windows 系统中,使用 WNDCLASS 结构体类型表示“窗口类”。在该结构体中定义了许多的成员,用于描述窗口的特征。在主函数中注册窗口类的过程如下:首先,必须定义一个 WNDCLASS 类型的结构体变量,一个窗口类变量表示
14、Windows程序中的“一种类型的窗口”,定义的方法如下:WNDCLASS wndclass;其次,在定义了 WNDCLASS 结构体变量后必须给该变量的成员赋值,用以指定该窗口类的具体特征。例如:wndclass.style=CS_VREDRAW|CS_HREDRAW;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);说明:WNDCLASS 结构体有一个属性:lpszClassName,它表示该窗口类变量的“名称”,它是一个字符串类型的,通过给该属性赋值一个字符串,可以通过该名称使用该窗口类。再 次使用 API 函 数:RegisterClass 函
15、 数注册窗 口类,使用方 式就是将 定义的WNDCLASS 的变量地址作为该函数的实参。例如:RegisterClass(&wndclass);建立窗口 Windows 应用程序中最重要就是“窗口”,在主函数中必须要建立窗口,使程序运行成日期指导教师史旅华资料目录实训题目与要求系统设计程序测试与运行结果实训总结程序源代码资料实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时需要向零部件生产厂商采购零部件设计一个汽车零部件采购 应该具有如下功能能从键盘输入采购信息指定采购编号显示采购的零部件信息指定零部件名称显示该零部件的所有采购信息给定采购编号修改采购信息给定采购编号删除采购信息题目
16、要求按照分析设计编码调试测试的软件过程完成 窗口上以按钮的形式为用户提供菜单通过点击各个功能项对应的按钮完成操作输入要求用户可以根据需求定相应的操作项目进入每个操作后通过窗口的文本框从键盘输入相应的信息程序根据用户输入的信息完成相应的处理实现要求.资料.时能显示一个“窗口”供用户使用。Windows 系统中使用 HWND 结构体类型表示,窗口建立窗口的过程如下:首先,定义 HWND 类型的窗口变量,一个窗口变量对应着 Windows 应用程序中的一个具体的“窗口”,定义方法如下:HWND hwnd;其次,创建窗口,创建窗口的方法就是 API 函数:CreateWindow 函数。注意:窗 口
17、类 中 已 经 预 先 定 义 了 窗 口 的 一 般 属 性,而 创 建 一 个 具 体 的 窗 口 时,通 过CreateWindow 函数中的参数中是进一步指定窗口更具体的属性。例如:窗口所属的窗口类,窗口中的标题,窗口显示的位置和窗口的大小等。CreateWindow 函数的调用方式如下:hwnd=CreateWindow(szAppName,TEXT(新 窗 口),WS_OVERLAPPEDWINDOW,800,600,NULL,NULL,hInstance,NULL);说明,这个函数的参数非常重要,用于指定窗口的特征:第一个参数:表示的是窗口属于的窗口类型(窗口类),它的值必须是在
18、设置窗口类属性为 lpszClassName 属性指定的字符串。第二个参数:一个字符串,当窗口显示时,将该参数中的字符串显示在窗口的标题位置。第三个参数:表示该窗口的显示风格,例如该窗口是否是一个带边框的窗口,是否有标题框的窗口等。第四、五个参数:表示窗口显示的位置(x 坐标、y 坐标)第六、七个参数:表示窗口显示的大小(宽、高)第八个参数:表示打开窗口的父窗口。第九个参数:有没有菜单 第十个参数:打开该窗口的应用程序的句柄 第十一个参数:表示传递给窗口的 WM_CREATE 消息(创建消息)再次,显示窗口,创建了窗口后,该窗口并没有显示,需要使用 API 函数:ShowWindow函数将已经
19、创建的窗口在屏幕上显示。调用方式如下:ShowWindow(hWnd,nShowCmd);第一个参数:表示需要显示的、已经创建的窗口变量。第二个参数:表示显示窗口时窗口显示的状态,即是最大化、最小化等。说明:在调用函数 ShowWindow 后,一般会再调用函数 UpdateWindow,通过该函数,向操作系统发送一个 WM_PAINT 消息来更新指定窗口的客户区。消息循环处理 在主函数必须构建一个循环以实现对消息循环处理,它使用循环语句实现。循环语句的实现方法是:在该循环中不断的从应用程序消息队列中检索一条消息,并将其存放一个变量中,这个消息需要翻译,即转换成程序可以识别的表示,然后再将消息
20、派发到窗口函数中,以便应用程序对消息进行判断,执行相应的处理。(即实现事件驱动方式的对事件响应)。也就是说我们在窗口的过程函数中处理消息。说明:当消息传递给窗口函数后,Windows 操作系统会调用该函数,从而执行函数中代码,达到处理消息的目的。消息循环的步骤如下:成日期指导教师史旅华资料目录实训题目与要求系统设计程序测试与运行结果实训总结程序源代码资料实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时需要向零部件生产厂商采购零部件设计一个汽车零部件采购 应该具有如下功能能从键盘输入采购信息指定采购编号显示采购的零部件信息指定零部件名称显示该零部件的所有采购信息给定采购编号修改采购信
21、息给定采购编号删除采购信息题目要求按照分析设计编码调试测试的软件过程完成 窗口上以按钮的形式为用户提供菜单通过点击各个功能项对应的按钮完成操作输入要求用户可以根据需求定相应的操作项目进入每个操作后通过窗口的文本框从键盘输入相应的信息程序根据用户输入的信息完成相应的处理实现要求.资料.首先,定义一个能保存从应用程序消息队列中检索的一条消息 Windows 系统中,使用 MSG 结构体类型来表示一个 Windows 消息。在主函数中必须定义一个 MSG 结构体类型的变量,以便可以保存消息。定义的方法如下:MSG msg;其次,从应用程序消息队列中检索的消息 在主函数中的消息循环中必须要能从应用程序
22、消息队列中检索消息,并能将其保存,这是通过调用 API 函数:GetMessage 函数实现的。GetMessage 函数只会检索只属于本应用程序的消息,并且会一直等待有消息到来才有返回值。(类似于 scanf 等待用户从键盘输入)。调用方法如下:GetMessage(&Msg,NULL,0,0);第一个参数:用于存放消息的 MSG 结构体类型的变量的地址。(回想在函数过指针型参数修改函数外的变量)第二个参数:取得其消息的窗口的句柄。当其值取 NULL 时,GetMessage 函数为属于应用程序的所有窗口检索消息。(即指定只检索在某个窗口上产生的消息,在主函数中调用时一般为 NULL)第三、
23、四个参数一般为 0。再次,翻译消息:在获取到属于本应用程序中的消息后,需要将其转换成程序可识别的方式,这个过程可以通过调用 API 函数:TranslateMessage 函数完成,调用方式如下:TranslateMessage(&msg);参数是保存消息的 MSG 类型的变量的地址。最后,将消息分发到窗口函数:在翻译了消息后,需要将该消息分发到窗口函数,以便使 Windwos 调用窗口函数。可以调用 API 函数:DispatchMessage 函数实现。调用过程如下:DispatchMessage(&msg);参数是保存消息的 MSG 类型的变量的地址。总结:上述的消息循环实现的代码一般如
24、下:(要求 msg 变量已经定义)while(GetMessage(&msg,NULL,0,0L)TranslateMessage(&msg);DispatchMessage(&msg);说明:GetMessage 的返回值作为 while 循环的条件,当 GetMessage 函数返回“假”时结束循环,从而也就结束程序。(2)系统模块划分 整个系统依据其功能主要分为以下几个模块:(1)导入:选择文件,将零部件的信息显示在相应的位置。(2)从键盘输入采购信息:从键盘写入采购信息到链表。(3)指定采购编号,显示采购的零部件信息:从键盘输入编号,在链表中找到该结构体,显示信息。(4 指定零部件名称
25、,显示该零部件的所有采购信息:从键盘输入 零部件名称,在链表中找到该结构体,显示信息。成日期指导教师史旅华资料目录实训题目与要求系统设计程序测试与运行结果实训总结程序源代码资料实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时需要向零部件生产厂商采购零部件设计一个汽车零部件采购 应该具有如下功能能从键盘输入采购信息指定采购编号显示采购的零部件信息指定零部件名称显示该零部件的所有采购信息给定采购编号修改采购信息给定采购编号删除采购信息题目要求按照分析设计编码调试测试的软件过程完成 窗口上以按钮的形式为用户提供菜单通过点击各个功能项对应的按钮完成操作输入要求用户可以根据需求定相应的操作项
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 程序设计 语言 报告 计算机 NET
限制150内