#include
#include
#include
#define N 100
#define w 1.8
#define e 0.5
struct Residentinf
{
int number;
char name[20];
float * wanum,* elnum;
float amonney,* emoney;
char * time;
}Re[N];
int num;
Residentinf *p;
void AdddataFunc();void StatisdataFunc();void QuerydataFunc();
void SavedataFunc();void SortdataFunc();void ModifydataFunc();
void ScandataFunc();void CaldataFunc();
void main()
{
int sele;
sele=1;
while(sele)
{
system("cls");
printf("*********** Main ***********");
printf("* *");
printf("* 1: *");
printf("* *");
printf("* 2: *");
printf("* *");
printf("* 3: *");
printf("* *");
printf("* 4: *");
printf("* *");
printf("* 5: *");
printf("* *");
printf("* 6: *");
printf("* *");
printf("* 7: *");
printf("****************************");
printf("Choose Function (1 - 7) [ ]\b\b");
scanf("%d",sele);
switch(sele)
{
case 1:
AdddataFunc();break;
case 2:
StatisdataFunc();break;
case 3:
SortdataFunc();break;
case 4:
DeletedataFunc();break;
case 5:
QuerydataFunc();break;
case 6:
ModifydataFunc();break;
case 7:
exit(0);
}
printf("\nPlease press any key to continue");
getchar();
getchar();
}
}
void ScandataFunc()
{
int i,j;
FILE *fp;
fp=fopen("Data.txt","r");
for(i=0;inumber,(p+i)->name,(p+i)->amoney);
for(j=0;jwanum,(p+i)->elnum,(p+i)->emoney,(p+i)->time);
}
fclose(fp);
void CaldataFunc()
{
int i,j;
fp=fopen("Data.txt","w");
for(i=0;iemoney[j]=((p+i)->wanum[j]-(p+i)->wanum[j-1])*w+((p+i)->elnum[j]-(p+i)->elnum[j-i])*e;
(p+i)->amoney=0;
(p+i)->amoney+=(p+i)->emoney;
}
SavedataFunc()
}
void SavedataFunc()
{
FILE*fp;
fp=fopen("Data.txt","w");
int i,j;
for(i=0;inumber,(p+i)->name,(p+i)->amoney);
for(j=0;jwanum,(p+i)->elnum,(p+i)->emoney,(p+i)->time);
}
fclose(fp);
void AdddataFunc()
{
int n,i;
Re re;
printf(" ");
system("cls");
for(i=0;inumber=re.number;
printf("\n\t\tname:");
scanf("%s",re.name);
strcpy((p+i)->name,re.name);
for(j=0;jwanum=re.wanum;
printf("\n\t\telnum:");
scanf("%d",re.elnum[j]);
(p+i)->elnum=re.elnum;
printf("\n\t\t\ttime:");
scanf("%s",re.time[j]);
strcpy((p+i)->time,re.time);
}
printf("\n !\n");break;
}
SavedataFunc();
}
void SortdataFunc()
{
int i,j;
Re t;
for(i=0;inumbernumber)
{
t=(p+i);(p+i)=(p+j);(p+j)=t;
}
SavedataFunc();
}
void QuerydataFunc()
{
int i,n,j;
Re re;
system("cls");
puts("\t\t\t*************** ***************\n");
puts("\t\t\t* *\n");
puts("\t\t\t* 1. *\n");
puts("\t\t\t* 2. *\n");
puts("\t\t\t* 3. *\n");
puts("\t\t\t**********************************\n");
printf(" [ ] ?\b\b");
scanf("%d",n);
switch(n)
{
case 1:
{
printf(" : ");
scanf("%d",re.number);
for(i=0;inumber==re.number)break;
printf("\n\ :%d\n\t :%s\n\t
:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);
for(j=0;jwanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);
}
break;
case 2:
{
printf(" : ");
scanf("%s",re.name);
for(i=0;iname,re.name)==0)break;
printf("\n\t :%d\n\t :%s\n\t
:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);
for(j=0;jwanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);
}
break;
case 4:
{
printf(" : ");
scanf("%s",re.time);
for(i=0;itime[j],re.time[j])==0)break;
printf("\n\t :%d\n\t :%s",(p+i)->number,(p+i)->name);
for(j=0;jwanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);
}
}
}
void DeleteFunc()
{
int i,j,m;
printf(" : [ ]\b\b");
scanf("%d",m);
for(i=0;inumber==m)
{
strcpy((p+i)->name,(p+j+1)->name);
(p+i)->amoney=(p+i+1)->amoney;
for(j=0;jwanum[j]=(p+i+1)->wanum[j+1];
(p+i)->elnum[j]=(p+i+1)->elnum[j+1];
strcpy((p+i)->time[j],(p+i+1)->time(j+1));
}
SavedataFunc();
}