C#基础第七天-作业答案-利用面向对象的思想去实现名片-动态添加

 class Card
    {
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string age;

        public string Age
        {
            get { return age; }
            set { age = value; }
        }
        private string sex;

        public string Sex
        {
            get { return sex; }
            set { sex = value; }
        }
        private string interest;

        public string Interest
        {
            get { return interest; }
            set { interest = value; }
        }
        private string telephone;

        public string Telephone
        {
            get { return telephone; }
            set { telephone = value; }
        }
        DataTable table = new DataTable();
        public Card()
        {
            //DataTable table = new DataTable();
            table.Columns.Add("姓名");
            table.Columns.Add("年龄");
            table.Columns.Add("性别");
            table.Columns.Add("爱好");
            table.Columns.Add("联系方式");
            table.PrimaryKey = new DataColumn[] { table.Columns["姓名"] };
            DataRow row = table.NewRow();
            row["姓名"] = "小明";
            row["年龄"] = "22";
            row["性别"] = "";
            row["爱好"] = "足球";
            row["联系方式"] = "123456";
            table.Rows.Add(row);
        }
       // public Card() { }
        public void Add(string name)
        {
            if (!(table.Rows.Contains(name)))
            {
                Console.WriteLine("请输入年龄:");
                string age = Console.ReadLine();
                Console.WriteLine("请输入性别:");
                string sex = Console.ReadLine();
                Console.WriteLine("请输入爱好:");
                string interest = Console.ReadLine();
                Console.WriteLine("请输入联系方式:");
                string telephone = Console.ReadLine();
                DataRow row = table.NewRow();
                row["姓名"] = name;
                row["年龄"] = age;
                row["性别"] = sex;
                row["爱好"] = interest;
                row["联系方式"] = telephone;
                table.Rows.Add(row);
                Console.WriteLine("添加成功!");
            }
            else
            {
                Console.WriteLine("人名重复!");
            }
               
        }
        public void Select(string name)
        {
            if (table.Rows.Contains(name))
            {
                for (int i = 0; i < table.Columns.Count; i++)
                {
                    Console.Write(table.Columns[i] + "\t");
                }
                Console.WriteLine();
                Console.WriteLine(table.Rows.Find(name)["姓名"].ToString() + "\t" + table.Rows.Find(name)["年龄"].ToString() + "\t" + table.Rows.Find(name)["性别"].ToString() + "\t" + table.Rows.Find(name)["爱好"].ToString() + "\t" + table.Rows.Find(name)["联系方式"].ToString());
            }
            else
            {
                Console.WriteLine("查无此人!");
            }
           
        }
        public void SelectAll()
        {
            Console.WriteLine("你想要查找的信息如下:");
            for (int i = 0; i < table.Columns.Count; i++)
            {
                Console.Write(table.Columns[i] + "\t");
            }
            Console.WriteLine();
            for (int i = 0; i < table.Rows.Count; i++)
            {
                Console.WriteLine(table.Rows[i]["姓名"] + "\t" + table.Rows[i]["年龄"] + "\t" + table.Rows[i]["性别"] + "\t" + table.Rows[i]["爱好"] + "\t" + table.Rows[i]["联系方式"]);
            }
            Console.WriteLine();
        }
        public void Delete(string name)
        {
            if (table.Rows.Contains(name))
            {
                table.Rows.Remove(table.Rows.Find(name));
                Console.WriteLine("删除成功!");
            }
            else
            {
                Console.WriteLine("查无此人!");
            }
           
           
        }
        public void Update(string name)
        {
            if (table.Rows.Contains(name))
            {
                Console.WriteLine("请输入年龄:");
                string age = Console.ReadLine();
                Console.WriteLine("请输入性别:");
                string sex = Console.ReadLine();
                Console.WriteLine("请输入爱好:");
                string interest = Console.ReadLine();
                Console.WriteLine("请输入联系方式:");
                string telephone = Console.ReadLine();
                int index = table.Rows.IndexOf(table.Rows.Find(name));
                table.Rows[index]["年龄"] = age;
                table.Rows[index]["性别"] = sex;
                table.Rows[index]["爱好"] = interest;
                table.Rows[index]["联系方式"] = telephone;
                for (int i = 0; i < table.Columns.Count; i++)
                {
                    Console.Write(table.Columns[i] + "\t");
                }
                Console.WriteLine();
                Console.WriteLine("修改成功,信息如下");
                Console.WriteLine(table.Rows[index]["姓名"].ToString() + "\t" + table.Rows[index]["年龄"].ToString() + "\t" + table.Rows[index]["性别"].ToString() + "\t" + table.Rows[index]["爱好"].ToString() + "\t" + table.Rows[index]["联系方式"].ToString());
                Console.WriteLine("修改成功!");

            }
            else
            {
                Console.WriteLine("查无此人!");
            }  
        }
        public void AddMore() {
            while (true) {
                Console.WriteLine("是否要批量增加Y/N");
                string choice = Console.ReadLine();
                if ("Y".Equals(choice))
                {
                    Console.WriteLine("请输入你要增加的人的姓名");
                    string name = Console.ReadLine();
                    if (!(table.Rows.Contains(name)))
                    {
                        Console.WriteLine("请输入年龄:");
                        string age = Console.ReadLine();
                        Console.WriteLine("请输入性别:");
                        string sex = Console.ReadLine();
                        Console.WriteLine("请输入爱好:");
                        string interest = Console.ReadLine();
                        Console.WriteLine("请输入联系方式:");
                        string telephone = Console.ReadLine();
                        DataRow row = table.NewRow();
                        row["姓名"] = name;
                        row["年龄"] = age;
                        row["性别"] = sex;
                        row["爱好"] = interest;
                        row["联系方式"] = telephone;
                        table.Rows.Add(row);
                        Console.WriteLine("添加成功!");
                    }
                    else
                    {
                        Console.WriteLine("人名重复!");
                    }
                }
                else if ("N".Equals(choice))
                {
                    Console.WriteLine("已经添加成功了!");
                    break;
                }
            }
        }
    }


//测试类。
    class Program
    {
        static void Main(string[] args)
        {
           // DataTable table = new DataTable();
            Card card = new Card();
            while (true)
            {
                Console.WriteLine("请输入你要的操作1.增加2.查询3.查询全部4.删除5.修改6.增加多人");
                int a = int.Parse(Console.ReadLine());
                if (a == 1)
                {
                    Console.WriteLine("请输入姓名:");
                    string name = Console.ReadLine();
                    card.Add(name);
                }
                else if (a == 2)
                {
                    Console.WriteLine("请输入你要查询的人的姓名");
                    string name = Console.ReadLine();
                    card.Select(name);
                }
                else if (a == 3)
                {
                    card.SelectAll();
                }
                else if (a == 4)
                {
                    Console.WriteLine("请输入你要删除的人的姓名");
                    string name = Console.ReadLine();
                    card.Delete(name);
                    
                    
                }
                else if (a == 5)
                {
                    Console.WriteLine("请输入你要修改的人的姓名");
                    string name = Console.ReadLine();
                    card.Update(name);
                   
                }
                else if (a == 6)
                {
                    card.AddMore();

                }
                else if (a == 0)
                {
                    break;
                }
                else
                {
                    Console.WriteLine("您的输入有误,请重新输入!");
                }
            }
        }
    }

以上做法不一定就是最好的方法,只是起到练习技术的作用。

 

 本系列教程:

C#基础总结之八面向对象知识点总结-继承与多态-接口-http://www.cnblogs.com/spring_wang/p/6113531.html

C#基础总结之七面向对象知识点总结1http://www.cnblogs.com/spring_wang/p/6113526.html

C#基础总结之六 DataTable (临时表/数据源) 和Datatable 名片练习http://www.cnblogs.com/spring_wang/p/6113520.html

C#基础总结之五Dictionary<string, string[]>和while循环http://www.cnblogs.com/spring_wang/p/6113514.html

C#基础总结之四List-Hashtable-冒泡排序http://www.cnblogs.com/spring_wang/p/6113504.html

C#基础总结之三循环控制-for-数组-乘法表-arraylisthttp://www.cnblogs.com/spring_wang/p/6113496.html

C#基础总结之二循环控制-运算符http://www.cnblogs.com/spring_wang/p/6113484.html

C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换http://www.cnblogs.com/spring_wang/p/6113476.html

C#基础课程之六(临时表)DataTable使用方法http://www.cnblogs.com/spring_wang/p/6113454.html

C#基础课程之五集合(HashTable,Dictionary)http://www.cnblogs.com/spring_wang/p/6113404.html

C#基础课程之四集合(ArrayList、List<泛型>)http://www.cnblogs.com/spring_wang/p/6113396.html

C#基础课程之三循环语句http://www.cnblogs.com/spring_wang/p/6113383.html

C#基础课程之二变量常量及流程控制http://www.cnblogs.com/spring_wang/p/6113372.html

C#基础课程之一注释和控制台、一些常识http://www.cnblogs.com/spring_wang/p/6113361.html

C#基础第九天-作业答案-储蓄账户(SavingAccount)和信用账户(CreditAccount) http://www.cnblogs.com/spring_wang/p/6113291.html

C#基础第九天-作业-储蓄账户(SavingAccount)和信用账户(CreditAccount) http://www.cnblogs.com/spring_wang/p/6113285.html

C#基础第八天-作业答案-设计类-面向对象方式实现两个帐户之间转账http://www.cnblogs.com/spring_wang/p/6113274.html

C#基础第八天-作业-设计类-面向对象方式实现两个帐户之间转账http://www.cnblogs.com/spring_wang/p/6113258.html

C#基础第七天-作业答案-利用面向对象的思想去实现名片-动态添加http://www.cnblogs.com/spring_wang/p/6113232.html

C#基础第七天-作业-利用面向对象的思想去实现名片-动态添加http://www.cnblogs.com/spring_wang/p/6113224.html

C#基础第六天-作业-利用面向对象的思想去实现名片http://www.cnblogs.com/spring_wang/p/6113028.html

C#基础第六天-作业答案-利用面向对象的思想去实现名片http://www.cnblogs.com/spring_wang/p/6113033.html

C#基础第五天-作业答案-用DataTable制作名片集http://www.cnblogs.com/spring_wang/p/6113022.html

C#基础第五天-作业-用DataTable制作名片集http://www.cnblogs.com/spring_wang/p/6113013.html

C#基础第四天-作业答案-Hashtable-list<KeyValuePair>泛型实现名片http://www.cnblogs.com/spring_wang/p/6113005.html

C#基础第四天-作业-Hashtable-list<KeyValuePair>泛型实现名片http://www.cnblogs.com/spring_wang/p/6113000.html

C#基础第三天-作业答案-集合-冒泡排序-模拟名片http://www.cnblogs.com/spring_wang/p/6112888.html

C#基础第三天-作业-集合-冒泡排序-模拟名片http://www.cnblogs.com/spring_wang/p/6112885.html

C#基础第二天-作业答案-九九乘法表-打印星星http://www.cnblogs.com/spring_wang/p/6112881.html

C#基础第二天-作业-九九乘法表-打印星星http://www.cnblogs.com/spring_wang/p/6112875.html

C#基础第一天-作业答案http://www.cnblogs.com/spring_wang/p/6112872.html

C#基础第一天-作业http://www.cnblogs.com/spring_wang/p/6112867.html

C#-string.Format对C#字符串格式化http://www.cnblogs.com/spring_wang/p/6077098.html

posted @ 2016-11-29 13:27  王春天  阅读(738)  评论(0编辑  收藏  举报
云推荐