C实现简单的本地数据存储

实现的要求。
1:实现一个班级的学生课程和成绩的存储
2:数据可以在本地存储和读取
3:可以计算每个学生的平均成绩
4:计算每个班级的平均成绩
5:每个学生的课程可能不一样
6:每个班的学生人数可能不一样

拿到这个要求我觉得用链表和数组相结合的方式来实现
那Xmind的基本思路如下

c实现本地链表.png

主要想法如下;
1:考虑到每个班级的人数不定,每个人所学的科目不一样。采用链表实现
2:一条链表(node*)就是一个学生的信息。链表中有两个数据域,一个成绩(int ,一个课程(char )。带头节点。头节点中存放姓名
3:一个班级的表现形式用数组实现,数组里面有三个数据域,一个是学号(int ),一个是链表的节点(node
)。一个是平均成绩(double)
4班级的数组就要用数组定义,一个班级要是有20个人 eg:class[20];
5:求每个学生的平均成绩,遍历链表,放到平均成绩中去
6:求每个班级的平均成绩,遍历class数组求平均数

上面的思维导图是很早的时候写的,在具体写函数的时候加上了写文件和读文件。还有main()函数里面加了一些流程操作语句::

那函数如下:

屏幕快照 2018-09-20 上午12.13.05.png
屏幕快照 2018-09-20 上午12.13.18.png
屏幕快照 2018-09-20 上午12.13.23.png
屏幕快照 2018-09-20 上午12.13.27.png
屏幕快照 2018-09-20 上午12.13.31.png
屏幕快照 2018-09-20 上午12.13.34.png
屏幕快照 2018-09-20 上午12.13.39.png
屏幕快照 2018-09-20 上午12.13.39.png

文件在本地的存储是应该采用二进制来存取,这样会保证数据的完整性,不会产生数据的冗余。

你可能感兴趣的:(C实现简单的本地数据存储)