📄 insert.c
字号:
#include <stdio.h>
#include "h.h"
void insert()
{
FILE *fp1;
char c='b';
/*输入一份数据*/
printf("\tNO.:");/*学号*/
scanf("%s",s.num);
if((fp=fopen("student.dat","r"))==0)
{
fp=fopen("student.dat","w");
}
for(i=0;fread(&st[i],LEN,1,fp)!=0;i++); /*计算i值*/
n=i;
for(i=0;i<n;i++)
{
if(strcmp(s.num,st[i].num)==0)
{
printf("please input again!");
printf("\n\tNO.:");
scanf("%s",s.num);
}
}
printf("\tName:");/*姓名*/
scanf("%s",s.name);
printf("\tSex(boy/girl):");/*性别*/
scanf("%s",s.sex);
while(strcmp(s.sex,"boy")!=0&&strcmp(s.sex,"girl")!=0)
{
printf("please input again!\n\tSex(boy/girl):");
scanf("%s",s.sex);
}
for(j=0;j<K;j++)/*各科成绩*/
{
printf("\tScore%d:",j+1);
scanf("%d",&s.score[j]);
while(s.score[j]<0||s.score[j]>100)
{
printf("please input again!\n\tScore%d:",j+1);
getchar();
scanf("%d",&s.score[j]);
}
}
s.ave=0;/*平均成绩*/
for(j=0;j<K;j++)
s.ave+=s.score[j];
s.ave=s.ave/K;
/*从文件读取数据*/
if((fp=fopen("student.dat","r"))==0)
{
fp=fopen("student.dat","w");
}
for(i=0;fread(&st[i],LEN,1,fp)!=0;i++); /*计算i值*/
n=i;
for(t=0;st[t].num>s.num&&t<n;t++); /*计算t值*/
/*向文件输出数据*/
fp1=fopen("student.dat","wb");
for(i=0;i<t;i++)
{
fwrite(&st[i],LEN,1,fp1);
}
fwrite(&s,LEN,1,fp1);
for(i=t;i<n;i++)
{
fwrite(&st[i],LEN,1,fp1);
}
fclose(fp);
fclose(fp1);
printf("\n");
printf("do you want enter the menu?(y/n)\n\ty--return menu\n\tn--continue:");
getchar();
scanf("%c",&c);
if(c=='y'||c=='Y')
main();
if(c=='n'||c=='N')
insert();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -