文档介绍:HUNAN UNIVERSITY 课程实习报告题目文件读取学生姓名学生学号专业班级指导老师完成日期一、需求分析 1.. 本程序要求从文件中读取数据存储在二维数组中,并把二维数组中的内容输出到屏幕 2. 文件由用户通过键盘输入,第一行的数值表示二维数组的实际行列数(最大不超过 500 ), 其中数值都是整数。不对非法输入做处理,即假设输入都是合法的。 Dos 界面输出二维数组中的内容。 4. 测试数据输入(文件) 52345665432 -1 -2790097 -2 -1 55227 输出(屏幕) 2345665432 -1 -2790097 -2 -1 55227 二、概要设计抽象数据类型为实现上述程序的功能,应以二维数组存储用户的输入。(注意此处数组的大小规定为行和列的最大值都不得超过 500 ) 算法的基本思想根据题目要求,利用二维数组的双重循环从文件中读取存放和显示数据。程序的流程程序由三个模块组成: (1) 输入模块:完成要写入文件中数据的输入。(2) 读取模块:实现从文件中读取数据。(3) 输出模块:屏幕上显示从文件中读取的数据。三、详细设计物理数据类型题目要求输入的数据都是整数, 为了能够存储, 采用 C++ 语言中的 int 定义变量。因为要用二维数组存储数据,所以要定义一个规模为 500 元素为整数的二维数组。算法的具体步骤(1) 创建类对象 fout; (2) 往文件里写数据,并关闭文件; (3) 创建类对象 fin; (4) 从文件里读数据,并关闭文件; (5) 利用双重循环将该二维数组打印出来。算法的时空分析算法的运行时间依赖于输入规模有多大。可以证明,时间复杂度为 O(n^2). 输入和输出的格式输入请输入文件的长度: 请输入数组的各项元素: 输出刚才从文件中读取的数据为:/ 二维数组格式/ 四、调试分析略。五、测试结果输入 5 12345678901111********** 输出 12345678901111********** 运行结果截图如下: 六、用户使用说明(可选) 1 、本程序的运行环境为 DOS 操作系统,执行文件为 2 、运行程序时: 屏幕显示内容为: 请输入文件的长度: 请输入数组的各项元素: 刚才从文件中读取的数据为: 七、实验心得(可选) 做了这个实验之后, 对文件的操作更加的熟悉了。这个程序的关键操作在于, 如何将二维数组写入文件,之后再将其读出。完成这步要求我们要对文件的基本操作十分了解。在这里值得注意的是, 每一次操作完, 就要进行关闭文件, 否则这个程序是不对的, 至于到底是为什么,这个暂时还没有搞清楚,估计是指针的问题。七、附录(可选) #include<fstream> #include<iostream> #include<iomanip> using namespace std; int main() { int n,a,i,j,b[500][500]; fstream fout("",ios::out);/* 为了输出数据到文件里声明一个类对象*/ if(!fout)