如何用C来从文件中检索出有用的信息

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:53:18
我想从以下数据中检索出成绩大于60的学生的学号
以下信息是放在文件data.txt中的,见附件
data.txt的内容如下:
学号 成绩
101 45
105 100
189 99
109 13
110 60
108 77
117 68
99 25
255 65
102 100

我知道应该先从文件中把这些数据读出来,到底是读到数组中呢
还是读到结构体中呢?读到结构体中又怎样读呢?
我应经查了好多关于文件操作的资料了,可是还是没有解决,
希望各位大虾能指点一下!!
先谢谢了

deng

如果只是读取,打印,不需要数组,也不需要结构体

可以用

FILE *fp;
FILE *fdest;
int id,score;
//......
while(fscanf(fp,"%d %d",&id, &score)!=EOF)
{
  if(score >=60)
  {
    printf("%d %d\n", id, score);
    fprintf(fdest,"%d %d\n", id, score);//存储到新文件
  }
}

读到数组中
一一对应!一个学号只能有一个成绩对吧!
那么a[i]就可以对应到b[i]啦!

我楼上的说的好,很简单的一个问题
其实用结构体和数组,对于你的问题都是可行的。

定义一个结构:

struct SidGrade {
int sid;
int grade;
}student[40];//定义一个结构数组来存放里面的数据

现在就读入输入数据,例如:
学号 成绩
101 45

student[0].sid = 101;
student[0].grade = 45;