湖南大学实验报告Word文档格式.docx
《湖南大学实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《湖南大学实验报告Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。
2015年12月7日
一、实验原理:
运用文件的知识编写一个校园卡消费系统,实现文件的创建,查询,追加,插入,修改,删除,排序,快速查找等功能。
二、实验目标:
掌握文件操作的知识,学会编写系统。
三、实验设计:
1.文件的创建:
(1)创建文本文件指针
#include<
fstream>
//filestream文件流方式
ofstreamoutFile("
文件名"
ios:
:
out);
//输出方式建文件
ofstreamoutFile;
//先声明变量,后面才打开该文件
outFile.open("
(2)往文件中写入内容ctrl+z结束输入
while(cin>
>
name>
no>
score){
f(i>
0){outFile<
<
endl;
}i++;
//最后行后无换行符
outFile<
name<
"
"
no<
score;
cout<
?
;
}//写入数据间空格分隔
(3)关闭文件
outFile.close();
2.文本文件的查询
(1)ofstreamoF("
//接受它人输出
ifstreamoF("
lt1.txt"
app);
//追加到文件尾部
ofstreamoF("
ate);
//尾追或中间插入
in);
//将内容输入变量中
trunc);
//丢弃现在内容=out
fstreamoF("
binary);
//二进制即非文本
将文件数据读入到变量中,与指定学号相等的记录,全部返回来
(2)while(fin>
studno…)
{if(studno==findVal){...}}
3.文本文件的追加
ofstreamoF("
//输入给它人方式
从键盘读入数据并写入到文件中
(2)while(cin>
{fout<
studno<
studname<
...}
4.文本文件的插入
将文件数据读入到变量中,
与指定学号不相等的记录,直接写入到新文件中,
与指定学号相等则先写入待插入的记录到新文件中,
再写入读出的记录到新文件中。
全部返回来
原文件-->
输入到变量--->
输出到新文件Lt10M
5.文本文件的修改
与指定学号相等的记录,修改以后写入到新文件中,
与指定学号不相等的记录,直接写入到新文件中
原文件-->
输出到新文件Lt10N
6.文本文件的删除
与指定学号不相等的记录,直接写入到新文件中,
7.文本文件的排序
将文件数据读入到变量中,将排序字段studno的值读入到数组studNo中。
为此先遍历数据表一次,获取其记录数,再创建其数组,再从头读到尾建立相关数组。
根据关键字段排序,同时调用记录数组
最后将排序结果写入到结果文件中
原文件-->
输入到数组--->
8.文本文件的快速查找
ofstreamoF("
将文件数据读入到变量中,将排序字段studno的值读入到数组studNo,。
根据关键字段排序,同时调用记录数组
最后将排序结果写入到结果文件中
索引文件-->
输入到索引数组--->
数据文件---显示出来,二分法查询学号
四、运行结果:
1.文件的创建:
8.文本文件的快速查找
9.结束
五、总结
在追加和创建文件的操作中会出现程序出错的提示,但是文件确实创建了,追加也成功了,结果是正确的,也许是编译器的问题吧。
感觉快速查找相比较其他操作较难,每编写一个函数在main()中增加一段代码调用该函数是极限开发,因为查询功能的代码大同小异,所以要学会仿写。
这次的校园卡消费系统与上次编写的系统存在框架上的一致性,所以很容易仿写。