C++作业武汉科技大学机械学院研究生Word文档格式.docx
- 文档编号:20461628
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:41
- 大小:2.21MB
C++作业武汉科技大学机械学院研究生Word文档格式.docx
《C++作业武汉科技大学机械学院研究生Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++作业武汉科技大学机械学院研究生Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
(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.为对话框添加一个类:
在对话框的空白
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 作业 武汉 科技大学 机械学院 研究生
![提示](https://static.bdocx.com/images/bang_tan.gif)