《程序综合实验》实验指导书
适用实验课时:20
适用对象:计算机科学与技术专业
网络工程专业 软件工程专业 物联网工程专业
实验目的和内容
《程序综合实验》是计算机专业的公共实践环节,课程开设的目的是为了提高学生对C语言程序设计、面向对象程序设计、离散数学、数据结构等程序设计相关知识的综合运用能力,加强其程序设计、编程、调试等软件开发的综合实践能力。
课程通过设计综合性实验题目,引导学生对程序设计相关知识的综合运用,锻炼程序实现能力。通过小组讨论、成果展示等丰富的实验环节,锻炼学生的沟通能力和表达能力,为培养学生的创新精神和大型软件开发能力打下基础。
实验分为三个部分,第一部分锻炼可视化编程能力,第二部分锻炼面向对象与文件存储的设计与实现能力,第三部分锻炼离散结构、算法设计与实现能力,总的实验学时为20课时。
要求每个学生独立完成三个基本实验的设计和编程实现,并将实验题目的分析、设计和实现形成完整的实验报告,并进行成果展示。 实验项目及学时分配 序项目名称 号 实验内容提要 学时分配 1 计算器设计6 与实现 设计并实现运用可视化一个四则运编程 算计算器 2 简单文本编6 辑器设计与实现 3 通讯录管理6 程序设计与设计并实现运用可视化一个简单的编程 文本编辑器 设计并实现掌握面向对一个简单的象编程与文上机 上机 上机 实验要求 实验设备每组备注 类型 台套人数 数 1台/组 1-2选1 1 1台/组 1台/组 1 1 3-4选1 实现 通讯录管理件存储 程序 4 成绩管理程6 序设计与实现 设计并实现掌握面向对一个简单的象编程与文成绩管理程件存储 序 上机 1台/组 1 5 超市选址问8 题 选择建立超数据结构、市的最佳位算法设计与置,使n个居实现 民点到超市的距离总和最小 上机 1台/组 1 5-6选1 6 拯救大兵瑞8 恩 设计找到迷数据结构、宫中存放钥算法设计与匙单元,营救实现 瑞恩 上机 1台/组 1 合计 20 实验一 计算器设计与实现
一、实验目的与要求
实验目的:锻炼可视化编程能力 实验要求:
1熟悉VC++编程环境。
2运用C++程序设计知识对实验题目进行分析和设计。 3进行程序编写和调试工作。 二、实验内容
使用MFC框架在Visual Studio 6.0环境下编写一个简易的计算器,能实现简单的加、减、乘、除四则运算,并加入特定的一些效果,如使计算器的颜色在红色,绿色和蓝色之间轮流变换等。完成诸如计算器对话框的创建、控件编辑、界面设计、关键功能的实现等工作。 三、实现方法
1、设计界面。创建一个对话框,在对话框中添加文本框用来显示计算结果,按钮:0-9、小数点、+、-、*、/、=等。 2、实现各个按钮的功能。
3、实现简单的算术四则运算语法分析,保证正确的计算结果。 4、实现颜色的变换。 四、参考资料
1、 对于常规的计算器来说,只有一个输入和显示窗口(edit控件),而二元运算需要保存2个操作数,因此,需要手动添加2个数据成员并在构造函数中初始化,用于保存2个操作数
2、 为了区分用户当前输入的是第一操作数还是第二操作数,设置标识变量数据成员flag。其为0表示当前输入的是第一操作数,为1表示的是第二操作数。该通常是在用户点击加、减、乘、除等运算按钮时发生变化。
3、 控件与数据成员之间的数据交换,即把用户通过控件输入的数据传给数据成员,把保存在数据成员中的计算结果显示在控件中。 UpdateData(true); ???????. //your code ??????? UpdateData(false);
4、 计算器输入框对应的数据成员类型:1)double 2)CString 5、 输入框对应的数据成员类型为Double类型 1)Double类型操作数的构造 基本规则:
整数部分:当前操作数 = 上一次获取的操作数 * 10 + 当前点击按钮 小数部分:当前操作数 = 上一次获取的操作数 * 0.1+ 当前点击按钮 由于操作数要显示在eidt控件中,故最终是赋值给edit控件。此外,操作数最终要保存在新手动增加的2个数据成员中,因此
m_a = m_1 * 10 + 当前按钮对应的数值 或 m_a = m_2* 10 + 当前按钮对应的数值,取决于当前是输入第一操作数还是第二操作数 保存这一次获取的操作数给相关数据成员,即 m_1 = m_a; or m_2 = m_a;
2)、“+”等运算符相关操作:事实上是在等号关联成员函数中进行实际的计算,因此点击运算符的主要功能是记录当前点击的操作符是那个,另外一个功能是意味着之后输入的是第二操作数,即改变flag的值。Eidt控件