操作系统课程设计11、写随机文件12、文本文件操作验证程序上述功能由两部分程序验证,中断驻留程序和验证程序。
首先运行中断驻留程序,然后运行验证程序得到预期结果。
一、进度安排1-2天:资料查找、系统分析,数据流程分析,概要设计1-2天:系统详细设计、功能设计5-6天:模块设计、编程调试1天:资料整理、课程设计说明书编写。
二、完成后应上交的材料1、课程设计说明书(程序流程图、功能模块图、相关数据结构、核心算法等)2、相关源程序文件三、总评成绩指导教师签名日期年月日系主任审核日期年月日目录一、程序流程图 (9)二、函数功能模块 (6)三、源代码 (6)四、程序运行结果 (2011)五、心得体会 (15)一、程序流程图二、函数功能模块函数1:基于文件内容的输入函数:int output_file();函数2:基于文件内容的输出函数:int input_file();函数3:创建文件函数:bool create_file(char* name);函数4:打开文件函数:int open_file(char name[]); 函数5:顺序读写文件函数:int order_file(char name[]); 函数6:随机读写文件函数:int random_file(char name[]);三、源代码#include<iostream.h>#include<fstream.h>#include<assert.h>char d[]="f:\\VC++\\TITLE4.txt";class Tinterface{public:int output_file();void input_file();bool create_file(char name[]);int open_file(char name[]);int order_file(char name[]);int random_file(char name[]);};//基于文件内容的输入,以f:\\VC++\\TITLE4.txt为例int Tinterface::output_file(){ofstream out;out.open(d,ios::app);if(!out){cout<<"Can not open";return 1;}cout<<"请输入要输入的文字:";char a[99];cin>>a;out<<a;out.close();}//基于文件内容的输出,以f:\\VC++\\TITLE4.txt为例void Tinterface::input_file(){ifstream input;char ch;input.open(d,ios::app);while(input.get(ch)){cout<<ch;}cout<<endl;}//创建文件bool Tinterface::create_file(char name[]){ifstream fs;if(!name)return false;fs.open(name,ios::nocreate);if(!fs){fs.clear();fs.close();fs.open(name,ios::out);if(!fs.is_open()){cout<<"创建失败!"<<endl;fs.clear();fs.close();return 0;}cout<<"\""<<name<<"\" 创建成功!"<<endl; fs.close();return 1;}cout<<"文件已存在!"<<endl;return 0;}//打开文件int Tinterface::open_file(char name[]){ ifstream fs;fs.open(name,ios::nocreate);if(!fs){cout<<"文件不存在!"<<endl;}else{cout<<"文件已打开!"<<endl;}return 0;}//顺序读写文件int Tinterface::order_file(char name[]){int choice;cout<<"请选择读或写操作(1.顺序读 2.顺序写)"<<endl;cin>>choice;if(choice==1){ifstream in;in.open(name,ios::nocreate||ios::out);if(!in){cout<<"文件不存在!"<<endl;}else{char ch;while(in.get(ch)){cout<<ch;}}in.close();}else{if(choice==2){ofstream fs;fs.open(name,ios::nocreate||ios::in);if(!fs){cout<<"文件不存在!"<<endl;}else{cout<<"请输入要输入的文字:";char a[99];cin>>a;fs<<a;}fs.close();}else{cout<<"输入错误!"<<endl;}}return 0;}//随机读写文件int Tinterface::random_file(char name[]){int choice;cout<<"请选择读或写操作(1.随机读 2.随机写)"<<endl;cin>>choice;if(choice==1){ifstream in;in.open(name,ios::nocreate||ios::out);if(!in){cout<<"文件不存在!"<<endl;}else{int i;cout<<"请输入文件开始读的位置"<<endl;cin>>i;in.seekg(i,ios::beg);char ch;while(in.get(ch)){cout<<ch;}in.close();}}if(choice==2){ofstream out;out.open(name,ios::nocreate||ios::in);if(!out){cout<<"文件不存在!"<<endl;}else{int i;cout<<"请输入要输入的文字:"<<endl;char a[99];cin>>a;cout<<"请输入文字插入的位置:"<<endl;cin>>i;out.seekp(i,ios::beg);out<<a;}out.close();}return 0;}int main(){Tinterface file;int choice;cout<<"*************菜单******************\n\n"<<"1、基于文件内容的输入\n"<<"2、基于文件内容的输出\n"<<"3、创建文件\n"<<"4、打开文件\n"<<"5、顺序读写文件\n"<<"6、随机读写文件\n"<<"99、退出\n\n";while(true){cout<<"请选择功能"<<endl;cin>>choice;switch(choice){case 1:file.output_file();break;case 2:file.input_file();break;case 3:char name[256];cout<<"请输入要创建的文件名\n";cin>>name;file.create_file(name);cout<<endl;break;case 4:char fname[256];cout<<"请输入你要打开的文件名:\n"; cin>>fname;file.open_file(fname);cout<<endl;break;case 5:char fsname[256];cout<<"请输入文件名:"<<endl; cin>>fsname;file.order_file(fsname);cout<<endl;break;case 6:char finame[256];cout<<"请输入文件名:"<<endl; cin>>finame;file.random_file(finame);cout<<endl;break;case 99:return 0;}}}四、程序运行结果1、主界面2、基于文件的输入输入前的TITLE4.txt 执行后的TITLE4.txt3、基于文件内容的输出4、创建文件执行前F:\VC++目录执行后F:\VC++目录5、打开文件6、顺序读写文件执行前FILE.txt的内容为空执行后FILE.txt的内容7、随机读写文件执行前FILE.txt的内容执行后FILE.txt的内容8、退出五、心得体会在这个课程设计中,我被分配到的任务是建立文件访问接口,刚好本学期我们学习了C++这门课程,里面就讲了关于文件操作的文件流,所谓学以致用,所以这次的课程设计我是用C++的文件流来实现设计要求的。