ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:81.38KB ,
资源ID:2890705      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2890705.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统文件操作实验.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统文件操作实验.docx

1、操作系统文件操作实验xx工程学院上机实 验 报 告 课 程 名 称: 操作系统 实验项目名称: 文件操作 学生班级: 学生学号: 学生姓名: 指导教师: 实 验 时 间: 实 验 地 点: 信息楼专业机房 实验成绩评定: 2016-2017-1学期一、实验目的及内容在掌握文件的概念和文件管理功能后,通过实验进一步了解文件的组织结构以及常规操作,从而了解文件的实际应用,为大量信息处理问题提供一种实用有效的管理模式。内容:创建一个新文件,文件内容为本班所有同学的学号、姓名、操作系统课程成绩,要求采用有格式的存储格式;文件建立之后,能够对文件进行插入、删除、查找等操作。二、实验相关知识简介文件系统提

2、供给用户程序的一组系统调用,如文件的建立、打开、关闭、撤消、读、写和控制等,通过这些系统调用用户能获得文件系统的各种服务。不同的系统提供给用户不同的对文件的操作手段,但所有系统一般都提供以下关于文件的基本操作:1对整体文件而言(1)打开(open)文件,以准备对该文件进行访问。(2)关闭(close)文件,结束对该文件的使用。(3)建立(create)文件,构造一个新文件。(4)撤消(destroy)文件,删去一个文件。(5)复制(copy)文件,产生一个文件副本。2对文件中的数据项而言(1)读(read)操作,把文件中的一个数据项输入给进程。(2)写(write)操作,进程输出一个数据项到文

3、件中去。(3)修改(update)操作,修改一个已经存在的数据项。(4)插入(insert)操作,添加一个新数据项。(5)删除(delete)操作,从文件中移走一个数据项。 三、设计思路及关键程序代码分析#include #include #include int NUM = 0; struct student char num20; / 学号 char nam20; / 姓名 int score; / 成绩 struct student * next; ; typedef struct student Stu; typedef Stu * STU; void SaveConf(STU hea

4、d); void Menu(STU head); void Choose(STU head); void LoadConf(STU head); void Create(STU head); void Init(STU *head) /头节点初始化 (*head) = (STU)malloc(sizeof(Stu); (*head)-next = NULL; void LoadConf(STU head) /从文件加载信息至链表 int i = 1; FILE *fp; STU newstu; STU p= head; fp = fopen(text.txt,r+); if(fp = NULL

5、) printf(文件不存在!已为您创建新文件!n); fp = fopen(text.txt,a+); while(i 0) newstu = (STU)malloc(sizeof(Stu); i = fscanf(fp,%s %s %dn,newstu-num,newstu-nam,&newstu-score); if(i = -1) free(newstu); newstu = NULL; break; p = head; while(p-next != NULL) p = p-next; p-next = newstu; newstu-next = NULL; p = NULL; fc

6、lose(fp); void Create(STU head) /插入信息 STU newstu; STU p = head; newstu = (STU)malloc(sizeof(Stu); printf(请输入学号:); scanf(%s,newstu-num); printf(请输入姓名:); scanf(%s,newstu-nam); printf(请输入成绩:); scanf(%d,&newstu-score); while(p-next != NULL) p = p-next; p-next = newstu; newstu-next = NULL; char flag; get

7、char(); printf(是否继续插入信息(y or n):); scanf(%c,&flag); if(flag=y) Create(head); else Choose(head); void SaveConf(STU head) /保存信息到文件 FILE *fp; STU p = head-next; fp = fopen(text.txt,w); if(fp = NULL) printf(打开文件失败!n); return; while(p != NULL) fprintf(fp,%s %s %dn,p-num,p-nam,p-score); /写入数据到文件中 p = p-ne

8、xt; fclose(fp); STU search(STU head,char *s) /删除 STU p; p = head-next; while(p != NULL) if(strcmp(s,p-num) = 0) return p; p = p-next; return p; void Delete(STU head) STU p; STU q = head; char flag; char n20; printf(请输入需要删除学生的学号: ); scanf(%s,&n); p = search(head,n); if(p = NULL) getchar(); printf(您输入

9、的学号不存在,请重新输入: ); scanf(%c,&flag); Delete(head); else getchar(); printf(%s %s %dn,p-num,p-nam,p-score); q = head; while(q-next != p) q = q-next; q-next = p-next; p-next = NULL; free(p); p = NULL; printf(delete success!n); Choose(head); void Constant(STU head) /查找 STU p = head; char number20; int find

10、=0; printf(请输入需要查找学生的学号:); scanf(%s,number); while(p != NULL) if(strcmp(number,p-num) = 0) printf(查找结果如下:n); printf(%s %s %dn,p-num,p-nam,p-score); find=1; p = p-next; if(find=0) printf(您输入的学号不存在!); getchar(); Choose(head); void Menu(STU head) printf(t*文件管理*tn); printf(t*1.插入信息*tn); printf(t*2.删除信息*

11、tn); printf(t*3.查找信息*tn); printf(t*0.退出*tn); void Choose(STU head) int choice = 0; printf(nplease input your choice: ); scanf(%d,&choice); switch(choice) case 1:Create(head);break; case 2:Delete(head);break; case 3:Constant(head);break; case 0:SaveConf(head);break; default: printf(输入有误,请重新输入!n); Choose(head); break; int main() STU head; Init(&head); LoadConf(head); Menu(head); Choose(head); return 0; 四、运行结果创建新文件后的文本内容:执行插入信息操作:执行删除操作:五、体会与提高 通过本次的实验设计,把教材中的理论知识转化为实践,在一定程度上加深了我对读者-写者这类经典的同步问题的理解,同时也提高了我的动手编程和独立思考的能力。虽然在分析问题的过程中,遇到了很多的疑惑与不解,但同时掌握了很多进程同步的知识 教师评语:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1