#include<iostream>
#include<stdio.h>
#include<string.h>
using?namespace?std;
void?kaitou()
{
cout?<<?"******歡迎使用工資管理系統(tǒng)******"?<<?endl;
cout?<<?"================================"?<<?endl;
cout?<<?"?????輸入1,瀏覽工資記錄"?<<?endl;
cout?<<?"?????輸入2,查詢工資記錄"?<<?endl;
cout?<<?"?????輸入3,添加工資記錄"?<<?endl;
cout?<<?"?????輸入4,刪除工資記錄"?<<?endl;
cout?<<?"?????輸入5,修改工資記錄"?<<?endl;
cout?<<?"?????輸入6,保存工資記錄"?<<?endl;
cout?<<?"?????輸入7,退出系統(tǒng)"?<<?endl;
cout?<<?"================================"?<<?endl;
cout?<<?"您的選擇是(輸入1-7中任意一個(gè)數(shù)):"?<<?endl;
}
struct?zhigong
{
char?gonghao[10];//工號(hào)
char?xingming[10];//姓名
float?gwgz;//崗位工資
float?jxgz;//績效工資
float?yfgz;//應(yīng)發(fā)工資
float?grkk;//個(gè)人扣款
float?sfgz;//實(shí)發(fā)工資
struct?zhigong?*next;
}k,z[100],f[100];
struct?zhigong?head={0};//定義一個(gè)有頭的鏈表
void?sr()//輸入的內(nèi)容
{
????cout?<<?"請(qǐng)輸入職工工號(hào)"?<<?endl;
cin?>>?k.gonghao;
cout?<<?"請(qǐng)輸入職工姓名"?<<?endl;
cin?>>?k.xingming;
cout?<<?"請(qǐng)輸入崗位工資"?<<?endl;
????cin>>k.gwgz;
cout?<<?"請(qǐng)輸入績效工資"?<<?endl;
cin>>k.jxgz;
cout?<<?"請(qǐng)輸入個(gè)人扣款"?<<?endl;
cin>>k.grkk;
k.yfgz=k.gwgz+k.jxgz;
k.sfgz=k.yfgz-k.grkk;
}
void?xieru()//進(jìn)行文件寫入操作
{
FILE*fp;
fp?=?fopen("D:\\工資管理.txt",?"ab+");
fwrite(&k,?sizeof(k),1,fp);
fclose(fp);
}
void?xieru1()//進(jìn)行文件寫入操作1
{
???FILE*fp;
???if?((fp=fopen("D:\\工資管理.txt","wb+"))==NULL)??/*創(chuàng)建文件并判斷是否能打開*/
???{
?????printf?("cannot?open?file\n");
?????exit(0);
???}
???fwrite(&z,sizeof(struct?zhigong),100,fp);
??????fclose(fp);
}
void?duqu()//進(jìn)行文件的讀取操作
{
FILE*fq;
fq=fopen("D:\\工資管理.txt","rb+");
fread(&z[0],sizeof(struct?zhigong),100,fq);
fclose(fq);
}
void?shuchu()//文件的輸出操作
{
int?a;
FILE*fq;
fq=fopen("D:\\工資管理.txt","rb+");
for(a=0;a<100;a++)
{
fread(&z,sizeof(z),1,fq);
fclose(fq);
if(z[a].jxgz==0)
break;
else
printf("工號(hào):%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個(gè)人扣款:%.2f?應(yīng)發(fā)工資:%.2f?實(shí)發(fā)工資:%.2f\n",z[a].gonghao,z[a].xingming,z[a].gwgz,z[a].jxgz,z[a].grkk,z[a].yfgz,z[a].sfgz);
}
}
void?chaxun()
{
int?a;
int?i;
cout<<"請(qǐng)輸入查詢方式"<<endl;
cout<<"輸入1,按照姓名查詢"<<endl;
cout<<"輸入2,按照工號(hào)查詢"<<endl;
cin>>a;
switch(a)
{
case?1:cout<<"請(qǐng)輸入被查詢者的姓名:";
char?m[10];
cin>>m;
for(i=0;i<100;i++)
{
if(strcmp(z[i].xingming,m)==0)
printf("工號(hào):%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個(gè)人扣款:%.2f?應(yīng)發(fā)工資:%.2f?實(shí)發(fā)工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz);
}break;
case?2:cout<<"請(qǐng)輸入被查詢者的工號(hào):";
char?n[10];
cin>>n;
for(i=0;i<100;i++)
{
if(strcmp(z[i].gonghao,n)==0)
printf("工號(hào):%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個(gè)人扣款:%.2f?應(yīng)發(fā)工資:%.2f?實(shí)發(fā)工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz);
}break;
}
}
void?shanchu()
{
int?a;
int?i;
int?j;
char?k[10];
cout<<"====請(qǐng)根據(jù)提示執(zhí)行操作====\n"<<endl;
cout<<"輸入1,按照姓名執(zhí)行刪除操作"<<endl;
cout<<"輸入2,按照工號(hào)執(zhí)行刪除操作"<<endl;
cin>>a;
switch(a)
{
case?1:cout<<"請(qǐng)輸入將被刪除者的姓名:";
char?m[10];
cin>>m;
????????for(i=0;i<100;i++)
{
if(strcmp(z[i].xingming,m)==0)
j=i;
}
????????????for(i;i<100;i++)
{
strcpy(z[i?-?1].gonghao,?z[i].gonghao);
strcpy(z[i?-?1].xingming,?z[i].xingming);
z[i?-?1].gwgz?=?z[i].gwgz;
z[i?-?1].jxgz?=?z[i].jxgz;
z[i?-?1].grkk?=?z[i].grkk;
z[i?-?1].sfgz?=?z[i].sfgz;
z[i?-?1].yfgz?=?z[i].yfgz;
}
printf("\n=======刪除成功!========\n");
????????break;
case?2:cout<<"請(qǐng)輸入將被刪除者的工號(hào):";
char?n[10];
cin>>n;
for(i=0;i<100;i++)
{
if(strcmp(z[i].xingming,m)==0)
j=i;
}
????????????for(i;i<100;i++)
{
strcpy(z[i?-?1].gonghao,?z[i].gonghao);
strcpy(z[i?-?1].xingming,?z[i].xingming);
z[i?-?1].gwgz?=?z[i].gwgz;
z[i?-?1].jxgz?=?z[i].jxgz;
z[i?-?1].grkk?=?z[i].grkk;
z[i?-?1].sfgz?=?z[i].sfgz;
z[i?-?1].yfgz?=?z[i].yfgz;
}
printf("\n=======刪除成功!========\n");
????????break;
}
}
void?xiugai()
{
int?j;
int?a;
int?i;
cout<<"請(qǐng)輸入查詢方式"<<endl;
cout<<"輸入1,按照姓名查詢"<<endl;
cout<<"輸入2,按照工號(hào)查詢"<<endl;
cin>>a;
switch(a)
{
case?1:cout<<"請(qǐng)輸入被查詢者的姓名:";
char?m[10];
cin>>m;
for(j=0;j<100;j++)
{
if(strcmp(z[j].xingming,m)==0)
i=j;
}
printf("工號(hào):%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個(gè)人扣款:%.2f?應(yīng)發(fā)工資:%.2f?實(shí)發(fā)工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz);
printf("請(qǐng)輸入修改的姓名:\n");
scanf("%s",&z[i].xingming);
printf("請(qǐng)輸入修改的崗位工資:\n");
scanf("%f",&z[i].gwgz);
printf("請(qǐng)輸入修改的績效工資:\n");
scanf("%f",&z[i].jxgz);
printf("請(qǐng)輸入修改的個(gè)人扣款:\n");
scanf("%f",&z[i].grkk);
z[i].yfgz=z[i].gwgz+z[i].jxgz;
z[i].sfgz=z[i].yfgz-z[i].grkk;
break;
case?2:cout<<"請(qǐng)輸入被查詢者的工號(hào):";
char?n[10];
cin>>n;
for(j=0;j<100;j++)
{
if(strcmp(z[j].gonghao,n)==0)
i=j;
}
printf("工號(hào):%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個(gè)人扣款:%.2f?應(yīng)發(fā)工資:%.2f?實(shí)發(fā)工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz);
????????printf("請(qǐng)輸入修改的姓名:\n");
scanf("%s",&z[i].xingming);
printf("請(qǐng)輸入修改的崗位工資:\n");
scanf("%f",&z[i].gwgz);
printf("請(qǐng)輸入修改的績效工資:\n");
scanf("%f",&z[i].jxgz);
printf("請(qǐng)輸入修改的個(gè)人扣款:\n");
scanf("%f",&z[i].grkk);
z[i].yfgz=z[i].gwgz+z[i].jxgz;
z[i].sfgz=z[i].yfgz-z[i].grkk;
break;
}
}
int?main()//主函數(shù)
{
int?i;
int?l;
printf("請(qǐng)輸入密碼!");
scanf("%d",&l);
switch(l)
{
case?1234:
system("cls");
kaitou();
cin?>>?i;
switch(i)
{
????case?1:shuchu();break;
????case?2:duqu();chaxun();break;
case?3:sr();xieru();break;
case?4:duqu();shanchu();xieru1();break;
case?5:duqu();xiugai();xieru1();break;
case?7:return?0;
default:printf("輸入有誤,請(qǐng)重新輸入!");
}
return?0;
default?:printf("密碼輸入錯(cuò)誤!");
???}
}
各路大神幫忙看看,為什么我寫的工資管理系統(tǒng)刪除功能不能用。
Occultator
2016-11-29 21:23:08