windows软件开发实习实验报告.docx

上传人:b****1 文档编号:1779532 上传时间:2022-10-24 格式:DOCX 页数:45 大小:212.61KB
下载 相关 举报
windows软件开发实习实验报告.docx_第1页
第1页 / 共45页
windows软件开发实习实验报告.docx_第2页
第2页 / 共45页
windows软件开发实习实验报告.docx_第3页
第3页 / 共45页
windows软件开发实习实验报告.docx_第4页
第4页 / 共45页
windows软件开发实习实验报告.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

windows软件开发实习实验报告.docx

《windows软件开发实习实验报告.docx》由会员分享,可在线阅读,更多相关《windows软件开发实习实验报告.docx(45页珍藏版)》请在冰豆网上搜索。

windows软件开发实习实验报告.docx

windows软件开发实习实验报告

 

实验报告

 

课程名称:

windows软件开发实习

实验项目:

科学计算器

 

实验报告

(适用计算机程序设计类)

实验名称:

1.实验目的:

本程序设计实践是采用C++语言,在VC平台下设计。

本课程设

计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力。

程序设计实践主要是培养学生利用系统综合C++语言进行程序设计的能力。

1.进一步巩固和复习C++程序设计的基础知识。

2.培养学生结构化程序、模块化程序设计的方法和能力。

3.了解软件的编制过程及各环节的具体内容。

4.提高学生程序调试技巧、软件设计能力和代码规范化等素质。

5.提高学生分析问题、解决问题以及实际运用能力。

2.实验内容:

设计一个简单的计算器。

要求能实现整数、小数算数运算。

程序带

清零按钮。

3.实验方案(程序设计说明)

见附件

 

4.实验步骤或程序(经调试后正确的源程序)

(填写主要步骤与程序代码等。

见附件A)

 

5.出现的问题及解决方法

附件A实验报告

(适用计算机程序设计类)

实验步骤或程序:

一、关于VisualC++:

VisualC++6.0由Microsoft开发,它不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。

VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。

这些组件通过过一个名为DeveloperStudio的组件集成为和谐的开发环境。

Microsoft的主力软件产品。

VisualC++是一个功能强大的可视化软件开发工具。

自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的

首选工具。

虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。

所以实际中,更多的是以VisualC++6.0为6平台。

VisualC++6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。

比如,它允许用户进行远程调试,单步执行等。

还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。

其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。

这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。

二、设计要点

1、基本要求:

设计的系统界面要美观大方,操作合理,有必要的

提示。

2、创新要求:

在基本要求达到后,进行创新设计。

3、对系统进行功能模块分析、控制流程分析正确。

4、系统设计要实用,编程简练,可用,功能全面,并有一定的容错

能力。

5、说明书、流程图要清楚

6、要求程序设计合理,用户界面良好,如采用菜单工作方式。

三、实验步骤:

1、首先利用MFCAppWinzard生成计算器应用程序框架具体步骤如下:

执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFCAppWizard(exe)选项,然后在Projectname文本框中输入cyyJSQ。

Lacation文本框是指项目的本地路径。

2、界面设计

在界面中添加按钮,编辑框等相应控件,并合理摆放,使用户能更加方便的使用。

具体设计如下图所示:

 

 

3、绑定控件

通过如下方式绑定控件。

具体绑定如下表所示:

按钮控件资源清单

按钮名称

按钮ID

用途

0

IDC_ZERO

按键0

1

IDC_1

按键1

2

IDC_2

按键2

3

IDC_3

按键3

4

IDC_4

按键4

5

IDC_5

按键5

6

IDC_6

按键6

7

IDC_7

按键7

8

IDC_8

按键8

9

IDC_9

按键9

.

IDC_DOT

小数点

=

IDC_Equal

等于

+

IDC_ADD

加号

-

IDC_SUB

减号

*

IDC_MUL

乘号

/

IDC_DIV

除号

CE

IDC_CE

清屏

Sqrt

IDC_Sqrt

开方

1/x

IDC_Daoshu

倒数

-/+

IDC_ZHengfu

正负

MC

IDC_Mc

清除内存记录数据

MR

IDC_Mr

内存中保存的数据

MS

IDC_Ms

数据存入存储器中,将原有的数据冲走

M+

IDC_Madd

当前记录数据与内存数据相加

%

IDC_Per

百分号

C

IDC_C

清零(清除全部)

CE

IDC_CE

清除上一步数据

Backspace

IDC_Backspace

从后向前删除

4、逐步实现代码

①按钮1-9的实现

文本编辑框的类型为string型,所以若按下数字1按钮时只需在数组尾部添加“1”即可

其他代码如此类推,具体代码如下:

voidCMyDlg:

:

OnButton0()

{

//数字0

this->check();

CStringtmp=num_buffer;

//当为小数点后或其前面有不为零的数时允许输入零

if(tmp.ReverseFind('.')!

=-1||tmp.FindOneOf("123456789")!

=-1)

{

num_buffer+="0";

}

else

{

num_buffer="0";

}

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton1()

{

//数字1

this->check();

num_buffer+="1";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton2()

{

//数字2

this->check();

num_buffer+="2";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton3()

{

//数字3

this->check();

num_buffer+="3";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton4()

{

//数字4

this->check();

num_buffer+="4";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton5()

{

//数字5

this->check();

num_buffer+="5";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton6()

{

//数字6

this->check();

num_buffer+="6";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton7()

{

//数字7

this->check();

num_buffer+="7";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton8()

{

//数字8

this->check();

num_buffer+="8";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButton9()

{

//数字9

this->check();

num_buffer+="9";

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

voidCMyDlg:

:

OnButtonDot()

{

//小数点

if(num_buffer.IsEmpty())

{

num_buffer="0.";

}

elseif(num_buffer.ReverseFind('.')==-1)

{

num_buffer+=".";

}

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

//求相反数

voidCMyDlg:

:

OnButtonNI()

{

//正负处理

m_num=-atof(num_buffer);

//转化为字符串

num_buffer.Format(_T("%lf"),m_num);

GetDlgItem(IDC_EDIT_SHOW)->SetWindowText(num_buffer);

}

 

运行结果如下:

 

②加减乘除代码的实现:

通过控件的绑定以及传值函数,以指针调用的方式进行赋值,并将结果保存在num_buffer中,与下一次输入的num2进行新的一元运算并给result赋值,通过Updatedata()函数反应到文本编辑框中,具体代码如下:

//加

voidCMyDlg:

:

OnButtonAdd()

{

this->num1=atof(num_buffer);

this->num_buffer.Empty();

this->operation_type=ADD;

}

//减

voidCMyDlg:

:

OnButtonSub(){

this->num1=atof(num_buffer);

this->num_buffer.Empty();

this->operation_type=SUB;}

//乘

voidCMyDlg:

:

OnButtonMul(){

this->num1=atof(num_buffer);

this->num_buffer.Empty();

this->operation_type=MUL;}

//除

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

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

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