C/C++ code#include "stdafx.h"
#include "stdafx.h"
#include "stdafx.h"
#include
#include
#include
#define N 3
struct student_data
{
int num;
char name[10];
int age;
int grade;
}stud[N];
void MainScree();
FILE *fp;
void save()
{
FILE *fp;
int i;
if((fp=fopen("stu.txt","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i
if(fwrite(&stud[i],sizeof(struct student_data),1,fp)!=1)
printf("file weite error\n");
fclose(fp);
}
void search()
{
printf("**********************************\n");
printf(" 1.1--------按学号查询\n");
printf(" 1.2--------按姓名查询\n");
printf(" 1.3--------按成绩查询\n");
printf("**********************************\n");
//FILE *fp;
int k;
int j,t,i;
char m[20];
printf("请选择查询方法:\n");
scanf("%d",&k);
if(k==1)
{
printf("您选择的是按学号查询,输入学号:\n");
scanf("%d",&j);
for(i=0;i
{
//fread(&stud[i],sizeof(struct student_data),1,fp);
if(stud[i].num==j)
{
printf("%d%s%d%d",stud[i].num,stud[i].name,stud[i].age,stud[i].grade);
printf("\n");
}
}
}
else if(k==2)
{
printf("您选择的是按姓名查询,输入姓名:\n");
scanf("%s",m);
for(i=0;i
{
//fread(&stud[i],sizeof(struct student_data),1,fp);
if(strcmp(stud[i].name,m)==0)
{
printf("%d%s%d%d",stud[i].num,stud[i].name,stud[i].age,stud[i].grade);
printf("\n");
}
}
}
else if(k==3)
{
printf("您选择的是按成绩查询,输入成绩:\n");
scanf("%d",&t);
for(i=0;i
{
//fread(&stud[i],sizeof(struct student_data),1,fp);
if(stud[i].grade
{
printf("%d%s%d%d",stud[i].num,stud[i].name,stud[i].age,stud[i].grade);
printf("\n");
}
}
}
else {
printf("请输入有效的选择!\n");
}
//fclose(fp);
MainScree();
}
void paixu()
{
struct student_data temp;
int i,j;
for(j=0;j
{
for(i=0;i
{
if(stud[i].grade
{
temp=stud[i];
stud[i]=stud[i+1];
stud[i+1]=temp;
}
}
}
for(i=0;i
{
printf("%d%s%d%d\n",stud[i].num,stud[i].name,stud[i].age,stud[i].grade);
}
MainScree();
}
void charu()
{
int i,k,j;
struct student_data temp;
FILE* fp;
printf("请输入k的值:\n");
scanf("%d",&k);
printf("请输入k个学生的数据:\n");
for(i=N;i
{
scanf("%d%s%d%d",&stud[i].num,stud[i].name,&stud[i].age,&stud[i].grade);
}
if((fp=fopen("stu.txt","w"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i
{
if(fwrite(&stud[i],sizeof(struct student_data),1,fp)!=1);
printf("file write error!\n");
}
for(j=0;j
{
for(i=0;i
{
if(stud[i].num>stud[i+1].num)
{
temp=stud[i];
stud[i]=stud[i+1];
stud[i+1]=temp;
}
}
}
for(i=0;i
{
fread(&stud[i],sizeof(struct student_data),1,fp);
printf("%d%s%d%d\n",stud[i].num,stud[i].name,stud[i].age,stud[i].grade);
}
fclose(fp);
}
void tuichu()
{
}
void shanchu()
{
}
void MainScree()
{
printf("**************************************\n");
printf(" 1----------查询\n");
printf(" 2----------排序\n");
printf(" 3----------插入\n");
printf(" 4----------删除\n");
printf(" 5----------退出\n");
printf("**************************************\n");
int i;
printf("请选择:\n");
scanf("%d",&i);
switch(i)
{
case 1:search();break;
case 2:paixu();break;
case 3:charu();break;
case 4:shanchu();break;
case 5:tuichu();break;
default:{
printf("请输入有效选择!\n");
MainScree();
}
}
}
int main()
{
int i;
printf("Please enter data of student:\n");
for(i=0;i
scanf("%d%s%d%d",&stud[i].num,stud[i].name,&stud[i].age,&stud[i].grade);
save();
FILE *fp;
if((fp=fopen("stu.txt","rb"))==NULL)
{
printf("cannot open file\n");
}
for(i=0;i
{
fread(&stud[i],sizeof(struct student_data),1,fp);
printf("%d%s%d%d",stud[i].num,stud[i].name,stud[i].age,stud[i].grade);
printf("\n");
}
//fclose(fp);
MainScree();
return 0;
}