當前位置:首頁 » 編程語言 » 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;
}

熱點內容
編譯framework 發布:2025-02-09 10:42:11 瀏覽:380
五子棋對戰演算法 發布:2025-02-09 10:12:19 瀏覽:712
php樹菜單 發布:2025-02-09 10:04:10 瀏覽:359
linux保存ip 發布:2025-02-09 10:04:10 瀏覽:23
四川霜狼伺服器怎麼樣 發布:2025-02-09 10:02:44 瀏覽:145
Vs中h編譯選項是灰的 發布:2025-02-09 10:01:59 瀏覽:557
安卓43怎麼升級44 發布:2025-02-09 09:51:33 瀏覽:463
美國雲伺服器快還是香港快 發布:2025-02-09 09:34:33 瀏覽:988
怎麼解壓qq文件 發布:2025-02-09 09:18:14 瀏覽:581
安卓最新怎麼調靈敏度更穩 發布:2025-02-09 09:12:44 瀏覽:400