该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
struct record
{int id;
}student[500];
int num=0;
void newrecord();
void writetofile();
void searchmenu();
void read();
FILE *fp;
void main()
{
read();
int a;
printf("\n\t\t******************** 主菜单 ********************");
printf("\n\t\t************1-添加记录 2-查询记录**********");
printf("\n\t\t********************3-保存退出******************");
printf("\n\t\t请选择:");
scanf("%d",&a);
if(a==1)
newrecord();
else if(a==2)
searchmenu();
else
writetofile();
}
void newrecord()
{ system("cls");
printf("\n\t\t**************** 请输入学生信息 ****************\n");
printf("\n\t\t输入学号:");
scanf("%d",&student[num].id);
num++;
printf("\n\t\t是否继续添加?(Y/N):");
if (getch()=='y')
newrecord();
else
system("cls");
main();
}
void read()
{fp=fopen("student.bin","ab");
fseek(fp,0,2);
if(ftell(fp)>0)
{rewind(fp);
for(num=0;!feof(fp) && fread(&student[num],sizeof(struct record),1,fp);num++);
}
}
void writetofile()
{
int i;
fp=fopen("student.bin","wb");
for (i=0;i
fwrite(&student[i],sizeof(struct record),1,fp)!=1;
fclose(fp);
}
void searchmenu()
{int i;
system("cls");
for(i=0;i<=num;i++)
{
printf("\n\t\t学号: %d",student[i].id);
printf("\t\t");
}
}