本文主要是介绍操作系统实验四:文件管理(2学时),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、实验目的
通过本次实验对一个班级学生成绩的管理,使学生了解文件的主要操作。详细的目标如下:
- 通过实验中文件的创建、复制和删除等操作完成对文件管理。
- 了解文件、文件目录的结构。
- 掌握文件的读写、文件指针移动基本操作,并了解文件控制的作用。
二、实验内容
- 学生了解实验目的,创建文件、输入班级成绩、保存文件等功能需要画出流程框图。
- 利用磁盘文件对学生成绩进行管理:查询成绩、修改成绩、显示所有的学生成绩。
- 编写一个班级成绩复制到另一个文件的功能。
- 学习使用文件控制,实现指定班级成绩文件的删除操作【选做】。
- 实现目录的管理,创建与删除子目录、搜索指定的文件等【选做】。
三、实验步骤
- 复习文件操作部分内容。
- 按照要求编出复制文件和利用磁盘文件管理学生情况的程序。
- 预习Java相关的IDE或Visual C++ 6.0、GCC++编程工具的文件控制。
- 上机调试程序。
- 完成实验报告。
- 利用磁盘文件对学生成绩进行管理:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct Score {char name[20];int math_score;int english_score;
};int main() {FILE* fp;struct Score score;char query_name[20];int found = 0;// 打开文件fp = fopen("score.dat", "rb");if (fp == NULL) {printf("Failed to open file\n");exit(1);}// 读取数据while (fread(&score, sizeof(struct Score), 1, fp) > 0) {if (strcmp(score.name, query_name) == 0) {printf("%s's scores: Math: %d, English: %d\n",score.name, score.math_score, score.english_score);found = 1;break;}}// 关闭文件fclose(fp);if (!found) {printf("Score not found.\n");}return 0;
}
2.修改成绩:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct Score {char name[20];int math_score;int english_score;
};int main() {FILE* fp;struct Score score;char modify_name[20];int found = 0, modify_math_score, modify_english_score;// 打开文件fp = fopen("score.dat", "r+b");if (fp == NULL) {printf("Failed to open file\n");exit(1);}// 修改数据while (fread(&score, sizeof(struct Score), 1, fp) > 0) {if (strcmp(score.name, modify_name) == 0) {found = 1;printf("%s's scores: Math: %d, English: %d\n",score.name, score.math_score, score.english_score);printf("Enter new math score:");scanf("%d", &modify_math_score);printf("Enter new english score:");scanf("%d", &modify_english_score);score.math_score = modify_math_score;score.english_score = modify_english_score;fseek(fp, -sizeof(struct Score), SEEK_CUR);fwrite(&score, sizeof(struct Score), 1, fp);break;}}// 关闭文件fclose(fp);if (!found) {printf("Score not found.\n");} else {printf("Score modified.\n");}return 0;
}
3.显示所有学生成绩
#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct Score {
这篇关于操作系统实验四:文件管理(2学时)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!