c++编写人事管理系统 某高校,主要人员有:在职人员(行...

 我来答
百度网友38c8e98
2011-01-30 · TA获得超过2657个赞
知道小有建树答主
回答量:1131
采纳率:0%
帮助的人:586万
展开全部
//C++课程设计---人事管理系统
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include <stdlib.h>
struct ID //结构定义
{
int num;
char name[512];
char type[512];
int level;
int pay;
int wellpay;
int jiaban;
ID *next;
};
ID * new_code() //通过链表来增加工人
{
ID *temp,*tail,*head;
temp=tail=head=NULL;
while(1)
{
temp=new ID;
cout<<"请输入工人的工号:";cin>>temp->num;
if(0==temp->num) break;
cout<<"请输入工人的姓名:";cin>>temp->name;
cout<<"请输入工人的工种:";cin>>temp->type;
cout<<"请输入工人的等级:";cin>>temp->level;
cout<<"请输入工人的工资:";cin>>temp->pay;
cout<<"请输入工人的奖金:";cin>>temp->wellpay;
cout<<"请输入工人的加时:";cin>>temp->jiaban;
cout<<"#######################################################################\n";
if(head==NULL)
{
head=temp;
head->next=NULL;
tail=head;
}
else
{
temp->next=NULL;
tail->next=temp;
tail=temp;
}
}
return head;
};
void pri_code(ID *head) //显示工人数据
{
ID* p=head;
cout<<"工号\t姓名\t工种\t等级\t工资\t奖金\t加班\n";
while (p)
{
cout<<p->num<<"\t"<<p->name<<"\t"<<p->type<<"\t"<<p->level<<"\t"<<p->pay<<"\t"<<p->wellpay<<"\t"<<p->jiaban<<endl;
p=p->next;
}
};
ID *del_code(ID *head) //删除工人信息函数
{
ID *p1,*p2;
int num;
cout<<"请输入要删除工人的工号:";
cin>>num;
p1=head;
while(num!=p1->num && p1!=NULL)
{
p2=p1;
p1=p1->next;
}
if(num==p1->num)
{
if(p1==head)
head=p1->next;
else
p2->next=p1->next;
cout<<"成功删除!!";
}
return head;
};

void pri_onecode(ID *head) //显示特定的工种函数
{
char type[512];
ID *p=head;
cout<<"请输入要显示的工种名:";
cin>>type;
cout<<"工号\t姓名\t工种\t等级\t工资\t奖金\t加班\n";
while(1)
{
if(p==NULL)
break;
if(strcmp(p->type ,type)==0)
{
cout<<p->num<<"\t"<<p->name<<"\t"<<p->type<<"\t"<<p->level<<"\t"<<p->pay<<"\t"<<p->wellpay<<"\t"<<p->jiaban<<endl;
}
p=p->next;
}
};
void main() //主函数
{
int menu_Num;

ID *head=NULL;
while(1)
{
cout<<"\t\t\t\t人事管理系统\n";
cout<<"\t\t############################################\n";
cout<<"\t\t#\t\t 1.新增工人信息\t\t #\n";
cout<<"\t\t#\t\t 2.删除工人信息\t\t #\n";
cout<<"\t\t#\t\t 3.修改工人信息\t\t #\n";
cout<<"\t\t#\t\t 4.排序输出工人\t\t #\n";
cout<<"\t\t#\t\t 5.显示某种工人\t\t #\n";
cout<<"\t\t#\t\t 0.退出人事系统\t\t #\n";
cout<<"\t\t############################################\n";
cout<<"请选择输入操作编号:";
cin>>menu_Num;
switch (menu_Num)
{
case 1:
head=new_code();
break;
case 2:
del_code(head);
break;
case 3:
break;
case 4:
pri_code(head);
break;
case 5:
pri_onecode(head);
break;
case 0:
exit(0);
break;
default:
cout<<"输入有误!请重新输入!\n";
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式