练习题一:
使用学到的文件操作,创建三个文件文件名分别是数学.txt,语文.txt,英语.txt,里面分别存放着50个学生的数学,语文,英语成绩,每一行放着名字和对应的分数,名字是小明1,小明2这样的规律显示,分数随机,每一行显示的完整内容是 科目+名字+分数,接下来用我们前面讲到的正则表达式,找出所有txt文件中的小明1的成绩逐行显示到1.txt文件中
StreamWriter fsWriter1 = new StreamWriter("./语文.txt",true);
StreamWriter fsWriter2 = new StreamWriter("./数学.txt",true);
StreamWriter fsWriter3 = new StreamWriter("./英语.txt",true);
for (int i = 0; i < 50; i++)
{
Random random = new Random();
int a = random.Next(100);
fsWriter1.WriteLine("语文" + "+" + "小明" + i + "+" + a);
fsWriter2.WriteLine("数学" + "+" + "小明" + i + "+" + a);
fsWriter3.WriteLine("英语" + "+" + "小明" + i + "+" + a);
}
fsWriter1.Close();
fsWriter2.Close();
fsWriter3.Close();
StreamReader sRead1 = new StreamReader("./语文.txt", Encoding.UTF8);
StreamReader sRead2 = new StreamReader("./数学.txt", Encoding.UTF8);
StreamReader sRead3 = new StreamReader("./英语.txt", Encoding.UTF8);
string patten = @".\+小明1\+.";
StreamReader[] sRead = { sRead1, sRead2, sRead3 };
foreach (StreamReader i in sRead)
{
StreamWriter fsWriter4 = new StreamWriter("./1.txt", true);
string str1 = i.ReadToEnd();
string[] sArray = str1.Split("\n");
foreach (string s in sArray)
{
if (Regex.IsMatch(s,patten))
{
fsWriter4.WriteLine(s);
}
}
fsWriter4.Close();
}
练习题二:
请利用面向对象分析实现图书管理系统,具有录入,查询 ,删除,显示所有图书信息功能。借助文件操作的方式存储数据,将书籍存放到图书文件夹下,每本书都是一个txt文件,文件名为该书的名字,书中的初始内容为书名,图书的数据有书名,作者,价格,删除的时候要输入书的名字来进行删除
using System.Text;
namespace vrDemo0205am1
{
internal class Program
{
internal class Book
{
/* public Book()
{
StreamWriter fsWriter = new StreamWriter("./图书管理系统/" + Book.name + ".txt", true);
fsWriter.Write(Book.name);
fsWriter.Close();
Book.name = name;
}*/
public string name { get; set; }
public string author { get; set; }
public int price { get; set; }
public void Insert(string name,string author=" ",string price=" ")
{
string system = "./图书管理系统/" + name + ".txt";
StreamWriter fsWriter = new StreamWriter(system, true);
// StreamWriter fsWriter2 = new StreamWriter("./图书管理系统/abc.txt", true);
fsWriter.WriteLine(name);
fsWriter.WriteLine(author);
fsWriter.WriteLine(price);
// fsWriter2.WriteLine(name+author+price);
fsWriter.Close();
// fsWriter2.Close();
}
public void Select(string name)
{
StreamReader sRead = new StreamReader("./图书管理系统/"+name+".txt", Encoding.UTF8);
string s = sRead.ReadToEnd();
sRead.Close();
Console.WriteLine(s);
}
public void Delete(string name)
{
if (File.Exists("./图书管理系统/" + name + ".txt"))
{
File.Delete("./图书管理系统/" + name + ".txt");
Console.WriteLine("成功");
}
else
{
Console.WriteLine("失败,未查找到此图书");
}
}
}
static void Main(string[] args)
{
//请利用面向对象分析实现图书管理系统,具有录入,查询 ,删除,显示所有图书信息功能。
//借助文件操作的方式存储数据,将书籍存放到图书文件夹下,每本书都是一个txt文件,
//文件名为该书的名字,书中的初始内容为书名,图书的数据有书名,作者,价格,
//删除的时候要输入书的名字来进行删除
while (true)
{
string[] fileNames = Directory.GetFiles("./图书管理系统/");
/* foreach (string file in fileNames)
{
string ss = file;
Book book = new Book(file);
} */
Console.WriteLine("录入1,查询2 ,删除3,显示所有图书信息4,任意字符退出");
string s = Console.ReadLine();
switch (s)
{
case "1":
Console.WriteLine("请输入书名");
string name = Console.ReadLine();
Book book = new Book();
Console.WriteLine("插入作者名和价格1,退出任意字符");
string s1 = Console.ReadLine();
if (s1=="1")
{
Console.WriteLine("输入作者名");
string author = Console.ReadLine();
Console.WriteLine("输入价格");
string price = Console.ReadLine();
book.Insert(name, author, price);
}
break;
case "2":
Console.WriteLine("请输入书名");
string name1 = Console.ReadLine();
Book book2 = new Book();
book2.Select(name1);
// Manage manage = new Manage();
// manage.Insert(name1)
break;
case "3":
Console.WriteLine("请输入书名");
string name2 = Console.ReadLine();
Book book3 = new Book();
book3.Delete(name2);
break;
case "4":
foreach (string file in fileNames)
{
Console.WriteLine(file);
}
break;
default:
break;
}
}
}
}
}