C++作业武汉科技大学机械学院研究生Word文档格式.docx

上传人:b****5 文档编号:20461628 上传时间:2023-01-23 格式:DOCX 页数:41 大小:2.21MB
下载 相关 举报
C++作业武汉科技大学机械学院研究生Word文档格式.docx_第1页
第1页 / 共41页
C++作业武汉科技大学机械学院研究生Word文档格式.docx_第2页
第2页 / 共41页
C++作业武汉科技大学机械学院研究生Word文档格式.docx_第3页
第3页 / 共41页
C++作业武汉科技大学机械学院研究生Word文档格式.docx_第4页
第4页 / 共41页
C++作业武汉科技大学机械学院研究生Word文档格式.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

C++作业武汉科技大学机械学院研究生Word文档格式.docx

《C++作业武汉科技大学机械学院研究生Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++作业武汉科技大学机械学院研究生Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。

C++作业武汉科技大学机械学院研究生Word文档格式.docx

(1)分别为各个运算符号添加映射函数,并写出相应代码

voidCCalculatorDlg:

:

Onadd()

{

m_operator=1;

}

Onminus()

m_operator=2;

Onmul()

m_operator=3;

Ondivide()

m_operator=4;

Onsquare()

m_operator=5;

Onsin()

m_operator=6;

Oncos()

m_operator=7;

Ontan()

m_operator=8;

Onsqrt()

m_operator=9;

Onlg()

m_operator=10;

Onequal()

UpdateData(TRUE);

switch(m_operator)

case1:

m_result=m_first+m_second;

break;

case2:

m_result=m_first-m_second;

case3:

m_result=m_first*m_second;

case4:

if(m_second==0)

MessageBox("

请输入不等于0的数!

"

"

提醒"

0);

else

m_result=m_first/m_second;

}

case5:

m_result=m_first*m_first;

case6:

m_result=sin(m_first*3.14159/180);

case7:

m_result=cos(m_first*3.14159/180);

case8:

m_result=tan(m_first*3.14159/180);

case9:

if(m_first<

0)

请输入不小于0的数!

m_result=sqrt(m_first);

case10:

=0)

请输入大于0的数!

m_result=log10(m_first);

default:

ERROR;

UpdateData(FALSE);

(2)学生个人信息的映射函数和相应代码如下

Oninformation()

姓名:

李梓响班级:

机械2班学号:

201303703073"

学生基本信息"

四.软件界面截图

1.计算器的主界面,如图1.6所示

图1.6计算器主界面

2.计算器的About对话框界面,如图1.7所示

图1.7计算器的About对话框界面

任务二开发一个画图程序

一软件功能与目标

开发一个画图软件,要求是基于单文档或多文档的应用程序,能绘制点、直线、矩形、圆、椭圆等基本几何图形。

在此基础上扩展多边形、扇形、贝赛尔曲线以及文字输出等功能。

该画图软件还能在状态栏显示当前坐标信息和系统当前时间。

设计基于单文档的画图软件,该画图软件可以实现绘制点、直线、矩形、圆、椭圆等基本几何图形的功能。

同时,在状态栏显示当前坐标信息和时间。

(1)用MFCAppWizard创建一个基于单文档的画图应用程序。

(2)再根据画图软件的要求设计菜单项、子菜单项及相关属性。

(3)在工具条添加如直线、曲线等的图片,方便直接执行画图功能。

(4)在视图类下添加子菜单项中对应的映射函数和代码,添加int型成员变量m_type,CPoint型成员变量m_pOrign。

(5)编译,运行画图程序,实现各种功能。

三实现过程

1.用MFCAppWizard创建一个单文档应用程序,如图2.1.

图2.1基于对话框的应用程序

2.在菜单项下添加图形、线型、颜色、填充菜单及其对应的子菜单,如图2.2所示,图2.2为为菜单项添加工具栏。

图2.2画图软件各菜单项

图2.3为菜单项添加工具栏

(1)图形下面的子菜单项属性设置,直线(&

L)、曲线(&

C)、矩形(&

R)、圆、椭圆(&

O)的ID号分别为ID_LINE,ID_CURVE,ID_RECTANGLE,ID_CIRCLE,ID_OVAL。

直线的属性如图2.4所示

图2.4直线的属性设置

(2)分隔符的属性设置如图2.5所示

图2.5分隔符的属性设置

(3)线型下面的子菜单项属性设置,粗实线、细实线、中心线、虚线的ID号分别为ID_HLINE,ID_TLINE,ID_CLINE,ID_HIDELINE。

粗实线的属性如图2.6所示

图2.6粗实线的属性设置

(4)“颜色”、“填充”下面的子菜单项属性设置,斜线、网格线的ID号分别为ID_SLASH,ID_GLINE。

斜线的属性如图2.7所示

图2.7斜线的属性设置

3.在MFCAppWizard的画图视图类中添加成员函数形成消息映射函数,写主要代码,实现画图功能。

例如给直线添加成员函数OnLine,双击进入书写代码,实现画直线功能,如图2.8所示

图2.8添加直线的成员函数

(1)分别为各个菜单项添加映射函数,并写出相应代码

voidCDrawingView:

OnLine()

{m_type=1;

OnCurve()

{m_type=2;

OnRectangle()

{m_type=3;

OnCircle()

{m_type=4;

OnOval()

{m_type=5;

OnHline()

{}

OnTline()

OnCline()

OnHideline()

OnSlash()

OnGline()

OnLButtonDown(UINTnFlags,CPointpoint)

m_pOrign=point;

CView:

OnLButtonDown(nFlags,point);

OnLButtonUp(UINTnFlags,CPointpoint)

CDC*pDC=GetDC();

CPenmypen;

//定义一个画笔变量

mypen.CreatePen(PS_SOLID,3,RGB(255,0,0));

//创建画笔

//将此画笔选入当前设备环境并保存原来的画笔

CPen*pOldPen=pDC->

SelectObject(&

mypen);

//用此画笔绘图

switch(m_type)

{case1:

pDC->

MoveTo(m_pOrign);

LineTo(point);

case2:

pDC->

Arc(CRect(0,0,100,100),m_pOrign,point);

case3:

Rectangle(CRect(m_pOrign,point));

case4:

Ellipse(CRect(m_pOrign,point));

break;

case5:

Ellipse(m_pOrign.x,m_pOrign.y,point.x,point.y);

OnLButtonUp(nFlags,point);

(2)状态栏显示坐标信息和当前时间,添加映射函数,并写出相应代码

OnMouseMove(UINTnFlags,CPointpoint)

CStringstr;

CMainFrame*pFrame=(CMainFrame*)AfxGetApp()->

m_pMainWnd;

//获得

主窗口指针

CStatusBar*pStatus=&

pFrame->

m_wndStatusBar;

//获得主窗口中的状态栏指针

if(pStatus)

{str.Format("

X=%d,Y=%d"

point.x,point.y);

//格式化文本

pStatus->

SetPaneText(1,str);

//更新第一个窗格的文本

OnMouseMove(nFlags,point);

OnTimer(UINTnIDEvent)

CTimetime=CTime:

GetCurrentTime();

str.Format("

%d:

%d"

time.GetHour(),time.GetMinute(),time.GetSecond());

SetPaneText(2,str);

//更新第二个窗格的文本

OnTimer(nIDEvent);

OnRButtonDown(UINTnFlags,CPointpoint)

SetTimer(1,1000,NULL);

OnRButtonDown(nFlags,point);

(3)菜单项“帮助”下面的学生基本信息,添加映射函数,并写出相应代码

OnAppAbout()

{

四软件界面截图

1.画图软件主界面如图2.9所示

图2.9画图软件主界面

2.菜单项“帮助”下面的About对话框界面显示学生基本信息,如图2.10所示

图2.10About对话框中的学生基本信息

任务三开发一个数据库应用程序

开发一个数据库软件,要求采用ADO数据库接口开发,实现学籍信息管理、学生成绩管理、图书管理、人事管理或财务管理等数据库应用。

设计学生成绩查询的数据库应用程序,该程序结合数据库可以实现查找、增加、修改学生成绩的功能。

(1)用Access数据库建立数据表student,记录学生成绩基本信息

(2)用MFCAppWizard创建一个基于单文档的链接student数据表的学生成绩管理程序。

(3)再根据学生成绩管理软件的要求分别设计3个对话框记录、增加、修改学生信息。

(4)新建两个类CScore1,CScore2分别管理增加、修改学生信息。

在CScore1中添加成员变量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.1score数据表

数据表的字段名、类型、字段大小、含义、主键等信息如表3.2所示

表3.2score数据表信息

字段名称

字段大小

数据类型

含义

主键

studentno

20

文本

学生学号

name

学生姓名

score

长整型

数字

成绩

credit

学分

gender

性别

2.用MFCAppWizard创建一个包含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学生信息的对话框

图3.5添加相关变量

4.相关映射函数的代码如下:

voidCMaoYongNian_3View:

OnButtonQuery()

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData();

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_strSort="

studentno"

;

//course是score表的字段名,用来按course字段从小到大排序

Open();

//打开记录集

if(!

m_pSet->

IsEOF())//如果打开记录集有记录

UpdateData(FALSE);

//自动更新表单中控件显示的内容

elseMessageBox("

没有查到你要找的学号记录!

voidCMaoYongNian_3View:

OnRecAdd()

CScoreDlgdlg;

if(dlg.DoModal()==IDOK)

{

m_pSet->

AddNew();

m_studentno=dlg.m_fstuno;

m_name=dlg.m_fname;

m_gender=dlg.m_fgender;

m_score=dlg.m_fscore;

m_credit=dlg.m_fcredit;

Update();

Requery();

OnRecEdit()

{CScoreDlgdlg;

Edit();

//修改当前记录

//将修改结果存入数据库

}

OnRecDel()

CRecordsetStatusstatus;

GetStatus(status);

//获取当前记录集状态

Delete();

//删除当前记录

if(status.m_lCurrentRecord==0)

MoveNext();

//若当前记录索引号为0(0表示第一条记录)

//则下移一个记录

else

MoveFirst();

//移动到第一个记录处

UpdateData(FALSE);

四界面截图

1.学生成绩信息的主界面如图3.6所示

图3.6About对话框中的学生基本信息

2.菜单项“帮助”下面的About对话框界面显示学生基本信息,如图3.7所示

图3.7菜单项“帮助”中的学生基本信息

任务四开发一个凸轮机构仿真程序

开发一个机构运动仿真软件,可以针对凸轮机构进行模拟仿真。

设计凸轮机构仿真的应用程序,该程序可以设置不同的参数实现凸轮运动功能。

(1)用MFCAppWizard创建一个基于单文档的凸轮机构仿真程序。

(2)插入一个对话框资源,该对话框将来作为凸轮机构的参数输入窗口。

(3)为对话框设置属性,然后在对话框上添加控件为每一个控件设置属性。

(4)为对话框添加一个类。

(5)为对话框中的控件添加相应的成员变量,在主菜单添加顶层菜单项“输入”,弹出菜单项“凸轮机构参数”。

(6)添加消息映射函数,成员函数。

编译,运行凸轮机构仿真程序,实现各种功能。

1.用MFCAppWizard创建一个单文档程序,项目名为“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