




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用文档南京工程学院上机实验报告课程名称:操作系统实验项目名称:文件操作学生班级:学生学号:学生姓名:指导教师:实验时间:实验地点:信息楼专业机房实验成绩评定:2016-2017-1 学期一、实验目的及内容在掌握文件的概念和文件管理功能后,通过实验进一步了解文件的组织结构以及常规操作,从而了解文件的实际应用,为大量信息处理问题提供一种实用有效的管理模式。内容:创建一个新文件,文件内容为本班所有同学的学号、姓名、操作系统课程成绩, 要求采用有格式的存储格式;文件建立之后,能够对文件进行插入、删除、查找等操作。二、实验相关知识简介文件系统提供给用户程序的一组系统调用,如文件的建立、打开、关闭、撤消
2、、读、写 和控制等,通过这些系统调用用户能获得文件系统的各种服务。不同的系统提供给用户不同的对文件的操作手段,但所有系统一般都提供以下关于文件的基本操作:1 .对整体文件而言(1)打开(open)文件,以准备对该文件进行访问。(2)关闭(close)文件,结束对该文件的使用。(3)建立(create)文件,构造一个新文件。(4)撤消(destroy)文件,删去一个文件。(5)复制(copy)文件,产生一个文件副本。2 .对文件中的数据项而言(1)读(read)操作,把文件中的一个数据项输入给进程。(2)写(write)操作,进程输出一个数据项到文件中去。(3)修改(update)操作,修改一个
3、已经存在的数据项。(4)插入(insert)操作,添加一个新数据项。(5)删除(delete)操作,从文件中移走一个数据项。三、设计思路及关键程序代码分析#include <stdio.h>#include <string.h>#include <stdlib.h>int NUM = 0; struct student char num20;/学号char nam20;/姓名int score;/成绩struct student * next;;typedef struct student Stu;typedef Stu * STU;void SaveCon
4、f(STU head);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+&
5、quot;);if(fp = NULL) 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;whi
6、le(p->next != NULL) p = p->next;p->next = newstu;newstu->next = NULL;p = NULL;fclose(fp);void Create(STU head)插入信息STU newstu;STU p = head;newstu = (STU)malloc(sizeof(Stu);printf("请输入学号:");scanf("%s",newstu->num);printf("请输入女4名:");scanf("%s",news
7、tu->nam);printf("请输入成绩:");scanf("%d",&newstu->score);while(p->next != NULL)p = p->next;p->next = newstu;newstu->next = NULL;char flag;getchar();printf("是否继续才f入信息(y or n):");scanf("%c",&flag);if(flag='y')Create(head);elseChoose
8、(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->next;fclose(fp);STU search(STU head
9、,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("您输入的学号不存
10、在,请重新输入 :"); scanf("%c",&flag);Delete(head); elsegetchar();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
11、Constant(STU head) 查找STU p = head;char number20;int find=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(
12、"您输入的学号不存在!");getchar();Choose(head);void Menu(STU head)printf("t*printf("t*1printf("t*2.printf("t*3.printf("t*0.文件管理 插入信息 删除信息 查找信息*tn");*1*1*1tn");tn");t'n");退出*世俏;void Choose(STU head) int choice = 0;printf("nplease input your choice
13、:");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;四、运行结果创建新文件后的文本内容:UHfi金:Tlfcri -,TH? BGMd 4B-H *-3 MW«TL平:碑:<黠 > =i l就*L IM卜也执行插入信息操作:DHFi -
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年铁板机项目投资可行性研究分析报告
- 2024年洋娃娃行业市场发展监测及投资战略规划研究报告
- 2024-2025学年高中历史第二单元西方人文精神的起源及其发展第7课启蒙运动课时作业含解析新人教版必修3
- 2024-2025学年高中生物课时分层作业14基因突变和基因重组含解析新人教版必修2
- 2024-2025学年高中语文第3单元8兰亭集序学案新人教版必修2
- 中国直流振动流化床项目投资可行性研究报告
- 运城流量计项目可行性研究报告
- 中国水晶烟灰缸行业竞争格局及投资战略规划研究报告
- 中国内蒙古小微金融行业投资潜力分析及行业发展趋势报告
- 中国酒盒包装行业全景评估及投资规划建议报告
- 新教材背景下思政教育在高中英语课中的渗透与应用分析
- 机械拆除旧房施工方案
- 独家投放充电宝协议书范文范本
- P气瓶充装模拟考试题及答案
- 社区获得性肺炎(1)护理病历临床病案
- 新人教版高中数学必修第一册-3.3 幂函数【课件】
- 生物基有机硅材料的研究进展及前景展望
- 国有企业保密管理制度
- 一年级上册数学试题-期中试卷五 苏教版(含答案)
- 乡村振兴背景下农业硕士产教融合培养模式的创新
- 人美版(2024)七年级上册美术第二单元 色彩魅力第1课《自然的色彩》教学设计
评论
0/150
提交评论