当前位置:首页 » 编程语言 » c语言工资

c语言工资

发布时间: 2023-07-06 04:47:30

❶ 用C语言设计职工工资管理系统

#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语言编程某单位进行工资调整,要求按技术等级分为A,B,C, D四个档次进行调整

从题意,程序需要先输入工资信息,再根据技术等级对应系数调整工资,以后打印工资信息。

单位工资信息一般包含员工编号,姓名,工资等,适合用结构类型存储

技术等级ABCD对应一个调整系数,这是一组有关联的常量,适合用枚举。

下面是代码,工资我用的是整型,计算系数是整除,需要浮点数,自行修改类型。员工人数修改常量PN,我测试用3个员工。

#include<stdio.h>

#define PN 3//员工数量

enum tLevel{ A = 110, B= 120, C = 130, D = 140};//技术级别ABCD对应调整系数%

typedef struct personnel

{

int id;//员工编号,唯一

char pName[20];//员工姓名

int basePay;//基础工资

enum tLevel tll;

}PERL;

void init(PERL *perl);

void show(PERL *perl);

int main()

{

PERL perl[PN];

init(perl);

show(perl);

return 0;

}

void show(PERL *perl)

{

int i;

printf(" 员工工资表: ");

for(i=0;i<PN;i++)

{

printf("员工编号%d: ",perl[i].id);

printf("员工姓名%s: ",perl[i].pName);

printf("基本工资%d: ",perl[i].basePay);

printf("等级系数%d: ",perl[i].tll);

printf("结算工资%d: ",perl[i].basePay*perl[i].tll/100);

}

}

void init(PERL *perl)

{

static int id=1;//自增,作为唯一的员id

int i;

char lv[2]={0};

printf("输入%d个员工信息! ",PN);

for(i=0;i<PN;i++,id++)

{

printf("请输入员工姓名:"),scanf("%s",perl[i].pName);

printf("请输入基础工资:"),scanf("%d",&perl[i].basePay);

while(lv[0]<'A' || lv[0]>'D')

printf("请输入员技术等级(A~D):"),scanf("%s",lv);

switch(lv[0])

{

case 'A':perl[i].tll=A;break;

case 'B':perl[i].tll=B;break;

case 'C':perl[i].tll=C;break;

case 'D':perl[i].tll=D;break;

}

lv[0]=0;

perl[i].id=id;

printf(" ");

}

}

❸ 用C语言编写一个计算薪水的程序

/*工资计算程序*/
#include <stdio.h>

main()
{
float originWage; /*应发工资*/
float realWage; /*实发工资*/
float tax; /*所缴税款*/
int i,hour,amount,money;

printf("请选择工资种类:\n1.计时工资\n2.计件工资\n3.固定月工资\n");
scanf("%d",&i);
switch(i)
{
case 1:{
printf("请输入工作时间(单位:小时)\n");
scanf("%d",&hour);
printf("请输入单位时间的薪水(单位:元)\n");
scanf("%f",&money);
originWage=money*hour;
}
break;
case 2:{
printf("请输入生产产品数量(单位:件)\n");
scanf("%d",&amount);
printf("请输入生产一件产品的薪水(单位:元)\n");
scanf("%f",&money);
originWage=money*amount;
}
break;
case 3: printf("请输入你的固定工资\n");
scanf("%f",&originWage);
break;
default:printf("输入错误!\n");
return 0;
}

if(originWage<0)
{
printf("数据错误!\n");
return 0;
}
if(originWage<2000)
tax=0;
else if(originWage>2000&&originWage<=2500)
tax=(originWage-2000)*0.05;
else if(originWage>2500&&originWage<=4000)
tax=(originWage-2500)*0.1+500*0.05;
else
tax=(originWage-4000)*0.15+1500*0.1+500*0.05;
printf("应发工资: %f\n",originWage);
printf("所缴税款: %f\n",tax);
printf("实发工资: %f\n",originWage-tax);
return 0;
}

热点内容
怎么打开电脑云服务器 发布:2025-02-09 08:36:01 浏览:219
日元对人民币算法 发布:2025-02-09 08:35:52 浏览:39
安卓手机微信语音怎么不能转文 发布:2025-02-09 08:25:30 浏览:922
c上机编程题 发布:2025-02-09 08:17:18 浏览:319
显示语法错误编译不出来 发布:2025-02-09 08:17:09 浏览:285
酒店配置什么灭火系统 发布:2025-02-09 08:06:37 浏览:774
java至尊 发布:2025-02-09 08:03:23 浏览:559
pythonwith 发布:2025-02-09 08:00:25 浏览:173
Ftp打开文件是只读模式 发布:2025-02-09 07:40:55 浏览:505
androidlistview点击事件 发布:2025-02-09 07:25:52 浏览:173