C#入门练习-通讯录程序

要求如下 

我的答案仅供参考,未能实现按名字排序。写的也不好。23:00开始写,凌晨2:47才写完,我真拉胯啊。还有好长的路要走

using System;

namespace talkingbook
{
    public class TalkingBook
    {
        //通讯录结构体
        public enum sexs { 男 = 0, 女 = 1 };
        struct talker{
            public int bianhao;
            public string name;
            public sexs sex;
            public string data;
            public string phone;
        }
        //添加联系人函数
        static void addt()
        {
            
            //初始化数组
            talker[] talkers = new talker[10];
            //读取联系人文件
            StreamReader sr = File.OpenText("E:\\C#代码库\\talking book\\通讯录.txt");
            string s = sr.ReadLine();
            int max = 0;
            while (s != null&&max <10)
            {
                string[] str = s.Split(new char[] { ',' });
                talkers[max].bianhao = max + 1;
                talkers[max].name = str[1];
                //特殊处理,我讨厌enum
                if (str[2] == "男")
                {
                    talkers[max].sex = sexs.男;
                }
                else
                {
                    talkers[max].sex = sexs.女;
                }
                talkers[max].data =str[3];
                talkers[max].phone =str[4];
                max++;
                 s = sr.ReadLine();
            }

            sr.Close();

            //添加联系人
            Console.WriteLine("请问需要添加几位联系人?");
            int ad = Convert.ToInt16( Console.ReadLine());
            for (int i = max; i < max+ad && i<10; i++)
            {
                Console.WriteLine("请依次输入通讯录里第{0}位联系人的姓名,性别(0男/1女),出生日期,手机,需分别回车",i+1);
                talkers[i].bianhao = i + 1;
                talkers[i].name = Console.ReadLine();
                talkers[i].sex = (sexs)Convert.ToInt16(Console.ReadLine());
                Console.WriteLine(talkers[i].sex);
                talkers[i].data=  Console.ReadLine();
                talkers[i].phone= Console.ReadLine();  
                //提示信息
                Console.WriteLine("添加{0}成功",talkers[i].name);
            }

            //自动创建文件,同时具有覆写功能
            StreamWriter sw1 = File.CreateText("E:\\C#代码库\\talking book\\通讯录.txt");
            sw1.Flush();
            sw1.Close();
            //写入
            StreamWriter sw2 = File.AppendText("E:\\C#代码库\\talking book\\通讯录.txt");
            for (int i = 0; i<max+ad && i<10; i++)
            {
                sw2.WriteLine(Convert.ToString(i)+ ","+ talkers[i].name + "," + talkers[i].sex + "," + talkers[i].data + "," + talkers[i].phone);               
            }
            
            sw2.Flush();
            sw2.Close();


        }







        //显示通讯录函数
        static void show()
        {
            //输出信息
            //初始化数组
            talker[] talkers = new talker[10];
            //读取联系人文件
            StreamReader sr = File.OpenText("E:\\C#代码库\\talking book\\通讯录.txt");
            string s = sr.ReadLine();
            int max = 0;
            while (s != null && max < 10)
            {
                string[] str = s.Split(new char[] { ',' });
                talkers[max].bianhao = max + 1;
                talkers[max].name = str[1];
                //特殊处理,我讨厌enum
                if (str[2] == "男")
                {
                    talkers[max].sex = sexs.男;
                }
                else
                {
                    talkers[max].sex = sexs.女;
                }
                talkers[max].data = str[3];
                talkers[max].phone = str[4];
                max++;
                s = sr.ReadLine();
            }

            sr.Close();


            Console.WriteLine("通讯录中共有{0}人",max);
            for (int i = 0; i < max; i++)
            {
                Console.WriteLine("-----------------");
                Console.WriteLine("姓名:{0}", talkers[i].name);
                Console.WriteLine("性别:{0}",talkers[i].sex);
                //换算年龄
               string[] year =talkers[i].data.Split(new char[] { '.' });
                int birthday = Convert.ToInt16(year[0]);
                int age = 2022 - birthday;
                Console.WriteLine("年龄:{0}岁",age);
                Console.WriteLine("手机:{0}",talkers[i].phone);
            }
        }

        static void Main() 
        {

            //首页界面
            Console.WriteLine("\v\t\t 通讯录软件\t\t\v");
            Console.WriteLine("\v\t\t1-添加联系人\t\t\v");
            Console.WriteLine("\v\t\t2-显示通讯录\t\t\v");
            //功能选择
            Console.WriteLine("请输入功能ID");
            int id= Convert.ToInt16(Console.ReadLine());
            //功能id=1,添加联系人;功能id=2,显示通讯录。
            if (id == 1) 
            {
                addt();
            }
            else
            {
                show();
            }

         }
    }
}

 


版权声明:本文为yuwoxinanA3原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。