湖南大学实验报告
.-HUNAN UNIVERSITYC+学生 国龙学生学号 1专业班级 计算机科学与技术指导老师 圣洪2015 年 12 月 7 日-可修编-.-一、实验原理:运用文件的知识编写一个校园卡消费系统,实现文件的创建,查询,追加,插入,修改,删除,排序,快速查找等功能。二、实验目标:掌握文件操作的知识,学会编写系统。三、实验设计:1.文件的创建:(1)创建文本文件指针#include <fstream> /file stream 文件流方式ofstream outFile("文件名",ios:out); /输出方式建文件ofstream outFile; /先声明变量,后面才打开该文件outFile.open("文件名",ios:out);(2)往文件中写入容 ctrl+z 结束输入while (cin>>name>>no>>score)f(i>0)outFile<<endl; i+; /最后行后无换行符outFile<<name<<" "<<no<<" "<<score;cout<<"?"-可修编-.- /写入数据间空格分隔(3)关闭文件outFile.close();2文本文件的查询(1)ofstream oF("文件名",ios:out); /接受它人输出ifstream oF("lt1.txt",ios:app);/追加到文件尾部ofstream oF("lt1.txt",ios:ate);/尾追或中间插入ifstream oF("lt1.txt",ios:in);/将容输入变量中ofstream oF("lt1.txt",ios:trunc);/丢弃现在容=outfstream oF("lt1.txt",ios:binary);/二进制即非文本将文件数据读入到变量中,与指定学号相等的记录,全部返回来(2)while (fin>>studno)if (studno=findVal) . 3.文本文件的追加ofstream oF("文件名",ios:out); /接受它人输出-可修编-.-ifstream oF("lt1.txt",ios:app);/追加到文件尾部ofstream oF("lt1.txt",ios:ate);/尾追或中间插入ifstream oF("lt1.txt",ios:in);/输入给它人方式ofstream oF("lt1.txt",ios:trunc);/丢弃现在容=outfstream oF("lt1.txt",ios:binary);/二进制即非文本从键盘读入数据并写入到文件中(2)while (cin>>studno) fout<<studno<<studname<<. 4.文本文件的插入ofstream oF("文件名",ios:out); /接受它人输出ifstream oF("lt1.txt",ios:app);/追加到文件尾部ofstream oF("lt1.txt",ios:ate);/尾追或中间插入ifstream oF("lt1.txt",ios:in);/将容输入变量中ofstream oF("lt1.txt",ios:trunc);/丢弃现在容=outfstream oF("lt1.txt",ios:binary);/二进制即非文本-可修编-.-将文件数据读入到变量中,与指定学号不相等的记录,直接写入到新文件中,与指定学号相等则先写入待插入的记录到新文件中,再写入读出的记录到新文件中。全部返回来原文件->输入到变量->输出到新文件 Lt10M5.文本文件的修改ofstream oF("文件名",ios:out); /接受它人输出ifstream oF("lt1.txt",ios:app);/追加到文件尾部ofstream oF("lt1.txt",ios:ate);/尾追或中间插入ifstream oF("lt1.txt",ios:in);/将容输入变量中ofstream oF("lt1.txt",ios:trunc);/丢弃现在容=outfstream oF("lt1.txt",ios:binary);/二进制即非文本将文件数据读入到变量中,与指定学号相等的记录,修改以后写入到新文件中,与指定学号不相等的记录,直接写入到新文件中-可修编-.-原文件->输入到变量->输出到新文件 Lt10N6.文本文件的删除ofstream oF("文件名",ios:out); /接受它人输出ifstream oF("lt1.txt",ios:app);/追加到文件尾部ofstream oF("lt1.txt",ios:ate);/尾追或中间插入ifstream oF("lt1.txt",ios:in);/将容输入变量中ofstream oF("lt1.txt",ios:trunc);/丢弃现在容=outfstream oF("lt1.txt",ios:binary);/二进制即非文本将文件数据读入到变量中,与指定学号不相等的记录,直接写入到新文件中,原文件->输入到变量->输出到新文件 Lt10N7.文本文件的排序ofstream oF("文件名",ios:out); /接受它人输出ifstream oF("lt1.txt",ios:in);/将容输入变量中将文件数据读入到变量中,将排序字段 studno 的值读入到数组 studNo 中。为此先遍历数据表一次,获取其记录数,再创建其-可修编-.-数组,再从头读到尾建立相关数组。根据关键字段排序,同时调用记录数组最后将排序结果写入到结果文件中原文件->输入到数组->输出到新文件 Lt10N8.文本文件的快速查找ofstream oF("文件名",ios:out); /接受它人输出ifstream oF("lt1.txt",ios:in);/将容输入变量中将文件数据读入到变量中,将排序字段 studno 的值读入到数组studNo,。为此先遍历数据表一次,获取其记录数,再创建其数组,再从头读到尾建立相关数组。根据关键字段排序,同时调用记录数组最后将排序结果写入到结果文件中索引文件->输入到索引数组->数据文件-显示出来,二分法查询学号四、运行结果:1.文件的创建:-可修编-.-2文本文件的查询-可修编-.-可修编-.-可修编-.-可修编-.-