目录
对文件进行操作是c语言不可或缺测一部分,这里我通过例题来实现与说明
一.题目描述:有5个学生,每个学生有3门课程的成绩,从键盘输人学 生数据(包括学号,姓名,3门课程成绩),计算出平均成 绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。
二: 将第1题stud文件中的学生数据,按平均分进行排序处理将已排序的学生数据存入一个新文件stu_ sort 中。
三:将第2题已排序的学生成绩文件进行插人处理。插人一个 学生的3门课程成绩,程序先计算新插人学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。
对文件进行操作是c语言不可或缺的一部分,这里我通过例题来实现与说明
一.题目描述:有5个学生,每个学生有3门课程的成绩,从键盘输人学生数据(包括学号,姓名,3门课程成绩)计算出平均成绩将原有数据和计算出的平均分数存放在磁盘文件stud中。
代码详解:![]()
运行解结果:
由图片可知,经过写入,数据已经存在于我们的文件中
二: 将第1题stud文件中的学生数据,按平均分进行排序处理将已排序的学生数据存入一个新文件stu_ sort 中。
思路:这里同样需要用到结构体变量,我在这里采用了冒泡排序的方法将学生平均成绩由高到低进行排序,需要注意的是,交换结构体数据需要用到memcpy函数。
有关memcpy函数:
使用注意:
1.函数memcpy从src位置开始向后复制count个字节数据到dest指向的内存位置
2.这个函数在遇到‘\0’时不会停下来
3.如果src和dest有任何的重叠,复制的结果都是未定义的
这题代码:
运行结果:
由文件信息可知,学生的顺序已经按照平均分的高低排序
三:将第2题已排序的学生成绩文件进行插人处理。插人一个 学生的3门课程成绩,程序先计算新插人学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。
主要思路:
1.读入文件信息2.插入新学生信息3.写入文件信息
其中插入学生信息函数:(定义老生信息是old_stu,新生是new_stu),pos为找寻插入点
结构体定义与主函数中传参:
插入函数:
代码详解:
运行结果:
在文本信息中,已经将学生信息按照平均分由高到低进行排序
博客到这里也是结束了,喜欢的小伙伴可以点赞加关注支持下博主,这对我真的很重要~~