




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
姓 名: 曹 志 民 班 级: 机 械2班 学 号: 201103710025 指导教师: 侯 宇 完成日期: 2012年2月 武汉科技大学机械自动化2 任务一 开发一个计算器程序一. 软件目标本课程设计的主要目的是通过计算器的来完成各种功能的运算过程,这样可以减少计算量。该计算器可以实现加、减、乘、除运算以及平方根运算,也可以实现四则混合运算。数据操作既可以实现整数操作也可以实现实数的操作。二. 软件设计1.开发环境 本计算器程序是用C+软件进行开发设计的,设计环境为Visual Studio C+ 6.0。2.基本设计流程具体操作如下:建立工程Calculator,添加相应的源文件Main和Mixoperation.h,最后编译,链接,执行。3.界面设计 本程序的设计界面为Windows本身的对话框界面。4.软件功能模块说明(1)加法功能可以实现整数和实数的相加运算。(2)减法功能可以实现整数和实数的相减运算。(3)乘法功能可以实现整数和实数的乘法运算。(4)除法功能可以实现整数和实数的除法运算。(5)四则混合运算功能可以实现整数和实数的四则混合运算。(6)显示功能显示用户输入的数据,并显示处理后的结果。三. 软件实现过程1. 用MFC AppWizard 创建一个单文档应用程序(1)选择“文件”“新建”菜单,在弹出的“新建”对话框中,可以看到工程标签页面中,显示出一系列的应用程序项目类型;选择MFC AppWizard(exe)的项目类型,将项目工作文件夹定位在“D:Visual C+ 6.0程序”,并在工程编辑框中输入项目名Calculator。(2) 按Ctrl+W快捷键打开MFC ClassWizard对话框。在Class name组合框中,将类名选定为 CView类。Object IDs和Messages列表内容会相应的改变。在Object IDs列表框中选定CalculatorView,而在Messages列表中选定WM_LBUTTOMDOWN消息。2. 添加对话框,并布局对话框上的控件(1) 添加对话框资源;选中“Dialog”,单击新建按钮,系统就会自动为当前应用程序添加了一个对话框资源,并出现如图所示的界面(2) 设置对话框的属性;在对话框模板处右击鼠标,从弹出的快捷菜单中选择“属性” ,出现如图所示的对话框属性窗口。(3) 添加和布局控件;(4) 创建对话框类;3. 添加消息映射函数,写主要代码(1) 加法模块void CCalculatorDlg:OnButton1() UpdateData(); m_num3=m_num1+m_num2;UpdateData(FALSE);(2) 减法模块 void CCalculatorDlg:OnButton2() / TODO: Add your control notification handler code hereUpdateData(); m_num3=m_num1-m_num2;UpdateData(FALSE); (3) 乘法模块void CCalculatorDlg:OnButton3() / TODO: Add your control notification handler code hereUpdateData(); m_num3=m_num1*m_num2;UpdateData(FALSE);(4) 除法模块void CCalculatorDlg:OnButton7() / TODO: Add your control notification handler code hereUpdateData(); m_num3=m_num1/m_num2;UpdateData(FALSE); (5) 平方模块void CCalculatorDlg:OnButton5() / TODO: Add your control notification handler code hereUpdateData(); m_num4=m_num4*m_num4;UpdateData(FALSE);(6) 正弦模块void CCalculatorDlg:OnButton6() / TODO: Add your control notification handler code hereUpdateData(); m_num4=sin(m_num4*pi/180);UpdateData(FALSE);(7) 余弦模块void CCalculatorDlg:OnButton8() / TODO: Add your control notification handler code hereUpdateData(); m_num4=cos(m_num4);UpdateData(FALSE);(8) 版本信息模块void CCalculatorDlg:OnButton12() / TODO: Add your control notification handler code here CAboutAuthorDlg AboutAuthor; AboutAuthor.DoModal();四. 软件界面截图1. 主界面2. About对话框界面任务二 开发一个画图程序一. 软件目标开发一个画图软件,要求是基于单文档或多文档的应用程序,能绘制点、直线、矩形、圆、椭圆等基本几何图形。在此基础上扩展多边形、扇形、贝赛尔曲线以及文字输出等功能。二. 软件设计1.开发环境 本计算器程序是用C+软件进行开发设计的,设计环境为Visual Studio C+ 6.0。2.基本设计流程具体操作如下:建立工程CZM_Draw,添加相应的源文件Main和Mixoperation.h,最后编译,链接,执行3.界面设计 本程序的设计界面为Windows本身的对话框界面。4.软件功能模块说明(1) 在单文档菜单中,在菜单行中可插入一个菜单项,命名为绘图,在下拉菜单中可分别设置绘制的图形形状,如直线、矩形及椭圆,线宽选项,还可以设置线色以及填充色,通过弹出的颜色对话框选择需要的颜色,如果不选择线宽、线色以及填充色,则按默认的画笔,画刷来绘制选择的图形。 (2) 选择好图形后,通过鼠标可以绘制出相应的直线,矩形或椭圆,鼠标的按下确定图形的起点,鼠标的拖动则确定了图形的终点,即通过鼠标的拖动来决定图形的大小,当鼠标弹起,此图形则绘制完毕。(3) 增添工具栏,设置绘制的图形形状,线色以及填充色,可更方便地选择相应的功能。三. 软件实现过程1.创建单文档 创建一个MFC AppWizardexe工程,命名为“CZM_Draw”,并创建单文档,如图1所示。创建成功后,系统自动生成相应的类,如图2所示。 图 1 创建单文档 图 2 生成相应的类2. 编辑菜单 添加需要的菜单项,如图3所示;并在菜单的属性中设定好所对应的ID,如图4所示,各项菜单对应的ID如表1所示(其中线宽菜单为弹出菜单,只需在菜单项目属性中的弹出选项前打勾即可,分隔线亦只需在菜单项目属性中选中分隔符选项即可)。 图3 添加菜单选项 图 4 添加ID 菜单名ID菜单名ID点IDM_DOT线 型IDC_LINE_STYLE直 线IDM_LINE线 宽IDC_LINE_WIDTH矩 形IDM_RECTANGLE颜 色IDM_COLOR椭 圆IDM_ELLIPSE 表 1 菜单对应项ID建立类向导,在视图类CCZM_DrawView中,对各菜单项添加对应的COMMAND消息处理函数,部分菜单项还添加对应的UPDATE_COMMAND_UI消息函数。3. 在相应消息函数处添加代码,实现其功能建立类向导,在视图类CZM_DrawView中,添加WM_PAINT消息,以及WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVE消息,并在其中添加相应的代码。4. 选择要绘制的图形在直线、矩形以及椭圆的消息处理函数里为m_nDrawType分别赋值为1,2,3,在OnPaint()函数里添加1个switch语句的代码来这实现这三个图形的绘制:当选择画点时,m_nDrawType=1;执行绘制直线代码时,m_nDrawType =2;当选择画矩形时,m_nDrawType =3;当性选择画椭圆时, m_nDrawType=4,则执行绘制椭圆的代码。5. 改变线宽 在OnPaint()创建的画笔中,pen.CreatePen(PS_SOLID,w, m_nColor),线宽处用w表示,则改变w的值即改变了画笔的粗细。选择菜单绘图线宽选择划线宽度值,此时所选的线宽值就赋给线宽变量w。若不选择线宽值,则w=0(即默认线宽值为0)。6. 改变线色 在OnPaint()创建的画笔中,pen.CreatePen(PS_SOLID,w, m_nColor),线的颜色处用m_nColor表示,则改变m_nColor即改变了画笔的颜色。选择菜单绘图颜色,会弹出通过WM_COLORREF从系统中引入的颜色选择对话框,选择颜色后,点击确定则相应颜色值就赋给变量m_nColor,此时画笔的颜色就会发上变化。若不选择颜色,则默认(线)颜色为红色。7. 关键源代码(1)条件初始化CCZM_DrawView:CCZM_DrawView()/ TODO: add construction code here m_nDrawType=0; m_ptOrigin=0; m_nLineWidth=0; m_nLineStyle=0; m_clr=RGB(255,0,0);(2)绘图代码:点、直线、(包括线型和线宽)等void CCZM_DrawView:OnDot() m_nDrawType=1;void CCZM_DrawView:OnLine() m_nDrawType=2;void CCZM_DrawView:OnRectangle() m_nDrawType=3;void CCZM_DrawView:OnEllipse() m_nDrawType=4;void CCZM_DrawView:OnLButtonDown(UINT nFlags, CPoint point) m_ptOrigin=point;CView:OnLButtonDown(nFlags, point);void CCZM_DrawView:OnLButtonUp(UINT nFlags, CPoint point) CClientDC dc(this);CPen pen(m_nLineStyle,m_nLineWidth,m_clr);dc.SelectObject(&pen);CBrush*pBrush=CBrush:FromHandle(HBRUSH)GetStockObject(NULL_BRUSH);dc.SelectObject(pBrush);switch(m_nDrawType) case 1: dc.SetPixel(point,m_clr); break; case 2: dc.MoveTo(m_ptOrigin); dc.LineTo(point); break; case 3: dc.Rectangle(CRect(m_ptOrigin,point); break; case 4: dc.Ellipse(CRect(m_ptOrigin,point);break;CView:OnLButtonUp(nFlags, point);void CCZM_DrawView:OnSetting() CSettingDlg dlg;dlg.m_nLineWidth=m_nLineWidth;if(IDOK=dlg.DoModal()m_nLineWidth=dlg.m_nLineWidth;m_nLineStyle=dlg.m_nLineStyle;(3)颜色代码void CCZM_DrawView:OnColor() CColorDialog dlg;if(IDOK=dlg.DoModal()m_clr=dlg.m_cc.rgbResult;四. 软件界面截图1. 主界面(运行结果) 2. About对话框界面任务三 开发一个数据库应用程序一. 软件目标 开发一个数据库软件,能够实现学籍信息管理、学生成绩管理、图书管理、人事管理或财务管理等数据库应用。二. 软件设计1.本软件基于单文档开发模式。2.基本操作流程(1) 利用Microsoft Access 2003创建一个数据库和数据表。 (2) 定义ODBC的数据源。(3) 打开c+程序建立一个基于单文档的应用程序。 (4)对控件进行布局,并设置属性,添加成员变量和消息映射函数。 (5)设计查询记录和编辑记录并插入相关控件显示所有记录。三. 软件实现过程1. 应用Micorosoft Office Access应用程序构造数据库:数据表的有关情况:字段名称数据类型字段大小小数位字段含义studentno文本50无学号course文本8无课程号score文本8无成绩credit文本8无学分成绩表学号(studentno)课程号(corse)成绩(score)学分(credit)210101012112105803210101022112348852.52.构造数据源进入控制面板,双击“管理工具”,然后双击“数据源”,单击“添加”按钮,选择“Microsoft Access Driver”,单击“完成”, 进入指定驱动程序的ODBC Access安装对话框,单击“选择”按钮将前面创建的数据库调入,同时命名数据源的名字。3. 启动Visual C+,创建一个单文档应用程序,并命名文件名,在向导的第2步对话框中加入数据库文件的支持,然后找到第一步中建立的Access文件,将其导入。4.设计浏览记录界面:找到“ResourcesView”点击“Dialog”找到“IDD_CZM_ODBC_FORM”对话框进行控件布局,并添加控件。界面如下:对应的控件如下:添加的控件ID标识符标题其他属性按钮IDC_ QUERY查询默认按钮IDC_ADD添加记录默认按钮IDC_EDIT修改记录默认按钮IDC_DEL删除记录默认添加的控件ID标识符变量名称变量类型编辑框IDC_STUDENTNOm_pSet -m_studentnoint编辑框IDC_CORSEm_pSet- m_corseint编辑框IDC_SCOREm_pSet- m_scoreint编辑框IDC_CREDITm_pSet-m_creditfloat5.设计查询记录 查询按钮所对应的代码如下:void CCZM_ODBCView:OnButtonQuery() / TODO: Add your control notification handler code hereUpdateData();m_strQuery.TrimLeft(); /删除字符串左边的空格及控制字符如(n t 空格等)if (m_strQuery.IsEmpty() MessageBox(要查询的学号不能为空!); return; if (m_pSet-IsOpen() m_pSet-Close(); / 如果记录集打开,则先关闭m_pSet-m_strFilter.Format(studentno=%s,m_strQuery); / studentno是score表的字段名,用来指定查询条件m_pSet-m_strSort = course; / course是score表的字段名,用来按course字段从小到大排序m_pSet-Open(); / 打开记录集if (!m_pSet-IsEOF() / 如果打开记录集有记录 UpdateData(FALSE); / 自动更新表单中控件显示的内容elseMessageBox(没有查到你要找的学号记录!); “添加记录”按钮所对应的代码:void CCZM_ODBCView:OnRecAdd() / TODO: Add your control notification handler code hereCScoreDlg dlg;if(dlg.DoModal()=IDOK)m_pSet-AddNew();m_pSet-m_course=dlg.m_strCourseNO;m_pSet-m_studentno=dlg.m_strStudentNO;m_pSet-m_score=dlg.m_fScore;m_pSet-m_credit=dlg.m_fCredit;m_pSet-Update();m_pSet-Requery; “
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中考化学试题分类汇编:科学探究题(第2期)解析版
- 1 丰富的数据世界教学设计-2025-2026学年初中数学北师大版2024七年级上册-北师大版2024
- 1秋天 教学设计-2024-2025学年语文一年级上册(统编版)
- 2025年天津市河西区中考一模物理试题(解析版)
- 小学语文一遍过单元测试卷(3篇)
- 第一章有理数-单元测试卷-2025-2026学年人教版数学
- 2025年全国汽车驾驶员(技师)职业技能考试题库(含答案)
- 本册综合教学设计-2025-2026学年中职语文拓展模块语文版
- 2025年高考数学二模试题分类汇编(辽宁专用)立体几何与空间向量(解析版)
- 2025年食品企业生产工安全生产知识考试试题及答案
- 婴儿游泳馆卫生管理制度
- 规划违建考试试题及答案
- TSG Q7015-2016起重机械定期检验规则
- 上门服务项目创业计划书
- 药品效期和近效期药品管理
- 《诊断学意识障碍》课件
- 培训主管技能展示
- 《环境设计工程计量与计价》课件-1.什么是装饰工程预算
- 2024年美团电商合作商户合同版
- 砒霜治疗白血病
- 艺术家品牌影响力构建-洞察分析
评论
0/150
提交评论