#include "stdafx.h"
#include <stdlib.h>/*为了调用system("PAUSE");*/
#include <time.h>/*为了调用time;*/
#include <stdio.h>
#include <string.h>
#include <windows.h>
struct emploee
{
char name[10];
int salary;
}emp[20];
SYS_STATUS main(int argc , char* argv[])
{
FILE *fp1, *fp2;
int i, j, n, flag, salary;
char name[10], filename[20];
printf("Input filename :\n");
scanf("%s",filename);
printf("Input number of emploeess :\n");
scanf("%d",&n);
printf("Input name, salary:\n");
for(i=0; i<n; i++)
{
printf("NO.%d:\n",i+1);
scanf("%s%d", emp[i].name, &emp[i].salary);
}
if((fp1 = fopen(filename, "ab"))==NULL)
{
printf("can't open file!! \n");
exit(0);
}
for(i=0; i<n; i++)
{
if(fwrite(&emp[i],sizeof(struct emploee),1,fp1)!=1)
printf("Write Error!\n");
}
fclose(fp1);
if((fp2 = fopen(filename, "rb"))==NULL)
{
printf("can't open file!! \n");
exit(0);
}
printf("\n original data:");
for(i=0; fread(&emp[i],sizeof(struct emploee),1,fp2)!=0; i++)
{
printf("\n %s%10d", emp[i].name,emp[i].salary);
}
n=i;
fclose(fp2);
printf("\n Input the name of which do you want to delete:");
scanf("%s", name);
for(flag =1, i=0; i<n &&flag; i++)
{
if(strcmp(name,emp[i].name)==0)
for(j=i;j<n-1; j++)
{
strcpy(emp[j].name, emp[j+1].name);
emp[j].salary = emp[j+1].salary;
}
flag=0;
}
if(!flag)
n=n-1;
else
printf("\n NO FIND\n");
printf("\n Now, the content of file :\n");
fp2 = fopen(filename, "wb");
for(i=0; i<n; i++)
{
fwrite(&emp[i], sizeof(struct emploee),1,fp2);
}
fclose(fp2);
fp2 = fopen(filename, "rb");
for(i=0; fread(&emp[i],sizeof(struct emploee),1,fp2)!=0; i++)
{
printf("\n %s%7d", emp[i].name,emp[i].salary);
}
fclose(fp2);
system("PAUSE");
return C_SYS_OK;
}
#include <stdlib.h>/*为了调用system("PAUSE");*/
#include <time.h>/*为了调用time;*/
#include <stdio.h>
#include <string.h>
#include <windows.h>
struct emploee
{
char name[10];
int salary;
}emp[20];
SYS_STATUS main(int argc , char* argv[])
{
FILE *fp1, *fp2;
int i, j, n, flag, salary;
char name[10], filename[20];
printf("Input filename :\n");
scanf("%s",filename);
printf("Input number of emploeess :\n");
scanf("%d",&n);
printf("Input name, salary:\n");
for(i=0; i<n; i++)
{
printf("NO.%d:\n",i+1);
scanf("%s%d", emp[i].name, &emp[i].salary);
}
if((fp1 = fopen(filename, "ab"))==NULL)
{
printf("can't open file!! \n");
exit(0);
}
for(i=0; i<n; i++)
{
if(fwrite(&emp[i],sizeof(struct emploee),1,fp1)!=1)
printf("Write Error!\n");
}
fclose(fp1);
if((fp2 = fopen(filename, "rb"))==NULL)
{
printf("can't open file!! \n");
exit(0);
}
printf("\n original data:");
for(i=0; fread(&emp[i],sizeof(struct emploee),1,fp2)!=0; i++)
{
printf("\n %s%10d", emp[i].name,emp[i].salary);
}
n=i;
fclose(fp2);
printf("\n Input the name of which do you want to delete:");
scanf("%s", name);
for(flag =1, i=0; i<n &&flag; i++)
{
if(strcmp(name,emp[i].name)==0)
for(j=i;j<n-1; j++)
{
strcpy(emp[j].name, emp[j+1].name);
emp[j].salary = emp[j+1].salary;
}
flag=0;
}
if(!flag)
n=n-1;
else
printf("\n NO FIND\n");
printf("\n Now, the content of file :\n");
fp2 = fopen(filename, "wb");
for(i=0; i<n; i++)
{
fwrite(&emp[i], sizeof(struct emploee),1,fp2);
}
fclose(fp2);
fp2 = fopen(filename, "rb");
for(i=0; fread(&emp[i],sizeof(struct emploee),1,fp2)!=0; i++)
{
printf("\n %s%7d", emp[i].name,emp[i].salary);
}
fclose(fp2);
system("PAUSE");
return C_SYS_OK;
}