commit first

master
1512399747@qq.com 7 years ago
parent af0fe673e7
commit 5789267e02

@ -0,0 +1,291 @@
void Insert(){//添加功能
int i,j;
int swi=0;
Data dt,tt;
Data *p=&dt;//指针操作
char tp[30];
char buff[20];
FILE *fp = NULL,*ff = NULL;
while(1){
system("cls");
printf("请输入职工的姓名: ");
scanf("%s",p->name);
while(1){
system("cls");
printf("请输入职工ID编号(不可重复):");
scanf("%d",&p->number);
if(p->number>0){
if(ff=fopen("data.txt", "r")){
swi=0;
while(fgets(tp, 512, ff) != NULL){
memset(buff,0,sizeof(buff));
j=0;
for(i=0;i<strlen(tp);i++){
if(tp[i]==','){
if(p->number==atoi(buff))swi=1;
break;
}
buff[j++]=tp[i];
}
if(swi==1)break;
}
fclose(ff);
}
if(swi==1){
printf("编号重复,请重新输入!\n");
system("pause");
continue;
}
}
else{
printf("编号格式为纯数字,请重新输入!\n");
system("pause");
continue;
}
printf("(以下格式:按要求输入类型为数字)\n");
printf("\n请输入职工的基本工资:");
scanf("%d",&p->baseWage);
printf("请输入职工的职务工资岗位津贴:");
scanf("%d",&p->dutyWage);
printf("请输入职工的岗位津贴:");
scanf("%d",&p->allowance);
printf("请输入职工的医疗保险:");
scanf("%d",&p->insurance);
printf("请输入职工的公积金:");
scanf("%d",&p->fund);
if(p->baseWage>=0&&p->dutyWage>=0&&p->insurance>=0&&p->fund>=0)break;
else{
printf("抱歉!您输入的格式有问题,请重新输入!\n");
system("pause");
continue;
}
}
break;
}
if(fp=fopen("data.txt","a")){
fprintf(fp, "%d,%s,%d,%d,%d,%d,%d,\n",p->number,p->name,p->baseWage,p->dutyWage,p->allowance,p->insurance,p->fund);
}
fclose(fp);
printf("\n该订单信息存储成功\n");
system("pause");
}
void Show(){//显示功能
int i,j,z,k;
int cnt;
int allSum=0;
double x1,x2,x3,x4,x5;
Data temp;
Data dt[100];
char tp[30];
char buff[20];
FILE *ff = NULL;
if(ff=fopen("data.txt", "r")){
sum=0;
while(fgets(tp, 512, ff) != NULL){
memset(buff,0,sizeof(buff));
j=0;
cnt=0;
for(i=0;i<strlen(tp);i++){
if(tp[i]==','){
if(cnt==0)dt[sum].number=atoi(buff);
else if(cnt==1)strcpy(dt[sum].name,buff);
else if(cnt==2)dt[sum].baseWage=atoi(buff);
else if(cnt==3)dt[sum].dutyWage=atoi(buff);
else if(cnt==4)dt[sum].allowance=atoi(buff);
else if(cnt==5)dt[sum].insurance=atoi(buff);
else if(cnt==6){
dt[sum].fund=atoi(buff);
break;
}
cnt++;
j=0;
memset(buff,0,sizeof(buff));
continue;
}
buff[j++]=tp[i];
}
sum++;
}
fclose(ff);
}
system("cls");
printf("***************************************职工工资显示***************************************\n");
for(i=0;i<sum;i++){
x1+=dt[i].baseWage;
x2+=dt[i].dutyWage;
x3+=dt[i].allowance;
x4+=dt[i].insurance;
x5+=dt[i].fund;
allSum=dt[i].baseWage+dt[i].dutyWage+dt[i].allowance+dt[i].insurance+dt[i].fund;
printf("\n 编号: %d 姓名: %s 基本工资: %d 职务工资: %d 岗位津贴: %d 医疗保险: %d 公积金: %d 总工资: %d\n",dt[i].number,dt[i].name,dt[i].baseWage,dt[i].dutyWage,dt[i].allowance,dt[i].insurance,dt[i].fund,allSum);
}
printf("\n 各项平均工资-----基本: %.2lf 职务: %.2lf 岗位津贴: %.2lf 医疗保险: %.2lf 公积金: %.2lf\n",x1/sum,x2/sum,x3/sum,x4/sum,x5/sum);
printf("******************************************************************************************\n");
system("pause");
}
void Updata(){//修改功能
int i,j,z,q,w;
int cnt;
int swi=0,swis=0;
int num[100];
char newName[20];
char ch,delNum;
char finds[20];
char tp[30];
char buff[20];
Data dt[100];
FILE *fp = NULL,*ff = NULL;
if(ff=fopen("data.txt", "r")){
sum=0;
while(fgets(tp, 512, ff) != NULL){
memset(buff,0,sizeof(buff));
j=0;
cnt=0;
for(i=0;i<strlen(tp);i++){
if(tp[i]==','){
if(cnt==0)dt[sum].number=atoi(buff);
else if(cnt==1)strcpy(dt[sum].name,buff);
else if(cnt==2)dt[sum].baseWage=atoi(buff);
else if(cnt==3)dt[sum].dutyWage=atoi(buff);
else if(cnt==4)dt[sum].allowance=atoi(buff);
else if(cnt==5)dt[sum].insurance=atoi(buff);
else if(cnt==6){
dt[sum].fund=atoi(buff);
break;
}
cnt++;
j=0;
memset(buff,0,sizeof(buff));
continue;
}
buff[j++]=tp[i];
}
sum++;
}
fclose(ff);
}
system("cls");
printf("请输入想要修改的职工姓名或编号(模糊查找):");
scanf("%s",finds);
q=0;
for(i=0;i<sum;i++){
if(strcmp(dt[i].name,finds)==0||dt[i].number==atoi(finds)){
swi=1;
num[q]=i;
q++;
}
}
if(swi==1){
while(1){
swis=0;
system("cls");
printf("***************************************模糊查找显示***************************************\n");
for(i=0;i<q;i++){
printf("\n 选择序号: %d 编号: %d 姓名: %s 基本工资: %d 职务工资: %d 岗位津贴: %d 医疗保险: %d 公积金: %d\n",i+1,dt[num[i]].number,dt[num[i]].name,dt[num[i]].baseWage,dt[num[i]].dutyWage,dt[num[i]].allowance,dt[num[i]].insurance,dt[num[i]].fund);
}
printf("******************************************************************************************\n");
if(q==1){
printf("\n是否修改该职工信息\n");
printf("Y-确认 N-取消: ");
}
else{
printf("\n模糊查找到多条职工信息\n");
printf("\n是否修改该职工信息\n");
printf("\n输入想要修改职工序号修改 或者 N-取消: ");
}
ch=getch();
if(ch>='0'&&ch<='9'){
delNum=ch;
swis=1;
break;
}
else if(ch=='y'||ch=='Y'){
delNum='1';
swis=1;
break;
}
else if(ch=='n'||ch=='N'){
printf("\n取消操作,返回功能页面\n");
system("pause");
break;
}
else{
printf("\n输入有误,请按要求重新确认\n");
system("pause");
}
}
if(swis==1){
while(1){
system("cls");
printf("***************************************选中修改信息***************************************\n");
printf("\n 职工信息《编号: %d 姓名: %s 基本工资: %d 职务工资: %d 岗位津贴: %d 医疗保险: %d 公积金: %d》\n",dt[num[delNum-'0'-1]].number,dt[num[delNum-'0'-1]].name,dt[num[delNum-'0'-1]].baseWage,dt[num[delNum-'0'-1]].dutyWage,dt[num[delNum-'0'-1]].allowance,dt[num[delNum-'0'-1]].insurance,dt[num[delNum-'0'-1]].fund);
printf("******************************************************************************************\n");
printf(" 按选项选择需要修改的信息\n");
printf(" 0-保存 1-编号 2-姓名 3-基本工资 4-职务工资 5-岗位津贴 6-医疗保险 7-公积金\n");
ch=getch();
system("cls");
if(ch=='1'){
printf("请输入新的编号(不可和其他编号重复):");
scanf("%d",&dt[num[delNum-'0'-1]].number);
}
else if(ch=='2'){
printf("请输入新的姓名:");
scanf("%s",dt[num[delNum-'0'-1]].name);
}
else if(ch=='3'){
printf("请输入新的基本工资:");
scanf("%d",&dt[num[delNum-'0'-1]].baseWage);
}
else if(ch=='4'){
printf("请输入新的职务工资:");
scanf("%d",&dt[num[delNum-'0'-1]].dutyWage);
}
else if(ch=='5'){
printf("请输入新的岗位津贴:");
scanf("%d",&dt[num[delNum-'0'-1]].allowance);
}
else if(ch=='6'){
printf("请输入新的医疗保险:");
scanf("%d",&dt[num[delNum-'0'-1]].insurance);
}
else if(ch=='7'){
printf("请输入新的公积金:");
scanf("%d",&dt[num[delNum-'0'-1]].fund);
}
else if(ch=='0'){
break;
}
else{
printf("抱歉!请输入选项(0-7)\n");
system("pause");
continue;
}
printf("刚刚修改的信息-修改完成!\n");
printf("是否继续修改该职工信息\n");
printf("Y-继续(修改) N-退出(保存)");
ch=getch();
if(ch=='N'||ch=='n')break;
else if(ch='y'||ch=='Y')continue;
else{
printf("抱歉!请输入 Y or N\n");
system("pause");
continue;
}
}
if(fp=fopen("data.txt","w")){
for(i=0;i<sum;i++){
fprintf(fp, "%d,%s,%d,%d,%d,%d,%d,\n",dt[i].number,dt[i].name,dt[i].baseWage,dt[i].dutyWage,dt[i].allowance,dt[i].insurance,dt[i].fund);
}
}
fclose(fp);
printf("\n该职工信息已修改,可在查询功能确认\n");
system("pause");
}
}
else{
printf("\n抱歉!没找到任何符合信息\n");
system("pause");
}
}

Binary file not shown.
Loading…
Cancel
Save