问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++课程设计:工资管理系统

发布网友 发布时间:2022-04-21 23:20

我来回答

1个回答

热心网友 时间:2023-08-01 22:17

#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<iomanip.h>
using namespace std;
#define OK 1
#define ERROR 0
typedef struct LNode{
char num[20];
char name[20];
double basic;
double reward;
double total;
struct LNode *next;
}LNode,*LinkList; int initlist(LinkList &L)
{ L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
return OK;
} int DisplayInfo(LinkList L)
{
LinkList p=L->next;
if(!p)
{
cout<<"当前无记录!"<<endl;
return ERROR;
}
cout<<"编号"<<setw(12)<<"姓名"<<setw(12)<<"基本工资"<<setw(9)<<"奖金"<<setw(12)<<"工资总额"<<endl; while(p!=NULL)
{
cout<<p->num<<setw(9)<<p->name<<setw(8)<<p->basic<<setw(12)<<p->reward<<setw(12)<<p->total<<endl;
p=p->next;
}
cout<<'\n'<<'\n';
return OK;
} int InputInfo(LinkList &L)
{
LinkList p; p=(LinkList)malloc(sizeof(LNode));
cout<<"请输入职工工资信息:(格式如:2001001 james 1980 600 )"<<endl;
cin>>p->num;
cin>>p->name;
cin>>p->basic;
cin>>p->reward;
p->total=p->basic+p->reward;
p->next=L->next;
L->next=p; return OK;
}int DeleteByCode(LinkList &L,char key[])
{
LinkList p=L,q;
while(p->next!=NULL)
{
if(strcmp(p->next->num,key)==0)
{
q=p->next;
p->next=q->next;
free(q);
return OK;
}
p=p->next;
}
return ERROR;} int Search(LinkList L,int tag)
{
LinkList p=L->next;
if(tag==1)
{
char num[20];
cout<<"请输入要查找职工编号号:"<<endl;
cin>>num;
while(p)
{
if(strcmp(p->num,num)==0)
{
cout<<"编号"<<setw(12)<<"姓名"<<setw(12)<<"基本工资"<<setw(9)<<"奖金"<<setw(12)<<"工资总额"<<endl;
cout<<p->num<<setw(9)<<p->name<<setw(8)<<p->basic<<setw(12)<<p->reward<<setw(12)<<p->total<<endl;
cout<<'\n';
return OK;
}
p=p->next;
}
}
else if(tag==2)
{
char name[20];
cout<<"请输入要查找的姓名:"<<endl;
cin>>name;
while(p)
{
if(strcmp(p->name,name)==0)
{
cout<<"编号"<<setw(12)<<"姓名"<<setw(12)<<"基本工资"<<setw(9)<<"奖金"<<setw(12)<<"工资总额"<<endl;
cout<<p->num<<setw(9)<<p->name<<setw(8)<<p->basic<<setw(12)<<p->reward<<setw(12)<<p->total<<endl;
cout<<'\n';
return OK;
}
p=p->next;
}
}
else
cout<<"输入错误!"<<endl;
return ERROR;}
int Sort(LinkList &L)
{
LinkList p;

LinkList q,min,w=L;
for(p=L->next;p->next;p=p->next)
{
min=p;
for(q=p->next;q;q=q->next) if(min->total>q->total)
min=q; if(min!=p)
{ strcpy(w->num,p->num);
strcpy(w->name,p->name);
w->basic=p->basic;
w->reward=p->reward;
w->total=p->total;
strcpy(p->num,min->num);
strcpy(p->name,min->name);
p->basic=min->basic;
p->reward=min->reward;
p->total=min->total;
strcpy(min->num,w->num);
strcpy(min->name,w->name);
min->basic=w->basic;
min->reward=w->reward;
min->total=w->total; }
}
return OK;
}
int change(LinkList &L)
{
LinkList p=L->next;

char q[20];
cout<<"请输入要修改的职工编号号:"<<endl;
cin>>q;
while(p)
{
if(strcmp(p->num,q)==0)
{
cout<<"编号"<<setw(12)<<"姓名"<<setw(12)<<"基本工资"<<setw(9)<<"奖金"<<setw(12)<<"工资总额"<<endl;
cout<<p->num<<setw(9)<<p->name<<setw(8)<<p->basic<<setw(12)<<p->reward<<setw(12)<<p->total<<endl;
cout<<"请重新输入该职工的工资信息:"<<endl;
cin>>p->basic;
cin>>p->reward;
cout<<'\n';
return OK;
}
p=p->next;
}
}
int Menu(LinkList &S)
{
int sign=1;
while(sign)
{
int i;
cout<<"请选择要进行的操作:1:插入 2:删除 3:输出 4:查找 5:排序 6:修改 0:退出"<<endl;
cin>>i;
if(i==1)
{ if(InputInfo(S))
cout<<"操作成功!"<<endl;
cout<<'\n';
}
else if(i==2)
{
char num[20];
cout<<"请输入要删除的职工编号:"<<endl;
cin>>num; if(DeleteByCode(S,num))
cout<<"操作成功!"<<endl; else
{
cout<<"此编号不存在!"<<endl;
cout<<'\n';
}
}
else if(i==3)
DisplayInfo(S);
else if(i==4)
{
int tag;
cout<<"1:按编号查找 2:按姓名查找 "<<endl;
cin>>tag;
if(!Search(S,tag))
cout<<"未找到!"<<endl;
cout<<'\n'; }
else if(i==5)
{

if(Sort(S));
cout<<"操作成功!"<<endl;
cout<<'\n';
}
else if(i==6)
{
if(change(S))
cout<<"修改成功!"<<endl;
} else if(i==0)
sign=0;
else
cout<<"输入有误,请重新输入!"<<endl;
cout<<'\n';
}
return OK;
}
int main()
{
LinkList S;
initlist(S);
Menu(S);
return OK;} 已经调试无bug 有问题的话联系我。追问以工程的形式来做这个系统,不是写在一个.c中

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
网络宣传文案心碎,句句获赞! 关于朋友圈上万人点赞转发的说说 人生看的很透彻的经典句子 超现实超扎心的说说大全2019最新 心脏血管堵塞吃什么食物 投资理财有什么前景 pp理财什么情况 P2P理财行业的前景如何? 中国目前的财富管理现状是什么情况? 呼吸皮沙发寿命多久 “皮沙发的呼吸寿命” 呼吸皮沙发寿命多久 职工工资信息管理系统C++语言设计 企业职工工资管理系统 c/c++课程设计 紧急求帮助 C语言课程设计(工资管理系统)中遇到的问题 高级语言课程设计,工资管理系统。急求啊,,谢谢啦。 C语言课程设计任务——院职工工资管理系统设计 求一工资管理信息系统(大学生课程设计) 课程设计,工资管理系统完整源代码 C语言课程设计 某企业职工工资管理系统 管理信息系统课程设计 步骤如下: 选题 ××公司工资... C语言课程设计——试设计一个职工工资管理系统,使之... 用C语言课程设计—职工工资管理系统(分别用结构体... 用C++编一个职工工资管理系统 课程设计 c++课程设计:职工工资管理系统 C语言课程设计:职工工资管理系统设计 工资管理信息系统课程设计开发背景怎么写 帮我猜一下下面的谜语 猜字谜~至少要30个谢谢了,大神帮忙啊 求,字谜 猜字谜 有目看不见,有心记不住() 左是山,右是... 猜字谜!! 中翻英 在线等 赵寅成向中国道歉了吗? 赵寅成在韩国娱乐圈属于什么样的地位? 赵寅成在韩国有多红?我觉得他好帅啊,而且是非常... 赵寅成长相与演技都高于李敏镐,为什么人气 赵寅成拍摄《假如爱有天意》时爱上了女主孙艺珍,... 如何评价赵寅成? 赵寅成为什么到中国不红呢 韩国男星赵寅成,为什么在国内这么受欢迎? 赵寅成的个人生活 无限挑战为什么赵寅成后来不来了 求赵寅成资料 赵寅成在拍摄《假如爱有天意》爱上了孙艺珍,两个... 赵寅成在韩国的地位 赵寅成的演艺经历 韩国明星赵寅成 甩了国民男神赵寅成和已婚导演谈恋爱,金敏喜现在... 赵寅成在韩国有名吗? 女王的教室高贤廷赵寅成是什么关系 曾多次向男方求... 赵寅成最新的电影