文件字节倒写实验说明书.doc_第1页
文件字节倒写实验说明书.doc_第2页
文件字节倒写实验说明书.doc_第3页
文件字节倒写实验说明书.doc_第4页
文件字节倒写实验说明书.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

* 实践教学实践教学 * 兰州理工大学兰州理工大学 计算机与通信学院 2012 年秋季学期 操作系统原理操作系统原理课程设计课程设计 题 目: 文件字节倒写实验 专业班级: 计算机(2)班 姓 名: 张德鹏 学 号: 10240226 指导教师: 李 睿 成 绩: 目目 录录 前前 言言.3 摘摘 要要.4 正正 文文.5 1.设计思想.5 2.算法用到的主要数据结构(采用类C语言定义).6 3.相关的各模块的伪码算法.6 4.调试分析.8 5.测试结果.8 6.源程序(带注释).10 总总 结结.12 参考文献参考文献.13 致致 谢谢.14 附件附件 部分源程序代码部分源程序代码.15 前前 言言 在现代计算机系统中,用户的程序和数据,操作系统自身的程序和数据,甚 至各种输入输出设备都是以文件形式出现的。尽管文件有多种存储介质可以使用, 如磁盘、软盘、光盘、闪存、记忆棒等,但是,它们都以文件的形式出现在操作 系统的管理者和用户面前。一个文件中所存储的可能是数据,也可能是程序的执 行码,不同格式的文件通常都会有不同的操作。对文件的操作可分为两类:一是 对文件自身的操作,主要实现文件的创建、删除、复制等;二是对记录的操作, 例如在文件中查找一个记录。 而文件字节倒写实验即是实现对文件的具体操作,该设计首先需要创建一个 文本文件,在文件中输入要进行操作的内容。然后将文件中的内容按原有的顺序 输出以检查文件内容是否有误。最后将文件倒写,使该文件的最后一个字节成为 第一个字节,而第一个字节成为最后一个字节,从而实现其字节倒写。 摘摘 要要 用高级语言编写和调试一个文件字节倒写的程序。选择一个适合长度的磁盘 文件实现其字节倒写,使该文件的最后一个字节成为第一个字节,而第一个字节 成为最后一个字节。根据题目的要求,我们首先要创建一个文本文件,在文件中 输入要进行操作的内容。然后将文件中的内容按原有的顺序输出以检查文件内容 是否有误。最后将文件倒写,使该文件的最后一个字节成为第一个字节,而第一 个字节成为最后一个字节,从而实现其字节倒写。 关键词:文本文件; 磁盘文件; 字节倒写 正正 文文 1.1. 设计思想设计思想 根据题目的要求,我们首先要创建一个文本文件,在文件中输入要进行操作 的内容。然后将文件中的内容按原有的顺序输出以检查文件内容是否有误。最后 将文件倒写,使该文件的最后一个字节成为第一个字节,而第一个字节成为最后 一个字节,从而实现其字节倒写。 因此,我们首先编写一个程序实现创建一个文本文件,在此程序中我 用到了文件的读写生成操作 if(fp=fopen(“test“,“w+“)=NULL) printf(“cannot open filen“); exit(1); 利用循环实现字节的输入 do gets (str); strcat(str,“n“); fputs(str,fp); while(*str!=n); 当输入空字节时循环结束并退出操作。 然后将文件中的内容按原有的顺序输出以检查文件内容是否有误,在此用 到了文件的读打开操作 if(fp=fopen(“test“,“r“)=NULL) printf(“cannot open filen“); exit(1); 循环输出文件内容 while(!feof(fp) fgets(str,8,fp); printf(“%s“,str); 最后将文件倒写,使该文件的最后一个字节成为第一个字节,而第一个字节 成为最后一个字节,文件读打开 if(fp=fopen(“test“,“r“)=NULL) printf(“cannot open filen“); exit(1); 倒写输出 while(!feof(fp) stri=fgetc(fp); i+ ; for(i=80;i=0;i-) printf(“%c“,stri); 2.2. 算法用到的主要数据结构(采用类算法用到的主要数据结构(采用类 c c 语言定义)语言定义) 1、程序中用到的头文件有: #include #include #include 2、采用的相关数据类型有: char; int 3.3. 相关的各模块的伪码算法相关的各模块的伪码算法 1.创建原始文件算法 void main1(void) /* 创建原始文件 */ int i=0; if(fp=fopen(“test“,“w+“)=NULL) /* 读写生成文本文件 */ printf(“Cannot open filen“); /* 文件打开失败 */ exit(1); printf(“Enter a string (CR to quit):n“); do scanf(“%c“, /* 输入文件内容 */ strcat(str,“n“); /* 加上一个新行符n */ fputs(str,fp); /* 将字符串的内容写到文件中 */ i+; while(stri-1!=n); /* 输入空串时结束 */ printf(“n“); 2.显示文件内容算法 void main2(void) /* 显示文件内容 */ int i; if(fp=fopen(“test“,“r“)=NULL) /* 读打开文本文件 */ printf(“Cannot open filen“); /* 文件打开失败 */ exit(1); for(i=0;i=0;i-) /* 反向输出 */ printf(“%c“,stri); 4.4. 调试分析调试分析 调试中遇到的问题及对问题的解决方法 本次课程设计过程中遇到很多问题,从简单的 c+语言到数据结构类型 的定义以及算法设计,都有很多疑惑。在不断地查询资料后终于解决了这 些问题。 其中在查询过程中选择了快速查找和分类查找,通过对比可以选择最 优的查询算法 5.5. 测试结果测试结果 1.1.运行程序,输入文件内容; 2.按回车,显示正写与倒写的结果。 6.6. 源程序(带注释)源程序(带注释) #include #include #include FILE *fp; /* 声明文件结构体类型指针变量 */ char str80 ; /* 定义文件长度 */ void main1(); /* 创建原始文件 */ void main2(); /* 显示文件内容 */ void main3(); /* 倒向显示文件内容 */ void main1(void) /* 创建原始文件 */ int i=0; if(fp=fopen(“test“,“w+“)=NULL) /* 读写生成文本文件 */ printf(“Cannot open filen“); /* 文件打开失败 */ exit(1); printf(“Enter a string (CR to quit):n“); do scanf(“%c“, /* 输入文件内容 */ strcat(str,“n“); /* 加上一个新行符n */ fputs(str,fp); /* 将字符串的内容写到文件中 */ i+; while(stri-1!=n); /* 输入空串时结束 */ printf(“n“); void main2(void) /* 显示文件内容 */ int i; if(fp=fopen(“test“,“r“)=NULL) /* 读打开文本文件 */ printf(“Cannot open filen“); /* 文件打开失败 */ exit(1); for(i=0;i=0;i-) /* 反向输出 */ printf(“%c“,stri); main() /* 主函数 */ char str80; /* 各个单元函数依次执行,实现以下功能 */ printf(“Input:n“); main1(); /* 执行函数(1),创建 test 文件 */ printf(“Output in order:n“); main2(); /* 显示文本内容 */ printf(“Pour to write:n“); main3(); /* 倒向显示文件内容 */ /* 输入文件内容后依次按回车,将顺序执行正向显示.倒向显示.退出 等操作 */ 总总 结结 本次课程设计完成了文件操作问题全部过程,结果满足设计要求,验证无误。设 计过程中也遇到不少困难,尤其是关于文件创建与输出程序的设计实现。特别需要注 意的是由于进程的数据共享会带来其他一些问题,各个循环中的循环小模块需要严格 区别开来,才能使输出结果正确有序。这些正是编写多进程程序时最需要注意的地方。 通过该题目的设计过程,初步掌握操作系统中有关磁盘文件读的原理、软件开发 方法并提高解决实际问题的能力。本次设计,我较好地掌握了进程机制和文件的各种 操作的全过程,尤其是对文件管理有了更深的理解,开拓了思路,锻炼了实践动手能 力,达到了课程设计目的。 在设计的过程中,通过查阅各种资料我还了解了与操作系统有关的其他知识,不 仅加强了原有知识的巩固,而且扩大了知识面,积累了越来越多的知识和动手的经验, 为日后的工作和学习奠定了基础。所以,在以后的学习和生活中,我们要做个有心人, 一点一滴的积累经验,储备越来越多的知识,我相信在将来的某一天我们的努力一定 会得到回报,我们一定会取得骄人的成绩。 参考文献参考文献 1. 汤子瀛,哲凤屏.计算机操作系统.西安电子科技大学学出版社. 2. 王清,李光明.计算机操作系统.冶金工业出版社. 3.孙钟秀等.操作系统教程. 高等教育出版社 4.曾明. Linux 操作系统应用教程. 陕西科学技术出版社. 5. 张丽芬,刘利雄.操作系统实验教程. 清华大学出版社. 6. 孟静, 操作系统教程原理和实例分析. 高等教育出版社 7. 周长林, 计算机操作系统教程. 高等教育出版社 8. 张尧学, 计算机操作系统教程 ,清华大学出版社 9. 任满杰, 操作系统原理实用教程 ,电子工业出版社 致致 谢谢 能够完成这次操作系统课程设计,我要感谢我的指导老师和操作系统原 理课的老师王旭阳老师。王老师在我的课程设计过程中提出了指导性的方案 和架构,并指引我阅读相关的资料和书籍,我的能力得到了提高,养成了科 学、严谨学习习惯。王老师在我们的日常学习中给了我们许多启发性的建议 并使我们积累了大量的操作系统知识,为我们的课程设计奠定了坚实的基础。 在本次课程设计当中,有很多同学帮助我完成对程序的测试,使得我的 很多疑问得到解决,进一步巩固了所学习的内容,对我的课程设计的完成也 起了不小的作用,在他们的帮助下,我才能够比较好的完成着次课程设计, 在此一并表示感谢。 附件附件 部分源程序代码部分源程序代码 1.创建文本文件源代码 #include #include void main(void) char str80 ; FILE *fp; if(fp=fopen(“test“,“w+“)=NULL) printf(“cannot open filen“); exit(1); printf(“Enter a string (CR to quit):n“); do gets (str); strcat(str,“n“); fputs(str,fp); while(*str!=n); 2.显示文本文件内容源代码 #include #include #include void main(void) char str80 ; FILE *fp; if(fp=fopen(“test“,“r“)=NULL) printf(“cannot open filen“); exit(1); while(!feof(fp) fgets(str,8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论