ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:2.21MB ,
资源ID:7352556      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7352556.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++作业武汉科技大学机械学院研究生.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++作业武汉科技大学机械学院研究生.docx

1、C+作业武汉科技大学机械学院研究生姓 名: 班 级: 学 号: 完成日期: 2014.02 武汉科技大学机械自动化学院任务一 开发一个计算器程序一 软件功能开发一个计算器软件,要求是基于对话框的应用程序,至少具有加、减、乘、除四个基本功能。在此基础上扩展平方、开方、三角函数等功能。对话框是最重要的用户界面元素之一,是与用户交互的重要手段,可用于捕捉用户的输入信息或数据。通过计算器软件开发,主要培养学生熟悉使用C+编写基于对话框的应用程序,同时学会将所学知识运用于计算器界面的实际案例中,增进对C+认识和运用。二 软件设计设计基于对话框的计算器软件,该计算器软件可以实现加、减、乘、除、平方、开方、

2、正弦、余弦、正切、对数函数的功能。基本操作流程如下: (1) 用MFC AppWizard 创建一个基于对话框的应用程序。(2) 再根据“计算器”的要求设计对话框的相关属性。 (3) 添加和布局所需类型的控件,如组框、按钮、编辑框、静态文本等,并对各种控件进行属性设置(如ID号等)和布局安排。(4) 在创建基本对话框时,一个基于对话框资源模板的对话框类CCalculatorDlg就创建好了。(5) 添加对话框映射函数和代码,添加成员变量m_first,m_second,m_result, m_operator (6) 编译,运行计算器软件程序,实现各种功能。 三 软件实现过程1. 用MFC A

3、ppWizard 创建一个基于对话框的应用程序,如图1.1 所示图 1.1 基于对话框的应用程序2. 添加对话框,并布局对话框上的控件,设置各个控件的属性,如图1.2所示图1.2 基于对话框的计算器界面(1) 设置“迷你计算器”的属性,如图1.3所示图1.3 “迷你计算器”的属性(2)设置输入的两个数的ID号分别为IDC_first,IDC_second, 结果输出数的ID号为IDC_result, 如图1.4所示图1.4 第一个输入数的属性(3) 运算符号加、减、乘、除、平方、开方、正弦、余弦、正切、对数函数、等号的ID号分别为IDC_add,IDC_minus,IDC_mul,IDC_di

4、vide,IDC_square,IDC_sqrt, IDC_sin,IDC_cos,IDC_tan,IDC_lg,IDC_equal。学生个人信息的ID号为IDC_information。“加”的属性如图1.5所示.图1.5 “加”的属性(4) 添加成员变量m_first,m_second,m_result, m_operator。变量的类型分别为double,double,double,int。3. 添加消息映射函数,写主要代码 (1) 分别为各个运算符号添加映射函数,并写出相应代码void CCalculatorDlg:Onadd() m_operator=1; void CCalcula

5、torDlg:Onminus() m_operator=2; void CCalculatorDlg:Onmul() m_operator=3; void CCalculatorDlg:Ondivide() m_operator=4; void CCalculatorDlg:Onsquare() m_operator=5; void CCalculatorDlg:Onsin() m_operator=6; void CCalculatorDlg:Oncos() m_operator=7; void CCalculatorDlg:Ontan() m_operator=8; void CCalcu

6、latorDlg:Onsqrt() m_operator=9; void CCalculatorDlg:Onlg() m_operator=10; void CCalculatorDlg:Onequal() UpdateData(TRUE); switch (m_operator) case 1 : m_result=m_first+m_second ;break; case 2 : m_result=m_first-m_second ;break; case 3 : m_result=m_first*m_second ;break; case 4 : if(m_second=0) Messa

7、geBox(请输入不等于0的数!,提醒,0); else m_result=m_first/m_second ;break; case 5 : m_result= m_first*m_first;break; case 6 : m_result=sin(m_first*3.14159/180);break; case 7 : m_result=cos(m_first*3.14159/180);break; case 8 : m_result=tan(m_first*3.14159/180);break; case 9 : if(m_first0) MessageBox(请输入不小于0的数!,提

8、醒,0); else m_result=sqrt(m_first);break; case 10 : if(m_firstSelectObject( &mypen );/ 用此画笔绘图switch(m_type) case 1: pDC-MoveTo(m_pOrign); pDC-LineTo(point);break; case 2: pDC-Arc(CRect(0,0,100,100), m_pOrign,point);break; case 3: pDC-Rectangle(CRect(m_pOrign,point);break; case 4: pDC-Ellipse(CRect(m_

9、pOrign,point); break; case 5: pDC-Ellipse(m_pOrign.x,m_pOrign.y,point.x,point.y); break; default: ERROR; CView:OnLButtonUp(nFlags, point); (2) 状态栏显示坐标信息和当前时间,添加映射函数,并写出相应代码void CDrawingView:OnMouseMove(UINT nFlags, CPoint point) CString str; CMainFrame* pFrame=(CMainFrame*)AfxGetApp()-m_pMainWnd; /

10、获得主窗口指针CStatusBar* pStatus=&pFrame-m_wndStatusBar; / 获得主窗口中的状态栏指针if (pStatus) str.Format(X=%d, Y=%d,point.x, point.y); / 格式化文本pStatus-SetPaneText(1,str); / 更新第一个窗格的文本 CView:OnMouseMove(nFlags, point); void CDrawingView:OnTimer(UINT nIDEvent) CString str; CTime time=CTime:GetCurrentTime(); str.Format

11、(%d:%d:%d, time.GetHour(),time.GetMinute(),time.GetSecond(); CMainFrame* pFrame=(CMainFrame*)AfxGetApp()-m_pMainWnd; CStatusBar* pStatus=&pFrame-m_wndStatusBar; if (pStatus) pStatus-SetPaneText(2,str); / 更新第二个窗格的文本CView:OnTimer(nIDEvent); void CDrawingView:OnRButtonDown(UINT nFlags, CPoint point) Se

12、tTimer(1,1000,NULL); CView:OnRButtonDown(nFlags, point); (3) 菜单项“帮助”下面的学生基本信息,添加映射函数,并写出相应代码void CDrawingView:OnAppAbout() MessageBox(姓名:李梓响 班级:机械2班 学号:201303703073,学生基本信息,0); 四 软件界面截图1. 画图软件主界面如图2.9所示图2.9 画图软件主界面2. 菜单项“帮助”下面的About对话框界面显示学生基本信息,如图2.10所示图2.10 About对话框中的学生基本信息任务三 开发一个数据库应用程序一 软件功能与目标开

13、发一个数据库软件,要求采用ADO 数据库接口开发,实现学籍信息管理、学生成绩管理、图书管理、人事管理或财务管理等数据库应用。二 软件设计设计学生成绩查询的数据库应用程序,该程序结合数据库可以实现查找、增加、修改学生成绩的功能。基本操作流程如下: (1)用Access 数据库建立数据表student,记录学生成绩基本信息(2)用MFC AppWizard 创建一个基于单文档的链接student数据表的学生成绩管理程序。(3)再根据学生成绩管理软件的要求分别设计3个对话框记录、增加、修改学生信息。(4)新建两个类CScore1,CScore2分别管理增加、修改学生信息。在CScore1中添加成员变

14、量float型m_zcredit; CString型m_zgender; CString型m_zname; float型m_zscore; CString型m_zstudent; 在CScore2中添加成员变量float型m_xcredit; CString型m_xgender; CString 型m_xname; Float型m_xscore; CString型m_xstudentno; (5)编译,运行数据库应用程序,实现各种功能。三 软件实现过程1.用Access数据库建立数据表score,如下表3.1所示表3.1 score数据表数据表的字段名、类型、字段大小、含义、主键等信息如表3.

15、2所示表3.2 score数据表信息字段名称字段大小数据类型含义主键studentno20文本学生学号是name20文本学生姓名否score长整型数字成绩否credit长整型数字学分否gender20文本性别否2. 用MFC AppWizard 创建一个包含Access数据库的单文档应用程序,如图3.1所示图3.1 建包含数据库的单文档程序3. 添加对话框,并布局对话框上的控件(1) 记录学生信息对话框,如图3.2所示图3.2学生信息对话框(2)为按钮添加相关的ID,如图3.3所示 图3.3按钮添加相关的ID(3) 增加学生信息的对话框,并添加相关变量,如图3.4和3.5所示:图3.4学生信息

16、的对话框图3.5添加相关变量4.相关映射函数的代码如下: void CMaoYongNian_3View:OnButtonQuery() / TODO: Add your control notification handler code here UpdateData(); m_strQuery.TrimLeft(); /删除字符串左边的空格及控制字符如(n t 空格等) if (m_strQuery.IsEmpty() MessageBox(要查询的学号不能为空!); return; if (m_pSet-IsOpen() m_pSet-Close(); / 如果记录集打开,则先关闭 m_

17、pSet-m_strFilter.Format(studentno=%s,m_strQuery); / studentno是score表的字段名,用来指定查询条件 m_pSet-m_strSort = studentno; / course是score表的字段名,用来按course字段从小到大排序 m_pSet-Open(); / 打开记录集 if (!m_pSet-IsEOF() / 如果打开记录集有记录 UpdateData(FALSE); / 自动更新表单中控件显示的内容 else MessageBox(没有查到你要找的学号记录!);void CMaoYongNian_3View:OnR

18、ecAdd() / TODO: Add your control notification handler code here CScoreDlg dlg; if(dlg.DoModal()=IDOK) m_pSet-AddNew(); m_pSet-m_studentno=dlg.m_fstuno; m_pSet-m_name=dlg.m_fname; m_pSet-m_gender=dlg.m_fgender; m_pSet-m_score=dlg.m_fscore; m_pSet-m_credit=dlg.m_fcredit; m_pSet-Update(); m_pSet-Requer

19、y();void CMaoYongNian_3View:OnRecEdit() CScoreDlg dlg; if(dlg.DoModal()=IDOK) m_pSet-Edit(); / 修改当前记录 m_pSet-m_studentno=dlg.m_fstuno; m_pSet-m_name=dlg.m_fname; m_pSet-m_gender=dlg.m_fgender; m_pSet-m_score=dlg.m_fscore; m_pSet-m_credit=dlg.m_fcredit; m_pSet-Update(); / 将修改结果存入数据库 m_pSet-Requery();

20、 void CMaoYongNian_3View:OnRecDel() CRecordsetStatus status; m_pSet-GetStatus(status); / 获取当前记录集状态 m_pSet-Delete(); / 删除当前记录 if (status.m_lCurrentRecord=0) m_pSet-MoveNext(); / 若当前记录索引号为0(0表示第一条记录) /则下移一个记录 else m_pSet-MoveFirst(); / 移动到第一个记录处 UpdateData(FALSE);四 界面截图1. 学生成绩信息的主界面如图3.6所示图3.6About对话框

21、中的学生基本信息2. 菜单项“帮助”下面的About对话框界面显示学生基本信息,如图3.7所示图3.7 菜单项“帮助”中的学生基本信息任务四 开发一个凸轮机构仿真程序一 软件功能与目标开发一个机构运动仿真软件,可以针对凸轮机构进行模拟仿真。二 软件设计设计凸轮机构仿真的应用程序,该程序可以设置不同的参数实现凸轮运动功能。基本操作流程如下: (1) 用MFC AppWizard 创建一个基于单文档的凸轮机构仿真程序。(2) 插入一个对话框资源,该对话框将来作为凸轮机构的参数输入窗口。(3) 为对话框设置属性,然后在对话框上添加控件为每一个控件设置属性。(4) 为对话框添加一个类。(5) 为对话框

22、中的控件添加相应的成员变量,在主菜单添加顶层菜单项“输入”,弹出菜单项“凸轮机构参数”。(6) 添加消息映射函数,成员函数。编译,运行凸轮机构仿真程序,实现各种功能。三 软件实现过程1. 用MFC AppWizard 创建一个单文档程序,项目名为“TuLun”,如图4.1所示图4.1 建立单文档凸轮机构仿真程序2. 插入一个对话框资源,用来作为凸轮机构的参数输入窗口,如图4.2所示。图4.2 凸轮参数输入对话框3. 在参数输入对话框上右键点击,弹出属性对话框,设定其ID号为IDD_PARAMETER,设定其标题Caption为“凸轮参数输入”。然后在对话框上添加控件如下图所示,为每一个控件指定ID号。推程运动规律 一组单选钮:IDC_TUI_1;IDC_TUI_2;IDC_TUI_3;IDC_TUI_4 回程运动规律 一组单选钮:IDC_HUI_1;IDC_HUI_2;IDC_HUI_3;IDC_HUI_4 推程角:IDC_TUI_ANGL;回程角:IDC_HUI_ANGLE;远停角:IDC_FAR_REST_ANGLE 基圆半径:IDC_BASE_CIRCLE; 行 程:IDC_COURSE;偏距:IDC_SETOVER 推杆滚子半径:IDC_ROLLER_RADIUS;凸轮转动速度:IDC_CAM_VELOCITY 4. 为对话框添加一个类:在对话框的空白

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1