1、
管理系统C源程序
22
2020年4月19日
文档仅供参考
#include
2、//月份 int init_salary; //应发工资 int water_rate; //水费 int electric_rate; //电费 int tax; //税金 int final_salary; //实发工资 }si[max]; //SI[MAX]中每个数组元素对应一个职工工资信息 int m
3、ain() { void menu(); void Wrong(); void select(); void input(); void inquire(); void stats(); void save(); void read(); void end(); select(); } void menu() { printf("********************工资管理系统********************\n"); printf("*
4、 *\n"); printf("* 1:信息输入 *\n"); printf("* 2:信息添加 *\n"); printf("* 3:信息浏览 *\n"); printf("* 4:信息查询 *\n"); printf("*
5、 5:信息统计 *\n"); printf("* 6:信息保存 *\n"); printf("* 7:信息读入 *\n"); printf("* 8: 结束 *\n"); printf("****************************************************\n");
6、 } void Wrong() { printf("输入错误!\n"); } void select() { void input(); void add(); void scan(); void inquire(); void stats(); void save(); void read(); void end(); int choose; system("cls"); menu(); scanf("%d",&choose); switch(choose) { case 1:i
7、nput();break; case 2:add();break; case 3:scan();break; case 4:inquire();break; case 5:stats();break; case 6:save();break; case 7:read();break; case 8:end();break; default:Wrong();break; } } v
8、oid input() { void taxes(); int q; static int i=-1; system("cls"); a: i++; printf("工资卡号:"); scanf("%d",&si[i].card_no); printf("姓名:"); scanf("%s",si[i].name); printf("月份:"); scanf("%d",&si[i].month); printf("应发工资:"); scanf("%d",&si[i].init_salary)
9、 printf("水费:"); scanf("%d",&si[i].water_rate); printf("电费:"); scanf("%d",&si[i].electric_rate); printf("税金:"); taxes(); printf("是否继续:(1:继续 2:返回)\n"); scanf("%d",&q); if(q==1) {goto a;} else(q==2); {system("cls"); select();} } void add()
10、 { input(); } void taxes() { int t; static int p=-1; p++; if(si[p].init_salary<=800) t=0; else if (si[p].init_salary>800&&si[p].init_salary<=1400) t=(si[p].init_salary-800)*0.05; else if (si[p].init_salary>1400) t=(si[p].init_salary-1400)*0.1;
11、 si[p].tax=t; si[p].final_salary=si[p].init_salary-si[p].water_rate-si[p].electric_rate-t; printf("%d\n",t); printf("实发工资:"); printf("%d\n",si[p].final_salary); } void scan() { void rank1(); void rank2(); void rank3(); int w; printf("选择浏览方式:(1:姓名 2:卡号 3
12、工资)\n"); scanf("%d",&w); if(w==1) rank1(); else if(w==2) rank2(); else if(w==3) rank3(); } void rank1() { struct salary_Info t; int i,j,k; printf("卡号\t姓名\t\t月份\t应发工资\t水费\t电费\t税金\t实发工资\n"); for(i=0;i<=max;i++) { for(j=i+1;j<=max+1;j++) if(strcmp(si[i].name,
13、si[j].name)<0) { t=si[i]; si[i]=si[j]; si[j]=t; } printf("%d\t%s\t\t%d\t%d\t\t%d\t%d\t%d\t%d \n",si[i].card_no,si[i].name,si[i].month,si[i].init_salary,si[i].water_rate,si[i].electric_rate,si[i].tax,si[i].final_salary); } printf("1:返回\n"); scanf("%d",&k); if(k==
14、1)
{
system("cls");
select();
}
}
void rank2()
{
int i,j,k;
struct salary_Info t;
printf("卡号\t姓名\t\t月份\t应发工资\t水费\t电费\t税金\t实发工资\n");
for(i=0;i
15、 si[i]=t; } printf("%d\t%s\t\t%d\t%d\t\t%d\t%d\t%d\t%d \n",si[i].card_no,si[i].name,si[i].month,si[i].init_salary,si[i].water_rate,si[i].electric_rate,si[i].tax,si[i].final_salary); } printf("1:返回\n"); scanf("%d",&k); if(k==1) { system("cls"); select(); }
16、
}
void rank3()
{
int i,j,k;
struct salary_Info t;
printf("卡号\t姓名\t\t月份\t应发工资\t水费\t电费\t税金\t实发工资\n");
for(i=0;i 17、 printf("%d\t%s\t\t%d\t%d\t\t%d\t%d\t%d\t%d\n",si[i].card_no,si[i].name,si[i].month,si[i].init_salary,si[i].water_rate,si[i].electric_rate,si[i].tax,si[i].final_salary);
}
printf("1:返回\n");
scanf("%d",&k);
if(k==1)
{
system("cls");
select();
}
}
void inquire()
{
18、void inquire1();
void inquire2();
int w;
printf("选择查询方式:( 1:姓名 2:卡号)\n");
scanf("%d",&w);
if(w==1)
inquire1();
else if(w==2)
inquire2();
}
void inquire1()
{
int i,k,e[20];
struct salary_Info t;
printf("请输入要查询的姓名:");
scanf("%s",e);
printf("卡号\t姓名\t\t月份\t应发工资\t水费 19、\t电费\t税金\t实发工资\n");
for(i=0;i 20、 if(k==1)
{
system("cls");
select();
}
}
void inquire2()
{
int i,k,f;
struct salary_Info t;
printf("请输入要查询的卡号:");
scanf("%d",&f);
printf("卡号\t姓名\t\t月份\t应发工资\t水费\t电费\t税金\t实发工资\n");
for(i=0;i 21、d\t%d\t%d\n",si[i].card_no,si[i].name,si[i].month,si[i].init_salary,si[i].water_rate,si[i].electric_rate,si[i].tax,si[i].final_salary);
}
printf("1:返回\n");
scanf("%d",&k);
if(k==1)
{
system("cls");
select();
}
}
void stats()
{
void sum();
int a,i;
printf("请输入卡号: 22、");
scanf("%d",&a);
for(i=0;i 23、si[i].final_salary);
break;
}
}
sum();
}
void sum()
{
int sum=0;
int i,j,k;
printf("输入统计的起始月份:");
scanf("%d",&j);
printf("输入统计的结束月份:");
scanf("%d",&k);
for(i=0;i 24、lary;
}
}
printf("总工资为:%d\n",sum);
printf("1:返回\n");
scanf("%d",&k);
if(k==1)
{
system("cls");
select();
}
}
void save() /*保存函数*/
{
FILE *fp;
int i,k;
char filepath[30];
printf("\n\t输入要保存的文件路径:");
fflush(stdin);
gets(filepath);
if((fp=fopen(file 25、path,"w"))==NULL)
{
printf("\n\t保存失败!\n");
end(0);
}
for(i=0;i 26、经保存到%s中!\n",filepath);
system("pause");
printf("1:返回\n");
scanf("%d",&k);
if(k==1)
{
system("cls");
select();
}
}
void read() /*读取函数*/
{
FILE *fp;
int i,now,k;
char filepath[30];
printf("\n请输入要读入的文件路径:");
fflush(stdin);
gets(filepath);
if((fp=fopen(filepath 27、"r"))==NULL)
{
printf("找不到%s文件!\n",filepath);
system("pause");
end(0);
}
now=0;
for(i=0;i






