



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验1 Windows编程基础实验目的和要求创建一个Win32应用程序Ex_SDK,在程序中构造一个编辑框控件和一个按钮。编辑框用于输入一元二次方程的系数,各系数之间用逗号分隔,当单击“计算”按钮,获取方程系数,然后将求得的根通过TextOut显示在窗口客户区中。图1.1 运行结果实验准备和说明(1)具备知识:简单的SDK编程基础。(2)准备本次上机所需要的程序。(3)创建本次实验工作文件夹“Visual C+程序实验实验1”实验内容和步骤1启动Visual C+ 6.0打开计算机,启动Visual C+ 6.0系统。2创建工程并添加代码 选择“文件”“新建”菜单命令,打开应用程序向导,显示出“新建”对话框。单击“工程”标签,从列表框中选中Win32 Application(Win32 应用程序)项。在工程名称框中输入Win32应用程序项目名称Ex_SDK。单击浏览按钮.将工程定位到文件夹 “Visual C+ 6.0程序实验实验1”。 单击“确定”按钮继续。在向导第一步对话框中,选中An empty project(一个空的工程)项。单击“完成”按钮,系统将显示AppWizard(应用程序向导)的创建信息,单击“确定”按钮,系统将自动创建此应用程序。 再次选择“文件”“新建”菜单命令,显示出“新建”对话框。单击“文件”标签,在左边的列表框中选择C+ Source File项,在右边的“文件”下的编辑框中输入Ex_SDK.cpp,单击“确定”按钮。 在打开的文档窗口中输入下面的代码:#include #include #include / 求一元二次方程的根,函数返回根的个数int GetRoot(float a, float b, float c, double *root)double delta, deltasqrt;delta = b*b - 4.0 * a * c;if (delta0.0) return 0;/ 无根deltasqrt = sqrt(delta);if (a!=0.0) root0 = (-b + deltasqrt)/(2.0 * a);root1 = (-b - deltasqrt)/(2.0 * a); elseif (b!=0.0) root0 = root1 = -c/b;elsereturn 0;if (root0 = root1) return 1;else return 2;char str80;LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);/ 窗口过程int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) HWND hwnd ;/ 窗口句柄 MSG msg ;/ 消息 WNDCLASSwndclass ;/ 窗口类 wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = SDKWin;/ 窗口类名 if (!RegisterClass (&wndclass)/ 注册窗口 MessageBox (NULL, 窗口注册失败!, HelloWin, 0) ; return 0 ; / 创建窗口 hwnd = CreateWindow (SDKWin, / 窗口类名 实验1Windows编程基础,/ 窗口标题 WS_OVERLAPPEDWINDOW, / 窗口样式 CW_USEDEFAULT, / 窗口最初的 x 位置 CW_USEDEFAULT, / 窗口最初的 y 位置 CW_USEDEFAULT, / 窗口最初的 x 大小 CW_USEDEFAULT, / 窗口最初的 y 大小 NULL, / 父窗口句柄 NULL, / 窗口菜单句柄 hInstance, / 应用程序实例句柄 NULL) ; / 创建窗口的参数 ShowWindow (hwnd, nCmdShow) ;/ 显示窗口 UpdateWindow (hwnd) ;/ 更新窗口,包括窗口的客户区 while (GetMessage (&msg, NULL, 0, 0) TranslateMessage (&msg) ;/ 转换某些键盘消息 DispatchMessage (&msg) ;/ 将消息发送给窗口过程,这里是WndProc return msg.wParam ;LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)HDChdc;PAINTSTRUCTps;staticHWNDhwndButton, hwndEdit;charstrEdit80, strA380, strHint80;floata3;doubleroot2;inti, j, k, m;switch (message)case WM_CREATE:/ 窗口创建产生的消息hwndEdit = CreateWindow(edit, NULL, WS_CHILD|WS_VISIBLE|WS_ BORDER,10, 60, 200, 25, hwnd, NULL, NULL, NULL );hwndButton = CreateWindow(button, 计 算,WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,240, 60, 80, 25, hwnd, NULL, NULL, NULL );return 0 ; case WM_COMMAND:/ 命令消息,控件产生的通知代码在wParam的高字中if (HWND)lParam = hwndButton )&( HIWORD(wParam) = BN_CLICKED )/ 获取编辑框控件的内容,并将其转换成float数值GetWindowText( hwndEdit, strEdit, 80); / 获取编辑框内容/ 分隔字符串k = 0;m = 0;for (j=0; j80; j+)if (strEditj = ,)k+; m = 0;else strAkm = strEditj;m+;for (i=0; i3; i+)ai = (float)atof(strAi);/ 将字符串转换成float数值int n = GetRoot(a0, a1, a2, root);if (n1)strcpy(str, 方程无根!) ;else sprintf(str,方程的解为:%f, %f, root0, root1);InvalidateRect(hwnd, NULL, TRUE);case WM_PAINT:hdc = BeginPaint(hwnd, &ps);strcpy(strHint, 请输入一元二次方程的3个系数,中间用逗号分隔); TextOut(hdc, 10, 40, strHint, strlen(strHint);TextOut(hdc, 10, 90, str, strlen(str);EndPaint(hwnd, &ps);return 0 ; case WM_DESTROY:/ 当窗口关闭时产生的消息PostQuitMessage (0) ;return 0 ;return DefWindowProc (hwnd, message, wParam, lParam) ;/ 执行默认的消息处理3运行并测试编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖北省社会科学院人才引进10人模拟试卷及答案详解(全优)
- 2025年中储粮新疆分公司春季招聘拟聘用人选笔试题库历年考点版附带答案详解
- 2025年2月广东广州市海珠区人民法院招聘劳动合同制法官助理、书记员招聘拟聘人选考前自测高频考点模拟试题(含答案详解)
- 2025湖南衡阳市水务投资集团有限公司招聘30人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025湖南新宁县事业单位和县属国有企业人才引进降低开考比例岗位模拟试卷完整答案详解
- 2025届深圳地铁运营集团有限公司应届生招聘笔试题库历年考点版附带答案详解
- 2025湖南长沙市生态环境局芙蓉分局招聘编外合同制工作人员考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025海南澄迈县就业局招聘见习生1人模拟试卷及答案详解(全优)
- 2025年湖南邵阳城步县事业单位选调28人模拟试卷(含答案详解)
- 2025中电信数政科技有限公司招聘50人笔试题库历年考点版附带答案详解
- 【MOOC】英汉交替传译-东北大学 中国大学慕课MOOC答案
- GB/Z 44314-2024生物技术生物样本保藏动物生物样本保藏要求
- DB14T 2922-2023 公路机电工程标准工程量清单及计量规范
- 2023年全国职业院校技能大赛-融媒体内容策划与制作赛项规程
- 《电力建设施工企业安全生产标准化实施规范》
- 糖尿病周围神经病变知多少课件
- 新概念英语青少版入门 A-Unit-1课件(共98张)
- 儿童肺炎支原体肺炎诊疗指南(2023年版)解读
- 个人履职考核情况表
- 中小学消防安全、交通安全、食品安全、防溺水、防欺凌系统安全教育主题课件
- 建筑垃圾减量化专项方案
评论
0/150
提交评论