软件编程实训1
指导书
优集学院 制造业信息化系
《软件编程实训1》指导书
一、实训目的
1. 巩固并加深学生对C++语言程序设计知识的理解;
2. 培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;
3. 进一步掌握和应用VC++ 6.0或Visual Studio 2005集成开发环境;提高程序调试的能力,能够快速准确的排查程序错误并纠正,最终调试出可正确运行的程序; 4. 提高运用C++语言解决实际问题的能力;
5. 初步掌握开发小型实用软件的基本方法,能独立设计、实现基本功能的小系统; 6. 掌握应用程序设计开发和文档撰写规范。
二、实训任务
每位学生从所给定的题目里面选择两个感兴趣的题目作为实训任务,另外也可自定题目,需经指导老师同意后方可作为实训任务。 1、万年历程序设计 程序功能及实现技术要求:
①. 程序主要实现3个功能:显示某一年的每个月的日历、显示某一年某一个月的日
历以及查询某一天是星期几。 ②. 功能选择用菜单实现。例如:
1 显示某一年的日历 2 显示某年某一月的日历 3 显示某一天是星期几 0 退出
用户通过输入不同的数字进入不同的菜单。
③. 每一月以日历表格的形式显示,表格的第一行显示星期,表格的内容是每一天。 用户可以很容易看到每一天是星期几。
④. 利用输入输出函数和循环控制语句,实现一个简单的人机交互界面。 ⑤. 利用逻辑表达式,使用控制语句,判断闰年,某年某月某日是星期几。 ⑥. 实现对显示结果进行控制。
1
2、公司职员的信息管理程序设计 程序功能及实现技术要求:
①. 本程序实现的功能是增加职员信息、查找职员信息、浏览所有的职员信息、删除
职员信息。功能结构图如下图所示:
公司职员信息管理程序
增加职员信息 查找职员信息 浏览职员信息 删除职员信息 ②. 功能选择可以用菜单实现。用户根据自己不同的选择进入不同的菜单。
③. 程序可以用指针与数组或者链表实现,信息不要求保存到文件中。若用数组实现,
程序开始时数组内容为空,用户需要先增加职员信息,之后才能实现查找、删除等功能。
④. 职员信息的关键字是职员的员工号,加入时职员号重复的记录不能加入。查找、
删除按照职员号进行操作。
⑤. 选做功能:将职员信息存储到文件中。 3、集合类程序设计
集合的概念 在数学中,我们把具有某些共同特征的元素构成的一个整体称为集合。 一个集合就是由同一种有序类型的一组数据元素所组成的,这一种有序类型称为该集合的基类型。
设计一个集合类numSet,存放有序的整型数序,其中的元素按从小到大的顺序排列并且不包含相同的元素。 程序功能及实现技术要求:
①. 集合中的元素可用数组存放,也可用链表存放。
②. 构造函数要求:能够通过从键盘上输入数据的形式,给集合中各元素赋值。 ③. 能够将集合置空、向集合中增加元素(过滤重复数据)并保持有序。 ④. 能从集合中查找数据元素是否在集合中。 ⑤. 能从集合中删除某个指定元素。
⑥. 能显示集合中元素个数、显示集合中的全部元素。 ⑦. 能将集合元素逆置。
⑧. 能实现两个集合的+相并。
2
⑨. 能实现两个集合的×相交。 ⑩. 能实现两个集合的-差集。
?. 在主函数中实现上述功能(创建对象,将集合置空、输入集合中元素,显示元素及
个数,能增、删元素,将集合中元素逆置,实现集合并、交、差),另外创建一个拷贝构造函数,并使用一些数据进行测试。 4、特殊计算器程序设计 程序功能及实现技术要求:
①. 程序的功能是实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特
殊运算。其中,可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现两个集合的求交集、并集和判断一个集合是否是另一个集合的子集的运算。 基本功能图如下图所示:
特殊运算器程序复数运算基本功能(加法、减法、乘法、除法)有理数运算基本功能(加法、减法、乘法、除法)矩阵运算集合运算基本功能(加基本功能(交法、减法、乘集、并集、子法)集)
②. 功能选择可以用菜单实现。例如: 1 复数计算 2 有理数计算 3 矩阵计算 4 集合计算 0 退出
用户通过输入不同的数字进入不同的菜单。
③. 运行时给出明确的提示信息,比如,输入一个什么类型的数据。根据用户的输入
计算出结果。
④. 使用运算符重载实现各种特殊的计算。
三、系统设计与实现
3
(一)详细开发步骤及时间分配
以一个课题的设计流程为例: 序号 1 2 3 4 5 6 选题 需求分析 概要设计 详细设计 编码 集成调试 内容 具体要求 根据自己的学习能力和参考资料选择适当的课题,并报课代表处统计。 明确系统需求,画出功能结构图,对系统功能进行详细描述。 明确系统运行环境、开发环境;进行整体设计。 时间分配 0.5天 0.5天 0.5天 类设计、界面设计,分析各部分实现方法。 1天 实现各类代码编写。 系统各模块集成调试 2天 0.5天 (二)程序设计指导
1、万年历程序设计
公元计年从1年1月1日开始,这天是星期一(也可以以其它日期作为比照,如1900年1月1日是星期一)。平年一年365天,闰年366天,通过除以7取余数可以计算给定的某天推移到了星期几。计算某年的日历则要首先计算该年的元旦是星期几,计算某月的日历则要首先计算该月1号是星期几,然后进行显示控制,依次输出日历。 运行结果图参考:
4