标题:各位大哥大姐一定要救救小弟啊!!!
只看楼主
依小落
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-3-30
得分:0 
回复 5楼 qubo1982
你没有连接到txt文档啊??
2011-03-31 16:46
zhp223
Rank: 5Rank: 5
等 级:职业侠客
帖 子:99
专家分:362
注 册:2010-3-21
得分:0 
lz加油呀,C#很好学的。
1、将学生信息抽象成一个类Student
程序代码:
    public class Student//新建一个学生类,包含学生的信息
    {
        public string Name { get; set; }//姓名
        public string No { get; set; }//学号
        public string Sex { get; set; }
        public int Age { get; set; }

        public Student(string name, string no , string sex, int age)
        {
            this.Name = name;
            this.Age = age;
            this.Sex = sex;
            this.No = no;
        }
        public override string ToString()
        {
            return "姓名:" + Name + ", 年龄:" + Age + ",性别:" + Sex + ",学号:" + No;
        }
    }
2、定义一个学生管理类StudentManager,负责对学生的增、删、改、查:
程序代码:
public class StudentManager
{
    private static List<Student> StudentList = null;
    public static void ReadFromFile()    // 从文件中读取数据
    {
        StudentList = new List<Student>();
        // 读取并解析学生信息,添加到StudentList中
        ...
    }
    public static void Save()
    {
        // 将StudentList保存到文件中
        ...
    }
    public static List<Student> GetAllStudents()
    {
        if (StudentList == null) ReadFromFile();
        return StudentList.ToList();    // 返回StudentList的副本
    }
    public static Student SearchByName(string name)
    {
        var stu = StudentList.FirstOrDefault(a => a.Name == name);
        return stu;
    }
    public static Student SearchByNo(string no)
    {
        var stu = StudentList.FirstOrDefault(a => a.No == no);
        return stu;
    }
    public static Student DeleteByName(string name)
    {
        var stu = SearchByName(name);
        if (stu != null) StudentList.Remove(stu);
        return stu;
    }
    public static Student DeleteByNo(string no)
    {
        var stu = SearchByNo(no);
        if (stu != null) StudentList.Remove(stu);
        return stu;
    }
    public static void Add(Student stu)
    {
        StudentList.Add(stu);
    }
} 

其实修改的话可以查找出来后直接对Student进行修改
主程序:
程序代码:
StudentManager.ReadFromFile();
StudentManager.Add(new Student(....));
var stu = StudentManager.SearchByName("张三");
if (stu == null) ....
else Console.WriteLine(stu);
stu.Age = 20;
....
StudentManager.Save();



[ 本帖最后由 zhp223 于 2011-3-31 19:20 编辑 ]

日有所思,夜有所梦
2011-03-31 19:16
依小落
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-3-30
得分:0 
回复 12楼 zhp223
太感谢了,我还在调5楼的程序,唉,弄不出来啊,有你给我回,太感谢了
2011-03-31 19:25
依小落
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-3-30
得分:0 
回复 12楼 zhp223
我在纠结的就是怎样链接txt文档,求解
2011-03-31 19:30
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
得分:0 
以下是引用依小落在2011-3-31 16:28:24的发言:

真的啊!唉,我们学的是c++,然后我考二级是考的C,老师又叫我们学C#,头都搞大了,谢谢了,太牛了

还没学好C++吧?
会C++了,用C#这东西做这个岂不是易如反掌?

建议好好学C++。
2011-03-31 22:16
zhp223
Rank: 5Rank: 5
等 级:职业侠客
帖 子:99
专家分:362
注 册:2010-3-21
得分:0 
就是文件的读写呀
网上一大堆的资料
读取信息:
程序代码:
if (!File.Exists("信息.txt")) return;
StreamReader sr = File.OpenText("信息.txt");
while((string info = sr.ReadLine()) != null)
{
    // 解析info字符串,生成Student对象,然后添加到StudentList中
    // 比如,Student对象的数据时以","分割的:
    string[] ss = info.Split(',');
    Student stu = new Student
    {
        Name = ss[0],
        No = ss[1],
        Sex = ss[2],
        Age = int.Parse(ss[2])
    }
    StudentList.Add(stu);
}
sr.Close();
保存信息:
程序代码:
var sw = new StreamWriter("信息.txt");
foreach (var stu in StudentList)
{
    sw.WriteLine(stu.Name + "," + stu.No + "," + stu.Sex + "," + stu.Age);
}
sw.Close();




 

[ 本帖最后由 zhp223 于 2011-4-1 20:54 编辑 ]

日有所思,夜有所梦
2011-04-01 20:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-335283-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052526 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved