c#实验报告(完整版)
- 格式:doc
- 大小:291.50 KB
- 文档页数:19
C#实验报告
班级:
姓名:
学号:
实验一 文本编辑器
一:实验目的及要求
1.熟悉VisualC#.NET的可视化界面,掌握控件的使用。
2.掌握System.IO类的文件流操作,会处理文件。
二:实验内容:
1、假设有要排序的20个数存在文件Data.txt中。编写程序,打开该文件并将排好序的数重新写回该文件。
2、重新打开第1题创建的文件,在文件的结尾再添加10个随机数。
3、参考Windows的记事本程序,编写一个简单的文本编辑器程序。
4、编写程序,在用户选择了一个目录后,找出该目录及其子目录中所有后缀名为doc的文件。
5、假设有文本文件1.txt和2.txt。编写程序,创建一个新的文本文件,将1.txt中的内容和2.txt中的内容重复两遍,交替写入新的文本文件,并删除1.txt和2.txt。
三:实验环境
Windows XP操作系统,Visual 2005
四:实验源程序及关键代码的解释
主界面:
(1)排序/添加随机数 程序代码:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace 文本编辑器设计 {
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
FileStream fs = new FileStream("D:\\1.txt", FileMode.Open,
FileAccess.ReadWrite);
StreamReader sr = new StreamReader(fs);
richTextBox1.Text = sr.ReadToEnd();
sr.Close();
fs.Close();
}
private void button1_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream("D:\\1.txt", FileMode.Open,
FileAccess.ReadWrite);
StreamReader sr = new StreamReader(fs);
string[] myDate = sr.ReadToEnd().Split(',');
sr.Close();
fs.Close();
for (int i = 0; i < myDate.Length; i++)
{
for (int j = 0; j < myDate.Length - i - 1; j++)
{
if (Convert.ToInt32(myDate[j]) > Convert.ToInt32(myDate[j +
1]))
{
string t;
t = myDate[j];
myDate[j] = myDate[j + 1];
myDate[j + 1] = t;
}
}
}
foreach (string s in myDate)
{
Console.WriteLine(s);
}
//将排好序的数写回到文件中
FileStream fs1 = new FileStream("D:\\1.txt", FileMode.Open, FileAccess.ReadWrite);
StreamWriter sw = new StreamWriter(fs1);
for (int i = 0; i < myDate.Length - 1; i++)
{
sw.Write(myDate[i]);
sw.Write(",");
}
sw.Write(myDate[myDate.Length - 1]);
sw.Close();
fs1.Close();
FileStream fs2 = new FileStream("D:\\1.txt", FileMode.Open,
FileAccess.ReadWrite);
StreamReader sr2 = new StreamReader(fs2);
richTextBox2.Text = sr2.ReadToEnd();
sr2.Close();
fs2.Close();
}
private void button2_Click(object sender, EventArgs e)
{
Random newRandom = new Random();//声明产生随机数对象
FileInfo fi = new FileInfo("D:\\1.txt");
using (StreamWriter sw = fi.AppendText())
{
//写入随机数
for (int i = 0; i < 10; i++)
{
sw.Write(',');
sw.Write(newRandom.Next());
}
sw.Write(newRandom.Next());
FileStream fs2 = new FileStream("D:\\1.txt", FileMode.Open,
FileAccess.ReadWrite);
StreamReader sr2 = new StreamReader(fs2);
richTextBox2.Text = sr2.ReadToEnd();
sr2.Close();
fs2.Close();
}
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
} 运行结果
(2)文本编辑器
界面:
源程序
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text; using System.Windows.Forms;
using System.IO;
namespace 文本编辑器设计
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Clear();
this.Text = "新建文件";
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Select();
}
private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Cut();
}
private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Paste();
}
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Copy();
}