VC++课程设计--工资管理.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++课程设计 —5.1工资管理 院系:自动化学院 班级姓名:刘凯强 学号:0910190231 实验内容:工资管理 1.1 程序功能介绍: 这是一个员工工资管理程序。工资管理的数据文件中存储有员工姓名和工资,该程序可以录入、显示、修改、删除、查找员工姓名和工资。 1.2 程序设计要求: 用类的形式改写程序,将程序中工资数据用链表的形式存放,定义一个链表类,封装主要的操作函数。 显示、修改、删除数据项时大小写通用。 工资数据按工资值的大小进行排序存放。 修改、删除数据前增加提示信息,用户确认后才能进一步操作,否则操作取消 增加程序的文件输入输出功能,在执行程序中首先将工资数据从文件中读出再进行管理,在程序结束时能将工资数据保存在原文件中。 源程序结构流程框图与说明 基本数据结构 类: class CList //定义链表类 { protected: CNode *pHead; //链表头结点指针 public: CList(){pHead=0;} //赋值 ~CList(){DeleteList();} //析构函数 void AddNode(CNode *pnode); //在首部添加结点 CNode *DeleteNode(CNode *); //删除一个指定的结点,返回该结点的指针 CNode *LookUp(CSalary ); //查找一个指定的数据,返回该数据所在结点在链表中的指针,若没找到返回0 void ShowList(); //打印整个链表 void DeleteList(); //删除整个链表 CNode *GetListHead(){return pHead;} //返回链表首结点 CNode *GetListNextNode(CNode *); //返回链表指定结点的下一个结点 void Insert(CNode *); //按工资的顺序插入一个结点 }; class CNode //定义结点类 { private: CSalary * pData; //用于指向数据类的指针,这是每个数据的不同部分 CNode *pNext; //指向链表的指针 public: CNode(){pData=0;pNext=0;} //结点类构造函数 CNode(CNode node) //用于拷贝的构造函数 { pData=node.pData; //私有成员的互相赋值 pNext=node.pNext; //私有成员的互相赋值 } void InputData(CSalary *pSal){pData=pSal;} //输入数据 void ShowNode(){pData-Show();} CSalary *GetData(){return pData;} //返回工资地址 friend class CList; //定义链表类为友元类 }; class CSalary //定义数据类 { private: char szName[20]; //存放姓名 double dlSalary; //工资 public: CSalary(){ strcpy(szName,\0);dlSalary=0.0;} //数据初始化 CSalary(char *name,double salary) //构造函数重载 { strcpy(szName,name);dlSalary=salary; //赋值 } void SetSalary(char *,double); //置工资与姓名 double GetSal(){return dlSalary;} //返回工资 int Compare(CSalary ); //比较姓名,供查找用,比较结果为1,0 void Show(); //显示工资 }; 成员函数: void AddNode(CNode *pnode); //在首部添加结点 Node *DeleteNode(CNode *); //删除一个指定的结点,返回该结点的指针 CNode *LookUp(CSalary ); //查找一个指定的数据,返回该数据所在结点在链表中的指针,若没找到返回0 void ShowList(); //打印整个链表 void DeleteList(); //删除整个链表 CNode *GetListHead(){return pHead;} //返回链表首结点 CNode *GetListNextNode(CNode *); //返回链表指定结点的下一个结点 void Insert(CNode *); //按工资的顺序插入

文档评论(0)

li455504605 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档