运行结果不对啊!!!!!!!!!!1
高考考生的信息包括考号、身份证号、文理科、考试成绩等信息,其中考试成绩包括数学、语文、外语、综合、基本能力,输入10名考生的信息,并存入score.txt文件中。读出score.txt文件中所有考生的信息,把理科考试成绩大于538,文科考试成绩大于558的信息逐行输出出来。
#include"stdio.h"
#include<stdlib.h>
#include<ctype.h>
#define N 2
struct score
{
float chinese;
float math;
float english;
float comin;
float basis;
};
struct examin
{
int mark;//文科用0表示;理科用1表示。
int num;
int identnum;
struct score fen;
float sumscore;
};
int main()
{
int mark;
struct examin te[N];//结构体变量的定义
int i;
FILE * fp;
if((fp=fopen("c://score.txt","wb"))==NULL)
{
printf("can't open file score.txt\n");
exit(0);
}
printf("按顺序输入文理科、考号、身份证号、考试成绩(语文、数学、外语、综合、基本能力):\n");
for(i=0;i<N;i++)
{
printf("输入考生 %d 的信息:",i+1);
scanf("%d ",&te[i].mark);
scanf("%d ",&te[i].num);
scanf("%d ",&te[i].identnum);
scanf("%f %f %f %f %f\n",&te[i].fen.chinese,&te[i].fen.math,
&te[i].fen.english,&te[i].,&te[i].fen.basis);
te[i].sumscore=te[i].fen.chinese+te[i].fen.math
+te[i].fen.english+te[i].[i].fen.basis;
}
fwrite(&te,sizeof(struct examin),N,fp);//将N个结构体的变量的内容写入文件
fclose(fp);
if((fp=fopen("c://score.txt","wb"))==NULL)
{
printf("can't open file score.txt\n");
exit(0);
}
fread(&te,sizeof(struct examin),N,fp);
for(i=0;i<N;i++)
{
if(te[i].mark==0&&te[i].sumscore>558)
{
printf("文理科%d ",te[i].mark);
printf("考号%d ",te[i].num);
printf("身份证号%d ",te[i].identnum);
printf("语文%f 数学%f 外语%f 综合%f 基本能力%f\n",te[i].fen.chinese,te[i].fen.math,
te[i].fen.english,te[i].,te[i].fen.basis);
}
if(te[i].mark==1&&te[i].sumscore>538)
{
printf("文理科%d ",te[i].mark);
printf("考号%d ",te[i].num);
printf("身份证号%d ",te[i].identnum);
printf("语文%f 数学%f 外语%f 综合%f 基本能力%f\n",te[i].fen.chinese,te[i].fen.math,
te[i].fen.english,te[i].,te[i].fen.basis);
}
}
}