| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 882 人关注过本帖
标题:[求助]我刚学VC++老师给了题不会做,请大家指教
只看楼主 加入收藏
miao0o
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-5-30
收藏
 问题点数:0 回复次数:5 
[求助]我刚学VC++老师给了题不会做,请大家指教
将使用抽象类的“现代企业人事管理、工资管理系统”的OOP设计(完成04.CPP):抽象基类Employee的派生类有:经理类Boss(有固定工资),销售员类CommissionWorker(基本工资加销售提成),计件工类(计件工资)Piecework,计时工类HourlyWorker(计时工资加加班费)
搜索更多相关主题的帖子: VC 老师 指教 
2007-10-11 20:59
Whnight
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-14
收藏
得分:0 
不就是四个类吗?
它们都继承自Employee,学过继承这部分的话,要设计出这四个类的框架应该不难。
2007-10-12 08:21
dapao12
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-9-17
收藏
得分:0 

应该不是很难

2007-10-12 23:46
miao0o
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-5-30
收藏
得分:0 

快帮帮我呀,谢谢大家

2007-10-13 22:11
风致
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-9-22
收藏
得分:0 

工资管理系统
#include <iostream>
#include <string>
#define MaxHEAP 100
using namespace std;
class Elem{
private:
int objectID;
int priority;
string proName;
public:
Elem(int objectID=0,int priority=0){
setID(objectID);
setPri(priority);
setProN(proName);
}
int getID(){
return objectID;
}
int getPri(){
return priority;
}
string getProN(){
return proName;
}
void setID(int id){
objectID=id;
}
void setPri(int pri){
priority=pri;
}
void setProN(string s)
{
proName=s;
}

};
class Heap
{
private:
Elem items[MaxHEAP];
int size;
public :
Heap(){
Elem items[MaxHEAP];
setSize(0);}
void setSize(int sz)
{size=sz;}

int heapIsEmpty(){
return size==0;
}
void heapInsert(Elem newItem)
{if(size<MaxHEAP)
{
items[size]=newItem;
int place=size;
int parent=(place-1)/2;
while((parent>=0)&&(items[parent].getPri()<items[place].getPri()))
{
Elem temp=items[parent];
items[parent]=items[place];
items[place]=temp;
place=parent;
parent=(place-1/2);
}
++size;
}
heapRebuild(0);
}
Elem heapDelete(int ID)
{
Elem rootItem;
if(!heapIsEmpty())
{
for(int i=0;i<size;i++)
if(items[i].getID()==ID)
{rootItem=items[i];
swap(items[i],items[0]);
}
items[0]=items[--size];
heapRebuild(0);
}
else cout<<"\n错误:目录为空"<<endl;
return rootItem;
}
void heapInit(){
setSize(0);
cout<<"空的项目"<<endl;}
void heapView(){
if(size==0){
cout<<"空的项目!"<<endl;
}
else{
cout<<"共有项目数: "<<size<<endl;
for(int ct=0;ct<size;ct++){
cout<<"ID: "<<items[ct].getID()<<" 优先级: "<<items[ct].getPri()
<<" 工资数目: " <<items[ct].getProN()<<endl;
}
}
}
void search(int ID)
{ int N=0;
for(int i=0;i<size;i++)
if(items[i].getID()==ID)
{N++;
cout<<"ID: "<<items[i].getID()<<" 优先级: "<<items[i].getPri()
<<" 名称: " <<items[i].getProN()<<endl; }
if(!N) cout<<"未找到匹配的ID"<<endl;
}

void heapRebuild(int root)
{
int child=2*root+1;
if(child<size)
{
int rightChild=child+1;
if((rightChild<size)&&(items[rightChild].getPri()>=items[child].getPri()))
{child=rightChild;
}
if(items[root].getPri()<=items[child].getPri())
{
Elem temp=items[root];
items[root]=items[child];
items[child]=temp;
heapRebuild(child);
}
}
}
};
class priQueue
{private:
Heap h;
public:
priQueue(){
Heap();
}
int priIsEmpty(){
return h.heapIsEmpty();
}
void priInit(){
h.heapInit();
}
void priInsert(Elem newItem){
h.heapInsert(newItem);
}
Elem priDelete(int ID){
return h.heapDelete(ID);
}
void priView(){h.heapView();
}
void search(int ID)
{
h.search(ID);
}

};

void showMenu(){
cout<<"------------------------------------------------"<<endl;
cout<<"-----------------*工资管理系统*-----------------"<<endl;
cout<<"------------------------------------------------"<<endl;
cout<<" 1.重置"<<endl;
cout<<" 2.输入"<<endl;
cout<<" 3.删除"<<endl;
cout<<" 4.查询"<<endl;
cout<<" 5.打印"<<endl;
cout<<" 0.退出"<<endl;
cout<<"------------------------------------------------"<<endl;
}
void showTip(){
cout<<"---------------------------------^_^--操作完成!"<<endl;
cout<<"------------------------------------选择0-5继续"<<endl;
}
int main(){
string i="-1";
int ID,PRI;
string proName;
Elem in;
priQueue PQ;
PQ.priInit();
system("cls");
showMenu();
cout<<"选择菜单中的数字以便处理数据!"<<endl;
cin>>i;
system("cls");
while(i!="0")
{ if(i=="1")
{ system("cls");
showMenu();
cout<<"你选择了1,项目将全部清空:"<<endl;
PQ.priInit();
showTip();
}
else if(i=="2")
{system("cls");
showMenu();
cout<<"你选择了2,输入ID,优先级,工资"<<endl;
cout<<"输入 ID(数字):"<<endl;
cin>>ID;
cout<<"输入优先级(数字):"<<endl;
cin>>PRI;
cout<<"输入工资数目(数字):"<<endl;
cin>>proName;
in.setID(ID);
in.setPri(PRI);
in.setProN(proName);
PQ.priInsert(in);
showTip();
}
else if(i=="3")
{system("cls");
showMenu();
cout<<"你选择了3,请选择你要删除的ID号"<<endl;
cin>>ID;
PQ.priDelete(ID);
showTip();
}

else if(i=="4")
{system("cls");
showMenu();
cout<<"你选择了4,输入要查找的项目ID号"<<endl;
cin>>ID;
PQ.search(ID);
showTip();
}

else if(i=="5")
{system("cls");
showMenu();
cout<<"你选择了5,整个系统工资情况显示如下:"<<endl;
PQ.priView();
showTip();
}
else {
system("cls");
showMenu();
cout<<"无效输入!"<<endl;
}
cin>>i;
system("cls");
}
return 0;
}
不知道对你有没有帮助啊!

2007-10-29 22:07
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
楼上的代码风格简直。。。。。。弓虽



by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
2007-10-30 01:28
快速回复:[求助]我刚学VC++老师给了题不会做,请大家指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024005 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved