您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页实验7实验报告

实验7实验报告

来源:意榕旅游网
安徽机电职业技术学院实验报告 面向对象程序设计(C#)

安徽机电职业技术学院实验报告

课程 名称 系部 实验 时间 面向对象程序设计 信息工程系 班级 网络3101 实验实验7 方法参数与文件操作 名称 姓名 陈鑫鑫 年 月 日 时 分~ 时 分 1101103030 地点 机位 2414 学号 一、实验目的

1、掌握方法参数的按值传递和按引用传递。 2、掌握数组作为方法参数的使用。

3、了解System.IO命名空间File类和Directory类的使用; 4、掌握StreamReader和StreamWriter类的使用; 5、熟悉对象浏览器的使用 二、实验内容

程序1、熟悉方法参数的引用传递。“CSharp示例\\第7课\\RefCall”应用程序是通过GetSumAndAverage方法来计算总和与平均值,该程序不能正确完成计算,请修改程序使其能正确计算。

程序2、参照第8课的课堂示例,编写一个能对文本文件进行读写的简单的文本编辑器,界面请自行设计。 三、实验步骤

1、按照“二、实验内容”的要求,分别完成2个程序。

2、将完成的源程序压缩后,连同本实验报告,一同交给指导教师。 四、程序运行结果截图

程序1运行结果截图:

程序2运行结果截图:

实验7 方法参数与文件操作 第 1 页 共 4 页

安徽机电职业技术学院实验报告 面向对象程序设计(C#)

实验7 方法参数与文件操作 第 2 页 共 4 页

安徽机电职业技术学院实验报告 面向对象程序设计(C#)

五、程序源代码(用Winrar压缩后用附件提交,源代码中要有比较完备的注释),以下代码请粘贴于此:

程序1:请将程序1调试正确后,然后在下面的程序中作对应地修改。你添加或修改的部分请加粗或使用其它颜色显示

private void btnRun_Click(object sender, EventArgs e) {

int a = 20, b = 30, c = 45; int sum = 0;

double average = 0;

GetSumAndAverage(a, b, c,ref sum,ref average);

Output(String.Format(\"和是:{0}, 平均值是:{1}\",sum,average)); }

private static void GetSumAndAverage(int a, int b, int c, ref int sum, ref double aver) {

sum = a + b + c;

aver = (a + b + c) / 3.0;

}

程序2中有关读取文本文件的代码(要求有注释,说明主要语句的作用):

private void button1_Click(object sender, EventArgs e) {

string filename = tbFileName.Text; if (!File.Exists(filename)) {

MessageBox.Show(\"文件\" + filename + \"不存在!\"); return; }

StreamReader sr = new StreamReader(filename); tb.Text = sr.ReadToEnd(); sr.Close();

}

实验7 方法参数与文件操作 第 3 页 共 4 页

安徽机电职业技术学院实验报告 面向对象程序设计(C#)

程序2中有关保存文本文件的代码(要求有注释,说明主要语句的作用):

private void button2_Click(object sender, EventArgs e) {

string filename = tbFileName.Text; try {

StreamWriter sw = new StreamWriter(filename); sw.Write(tb.Text); sw.Close(); }

catch {

MessageBox.Show(\"保存文件时出错了!\"); }

}

六、思考题:

1、ref关键字和out关键字都是指明方法的参数是按引用传递的,这两者有什么区别?

答:通过使用关键字out,可以避免多余的初始化,但是ref 正好相反。

2、使用“对象浏览器”,查找StreamReader类的ReadLine方法的信息。该方法的作用是什么?如何判断文件已经读取结束?请写出能实现该判断的表达式。

答:StreamReader:用于从文件中输入文本。每个文件可以文件结束标记(EOF)结束,也可在指定字节数结束。

3、使用“对象浏览器”,查找File类的SetAttributes方法的信息,并记录下该方法的完整的说明信息。该方法的作用是什么?如何设置磁盘上某文件(如当前文件夹下的file.txt文件)为只读?请写出能实现该操作的语句。

答:File类用于操纵文件,Directory类用于操纵文件夹。File类不能直接读写文件,需要使用FileStream类或其派生类。

4、(选做)程序2中,使用StreamReader类读取文本文件,如果希望能够在显示每一行前加上行号,如何实现?请写下实现加行号显示的代码在下面。(提示:使用StreamReader类的ReadLine方法)

实验7 方法参数与文件操作 第 4 页 共 4 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务