数据结构实践项目——文件

简介: 本文是针对[数据结构基础系列(11):文件]中的实践项目。【项目1】操作文件 有若干学生的成绩数据如下,将这些数据保存到st数组中: 学号 姓名 年龄 性别 语文 数学 英语 1 陈华 20 男 78 90 84 5 张明 21 男 78 68 92 8

本文是针对[数据结构基础系列(11):文件]中的实践项目。

【项目1】操作文件
有若干学生的成绩数据如下,将这些数据保存到st数组中:

  学号     姓名    年龄 性别 语文 数学 英语
    1      陈华    20   男   78   90   84
    5      张明    21   男   78   68   92
    8      王英    20   女   86   81   86
    3      刘丽    21   女   78   92   88
    2      许可    20   男   80   83   78
    4      陈军    20   男   78   88   82
    7      马胜    21   男   56   67   75
    6      曾强    20   男   78   89   82

基于这些数据,编程序实现下面的功能:
(1)将st数组中学生记录写入stud.dat文件
(2)将stud.dat文件中学生记录读入到st数组中
(3)显示st数组中的学生记录
(4)求学生的平均分并放在st1数组中
(5)对st1数组按平均分递减排序
(6)将st1数组中学生记录写入stud1.dat文件
(7)将stud1.dat文件中学生记录读入到st1数组中
(8)显示st1数组中的学生记录

[参考解答]

【项目2】索引文件
有若干学生的成绩数据如下,将这些数据保存到st数组中:

  学号     姓名    年龄 性别 语文 数学 英语
    1      陈华    20   男   78   90   84
    5      张明    21   男   78   68   92
    8      王英    20   女   86   81   86
    3      刘丽    21   女   78   92   88
    2      许可    20   男   80   83   78
    4      陈军    20   男   78   88   82
    7      马胜    21   男   56   67   75
    6      曾强    20   男   78   89   82

基于这些数据,编程序实现下面的功能:
(1)将st数组中学生记录写入stud.dat文件作为主文件
(2)输出主文件中的学生记录
(3)建立与主文件相对应的索引文件,其中每个记录由两个字段组成:学号和该学生记录在数据文件中的位移量(例:上面列出数据中学号为2的学生许可,其位移量是5。由于本例用定长文件,可以根据位移量计算记录在主文件中的相对地址)。索引文件按学号有序。
(4)输出索引文件中的全部记录
(5)根据用户输入的学号,利用索引文件,用二分查找法找到对应的记录号,再通过主文件输出该记录
(6)是否有想法,将这个项目再扩充了?加大数据量、哈希文件、多关键字文件……

[参考解答]

目录
相关文章
|
2月前
|
存储 算法 C语言
通义灵码在考研C语言和数据结构中的应用实践 1-5
通义灵码在考研C语言和数据结构中的应用实践,体验通义灵码的强大思路。《趣学C语言和数据结构100例》精选了五个经典问题及其解决方案,包括求最大公约数和最小公倍数、统计字符类型、求特殊数列和、计算阶乘和双阶乘、以及求斐波那契数列的前20项和。通过这些实例,帮助读者掌握C语言的基本语法和常用算法,提升编程能力。
90 4
|
2月前
|
存储
探索数据结构:单链表的实践和应用
探索数据结构:单链表的实践和应用
|
7月前
|
存储
【数据结构】----顺序表项目-通讯录
【数据结构】----顺序表项目-通讯录
33 0
|
7月前
|
机器学习/深度学习 算法
数据结构小实践
【4月更文挑战第13天】数据结构小实践
64 1
|
7月前
|
存储 算法 C语言
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
|
7月前
|
机器学习/深度学习 存储 人工智能
数据结构与算法设计:深度解析与实践
数据结构与算法设计:深度解析与实践
161 0
|
7月前
|
存储 算法 C语言
【C/C++ 数据结构 树】探索C/C++中的二叉树:从理论到实践
【C/C++ 数据结构 树】探索C/C++中的二叉树:从理论到实践
144 0
|
7月前
|
存储 算法 C++
【C/C++ 数据结构】哈希表冲突解决策略深度解析:原理、数学与C/C++实践
【C/C++ 数据结构】哈希表冲突解决策略深度解析:原理、数学与C/C++实践
172 0
|
7月前
|
存储 机器学习/深度学习 算法
【C/C++ 数据结构 】对称矩阵解析:数学原理与C/C++实践探索
【C/C++ 数据结构 】对称矩阵解析:数学原理与C/C++实践探索
268 0