管理系统源代码C

#include
#include
#include
#include
# define max 10
struct salary_Info
{
int card_no; //工资卡号
char name[20]; //姓名
int month; //月份
int init_salary; //应发工资
int water_rate; //水费
int electric_rate; //电费
int tax; //税金
int final_salary; //实发工资
}si[max]; //SI[MAX]中每个数组元素对应一个职工工资信息





int main()
{
void menu();
void Wrong();
void select();
void input();
void inquire();
void stats();
void save();
void read();
void end();
select();
}



void menu()
{

printf("********************工资管理系统********************\n");
printf("* *\n");
printf("* 1:信息输入 *\n");
printf("* 2:信息添加 *\n");
printf("* 3:信息浏览 *\n");
printf("* 4:信息查询 *\n");
printf("* 5:信息统计 *\n");
printf("* 6:信息保存 *\n");
printf("* 7:信息读入 *\n");
printf("* 8: 结束 *\n");
printf("****************************************************\n");

}



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:input();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;
}

}








void 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);
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()
{
input();

}


void taxes()
{
int t;
static int p=-1;
p++;
if(si[p].init_salary<=800)
t=0;
els

e 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;


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:工资)\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,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==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{
for(j=i+1;jif(si[j].card_no>si[i].card_no)
{
t=si[j];
si[j]=si[i];
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();
}
}


void rank3()
{
int i,j,k;
struct salary_Info t;
printf("卡号\t姓名\t\t月份\t应发工资\t水费\t电费\t税金\t实发工资\n");
for(i=0;i{
for(j=i+1;jif(si[i].final_salary{
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==1)
{
system("cls");
select();
}
}


void inquire()
{
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水费\t电费\t税金\t实发工资\n");
for(i=0;i{
if(strcmp(e,si[i].name)==0)
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].na

me,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 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{
if(f==si[i].card_no)
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 stats()
{
void sum();
int a,i;
printf("请输入卡号:");
scanf("%d",&a);
for(i=0;i{
if(si[i].card_no=a)
{
printf("卡号\t姓名\t\t月份\t应发工资\t水费\t电费\t税金\t实发工资\n");
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);
break;
}

}
sum();

}

void sum()
{
int sum=0;
int i,j,k;
printf("输入统计的起始月份:");
scanf("%d",&j);
printf("输入统计的结束月份:");
scanf("%d",&k);
for(i=0;i{
if(si[i].month>=j && si[i].month<=k)
{
sum=sum+si[i].final_salary;
}
}
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(filepath,"w"))==NULL)
{
printf("\n\t保存失败!\n");
end(0);
}
for(i=0;i{
fprintf(fp,"%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);

}
fclose(fp);
printf("职工信息已经保存到%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,"r"))==NULL)
{
printf("找不到%s文件!\n",filepath);
system("pause");
end(0);
}
now=0;
for(i=0;i{

fscanf(fp,"%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);
now++;
}
fclose(fp);
printf("保存在%s中的文件已经读入!\n",filepath);
system("pause");


printf("1:返回\n");
scanf("%d",&k)

;
if(k==1)
{
system("cls");
select();
}

}


void end()
{
printf("********************谢谢使用********************\n");
}

相关文档
最新文档