#include <stdio.h>
#include<string.h>
typedef struct
{
char a[20]
char b[20]
char c[20]
int d
}node,*link
static int len
void insert()
{
FILE* fp
int num
fp=fopen("A.txt","w")
printf("输入记录个数:")
scanf("%d",&num)
len=num
while(num)
{
link nlink=new node[sizeof(node)]
printf("input a string:")
scanf("%s",nlink->a)
printf("input b string:")
scanf("%s",nlink->b)
printf("input c:string:")
scanf("%s",nlink->c)
printf("input d:int:")
scanf("%d",&nlink->d)
getchar()
fwrite(nlink,sizeof(node),1,fp)
num--
}
fclose(fp)
}
void show()
{
FILE* fp
fp=fopen("A.txt","r")
link abc=new node[sizeof(node)]
fread(abc,sizeof(node),1,fp)
int num=len
while(num)
{
printf("%s %s %s %d\n",abc->a,abc->b,abc->c,abc->d)
fread(abc,sizeof(node),1,fp)
num--
}
fclose(fp)
}
void add()
{
FILE* fp
int offset=0
int flag=0
int sum=0
fp=fopen("A.txt","a+")
printf("输入添加记录:\n")
link nlink=new node[sizeof(node)]
printf("input a string:")
scanf("%s",nlink->a)
printf("input b string:")
scanf("%s",nlink->b)
printf("input c:string:")
scanf("%s",nlink->c)
printf("input d:int:")
scanf("%d",&nlink->d)
sum=nlink->d
//getchar()
int num=len
link abc=new node[sizeof(node)]
fread(abc,sizeof(node),1,fp)
while(num)
{
if (strcmp(nlink->a,abc->a)==0 && strcmp(nlink->b,abc->b)==0)
{
flag=1
}
fread(abc,sizeof(node),1,fp)
num--
}
if (flag==0)
{
len++
fwrite(nlink,sizeof(node),1,fp)
}
else
{
fclose(fp)
fp=fopen("A.txt","w+")
num=len
fread(abc,sizeof(node),1,fp)
while(num)
{
if (strcmp(nlink->a,abc->a)==0 && strcmp(nlink->b,abc->b)==0)
{
abc->d+=nlink->d
fwrite(abc,sizeof(node),1,fp)
}
fread(abc,sizeof(node),1,fp)
num--
}
}
fclose(fp)
}
void main()
{
insert()
show()
add()
show()
}
//---------------------------------------------------------------------------#include <stdio.h>
struct pro
{float msl
float la,lo
double refractivity,density,pressure
float temp
}atm[200]
int main(void)
{
FILE *fp=fopen("infile.dat","r"),*fp2=NULL
int i
if (!fp||(fp2=fopen("out.txt","w"))==NULL) {
fprintf(stderr,"FILE ERROR")
return -1
}
for (i = 0i<200i++) {
fscanf(fp,"%f%f%f%lf%lf%lf%f",&atm[i].msl,&atm[i].la,&atm[i].lo,&atm[i].refractivity,&atm[i].density,&atm[i].pressure,&atm[i].temp)
/*将数据写到out.txt文件*/
fprintf(fp,"%f\t%f\t%f\t%lf\t%lf\t%lf\t%f\n",atm[i].msl,atm[i].la,atm[i].lo,atm[i].refractivity,atm[i].density,atm[i].pressure,atm[i].temp)
}
fclose(fp)
fclose(fp2)
return 0
}
//---------------------------------------------------------------------------