教
教主夫人
#include <stdio.h>
#include <string.h>
struct student
{
int num;
char name[8];
int score;
}st[50],t;
input()
{
FILE *fp;
int i;
for (i=0;i<5;i++)
scanf("%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fp=fopen("qdata.txt","w");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
{
fprintf(fp,"%d ",st[i].num);
fprintf(fp,"%s ",st[i].name);
fprintf(fp,"%d \n",st[i].score);
}
fclose(fp);
}
display()
{
FILE *fp;
int i;
char random[20];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fclose(fp);
for (i=0;i<5;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
insert()
{
FILE *fp;
int i,j;
char random[20];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
for (i=0;i<4;i++)
for (j=i+1;j<5;j++)
if (strcmp(st[i].name,st[j].name)>0)
{
t=st[i];
st[i]=st[j];
st[j]=t;
}
scanf("%d %s %d\n",&st[5].num,st[5].name,&st[5].score);
for (i=0;i<5;i++)
if (strcmp(st[5].name,st[i].name)<0)
{
t=st[i];
st[i]=st[5];
st[5]=t;
}
for (i=0;i<6;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
seek()
{
FILE *fp;
char random[10];
int num,i;
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fclose(fp);
scanf("%d",&num);
for (i=0;i<5;i++)
if (num==st[i].num)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
del()
{
FILE *fp;
char random[10];
int num,i,j;
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fclose(fp);
scanf("%d",&num);
for (i=0;i<5;i++)
if (num==st[i].num)
for (j=i+1;j<5;j++)
st[j-1]=st[j];
for (i=0;i<4;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
descend()
{
FILE *fp;
int i,j;
char random[10];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
for (i=0;i<4;i++)
for (j=i+1;j<5;j++)
if (st[i].score<st[j].score)
{
t=st[i];
st[i]=st[j];
st[j]=t;
}
for (i=0;i<5;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
fp=fopen("qdata.txt","w");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fprintf(fp,"%d %s %d\n",st[i].num,st[i].name,st[i].score);
fclose(fp);
}
number()
{
}
average()
{
FILE *fp;
int i,sum,avg;
char random[10];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
sum=0;
for (i=0;i<5;i++)
sum=sum+st[i].score;
avg=sum/5;
printf("%d\n",avg);
scanf("%s",random);
}
best()
{
FILE *fp;
int i,j,max;
char random[10];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
max=st[0].score;
for (i=0;i<5;i++)
if (max<=st[i].score)
{
max=st[i].score;
j=i;
}
printf("%d %s %d\n",st[j].num,st[j].name,st[j].score);
scanf("%s",random);
}
main()
{
while (1)
{
char i;
clrscr();
printf("\t\t\t\tMenu\n\n");
printf("\t\t1 Input record\n");
printf("\t\t2 Display record\n");
printf("\t\t3 Insert record\n");
printf("\t\t4 Seek record\n");
printf("\t\t5 Delete record\n");
printf("\t\t6 Sort descending records according to sore\n");
printf("\t\t7 Count the number of student\n");
printf("\t\t8 Count the average score of all students\n");
printf("\t\t9 Display the best student among all the students\n\t\t");
printf("0 Exit\n\t\t");
printf("=================================================\n\t\t");
printf("Please enter your choice:");
scanf("%c",&i);
switch (i)
{
case '1':input();break;
case '2':display();break;
case '3':insert();break;
case '4':seek();break;
case '5':del();break;
case '6':descend();break;
case '7':number();break;
case '8':average();break;
case '9':best();break;
case '0':exit(1);break;
}
}
}
#include <string.h>
struct student
{
int num;
char name[8];
int score;
}st[50],t;
input()
{
FILE *fp;
int i;
for (i=0;i<5;i++)
scanf("%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fp=fopen("qdata.txt","w");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
{
fprintf(fp,"%d ",st[i].num);
fprintf(fp,"%s ",st[i].name);
fprintf(fp,"%d \n",st[i].score);
}
fclose(fp);
}
display()
{
FILE *fp;
int i;
char random[20];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fclose(fp);
for (i=0;i<5;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
insert()
{
FILE *fp;
int i,j;
char random[20];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
for (i=0;i<4;i++)
for (j=i+1;j<5;j++)
if (strcmp(st[i].name,st[j].name)>0)
{
t=st[i];
st[i]=st[j];
st[j]=t;
}
scanf("%d %s %d\n",&st[5].num,st[5].name,&st[5].score);
for (i=0;i<5;i++)
if (strcmp(st[5].name,st[i].name)<0)
{
t=st[i];
st[i]=st[5];
st[5]=t;
}
for (i=0;i<6;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
seek()
{
FILE *fp;
char random[10];
int num,i;
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fclose(fp);
scanf("%d",&num);
for (i=0;i<5;i++)
if (num==st[i].num)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
del()
{
FILE *fp;
char random[10];
int num,i,j;
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
fclose(fp);
scanf("%d",&num);
for (i=0;i<5;i++)
if (num==st[i].num)
for (j=i+1;j<5;j++)
st[j-1]=st[j];
for (i=0;i<4;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
}
descend()
{
FILE *fp;
int i,j;
char random[10];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
for (i=0;i<4;i++)
for (j=i+1;j<5;j++)
if (st[i].score<st[j].score)
{
t=st[i];
st[i]=st[j];
st[j]=t;
}
for (i=0;i<5;i++)
printf("%d %s %d\n",st[i].num,st[i].name,st[i].score);
scanf("%s",random);
fp=fopen("qdata.txt","w");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fprintf(fp,"%d %s %d\n",st[i].num,st[i].name,st[i].score);
fclose(fp);
}
number()
{
}
average()
{
FILE *fp;
int i,sum,avg;
char random[10];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
sum=0;
for (i=0;i<5;i++)
sum=sum+st[i].score;
avg=sum/5;
printf("%d\n",avg);
scanf("%s",random);
}
best()
{
FILE *fp;
int i,j,max;
char random[10];
fp=fopen("qdata.txt","r");
if (fp==NULL)
exit(1);
for (i=0;i<5;i++)
fscanf(fp,"%d %s %d\n",&st[i].num,st[i].name,&st[i].score);
max=st[0].score;
for (i=0;i<5;i++)
if (max<=st[i].score)
{
max=st[i].score;
j=i;
}
printf("%d %s %d\n",st[j].num,st[j].name,st[j].score);
scanf("%s",random);
}
main()
{
while (1)
{
char i;
clrscr();
printf("\t\t\t\tMenu\n\n");
printf("\t\t1 Input record\n");
printf("\t\t2 Display record\n");
printf("\t\t3 Insert record\n");
printf("\t\t4 Seek record\n");
printf("\t\t5 Delete record\n");
printf("\t\t6 Sort descending records according to sore\n");
printf("\t\t7 Count the number of student\n");
printf("\t\t8 Count the average score of all students\n");
printf("\t\t9 Display the best student among all the students\n\t\t");
printf("0 Exit\n\t\t");
printf("=================================================\n\t\t");
printf("Please enter your choice:");
scanf("%c",&i);
switch (i)
{
case '1':input();break;
case '2':display();break;
case '3':insert();break;
case '4':seek();break;
case '5':del();break;
case '6':descend();break;
case '7':number();break;
case '8':average();break;
case '9':best();break;
case '0':exit(1);break;
}
}
}