c ++我应该制作多少个课程?

时间:2015-07-22 05:44:35

标签: c++ class

我正在练习课程,我的任务是创建员工管理系统。我给了两个.txt文件。 One(details.txt)包含每个员工的详细信息,其中包含以下信息:ID,名称,DOB,SSN,部门和职位。该文件的示例如下所示:

  

5 ali 6/24/1988 126-42-6989支持助手

     

13 tim 2/10/1981 131-12-1034物流经理

另一个.txt(timelog.txt)将包含员工进入和退出时的每日日志。此文件的以下格式为:ID,日期,时钟和时钟输出时间。样品:

  

5 3/11 0800 1800

     

13 3/11 0830 1830

首先,我允许用户按ID,姓名,部门或职位搜索员工。这样做将显示所有员工信息(多名员工,如果他们具有相同的名称,职位或来自同一部门),并显示他们在公司工作的总小时数。

其次,将为用户提供另一个选项,以按ID号查找员工时间日志。这将显示该员工的整个时钟输入/退出历史记录以及每天的总工作小时数。

我打算通过ifstream读取.txt文件中的信息,并将它们存储为一个对象数组。我只是想知道我应该创建多少个类。我正在考虑2个班级 - 一个用于员工信息(来自details.txt),另一个用于时间日志(timelogs.txt)。我还应该创建其他课程吗?或者这两个课程是否足够?

1 个答案:

答案 0 :(得分:3)

简短回答:至少两个。

答案很长:这取决于很多事情。特别是您可以识别为可重用的代码部分。

如果您要求尽可能多的课程可以完成您的任务,我会想到一个课程:

  • 员工
  • EmployeeManager(工厂,持有人等) - 创建,保留和删除Employee对象,提供搜索功能
  • DayWork - 来自timelog.txt的一行,可以计算当天工作所花费的小时/分钟数
  • WorkLog - 一名员工的DayWork对象列表,可以计算整个花费的时间
  • TextLineParser - 封装std::ifstream

正确的答案很可能介于两者之间。请记住,C ++是一种多范式语言,您可以在没有类的情况下执行某些操作。相反,它们可以在类似C的单元中的函数或一组函数中执行。这对于功能不共享公共数据(潜在属性)的一次性操作特别有用。