专栏首页HUBU生信使用c#,运用面向对象的思想构建的一个图书管理系统(无数据库)

使用c#,运用面向对象的思想构建的一个图书管理系统(无数据库)

使用c#,运用面向对象的思想构建的一个图书管理系统(无数据库)

实现截图如下图:

面向对象的思想,实现代码:

namespace s1025_面向对象_
{
    //使用面向对象的思想构建图书管理系统
    /// <summary>
    /// 功能:具有图书的增删改查功能;
    /// </summary>


    //构造图书类
    //重载
    public class Book
    {
        private string Name;
        private string Author;
        private int Price;
      public Book()
      {
            //Console.WriteLine("我是一个没有参数的构造方法");
      }
      public Book(string name, string author, int price)
      {
            //Console.WriteLine("我是一个有参数的构造方法");
            this.Name = name;
            this.Author = author;
            this.Price = price;
      }
      //对c#中属性行为的定义,如果是自动定义,则不能书写后备字段
        public string name
        {
            get { return Name; }
            set { Name = value; }

        }

        public string author
        {
            get { return Author; }
            set { Author = value; }
        }

        public int price
        {
            get { return Price; }
            set { Price = price; }
        }
        //属性构造结束
        //重写继承的方法,注意签名必须相同
        public override string ToString()
        {
            string str = Name+","+ Author+ "," +   Price.ToString();
            return  str;
        }
    }

    public class BookManager
    {

        //创建一个列表集合报讯所有的图书
        public List<Book> Books = new List<Book>();

        public void Init()
        {
            Console.WriteLine("===========图书管理系统=============");
            Console.WriteLine("请选择您需要进行的操作(输入序号即可):");
            Console.WriteLine("1.增加");
            Console.WriteLine("2.修改");
            Console.WriteLine("3.删除");
            Console.WriteLine("4.查看");
            Console.WriteLine("5.退出");
            int num = int.Parse(Console.ReadLine());
            switch (num)
            {
                case 1:
                    IncreaseBook();
                    Init();
                    break;
                case 2:
                    ChangeBook();
                    Init();
                    break;
                case 3:
                    DelBook();
                    Init();
                    break;
                case 4:
                    LookBook();
                    Init();
                    break;
                case 5:
                    Environment.Exit(0);
                    break;
                default:
                    Console.WriteLine("输入有误,自动退出");
                    break;
            }
        }

        public void IncreaseBook()
        {
            Console.WriteLine("============增加图书==============");
            Console.WriteLine("图书名称:");
            string  name=Console.ReadLine();
            Console.WriteLine("图书作者:");
            string author = Console.ReadLine();
            Console.WriteLine("图书的价格:");
            int price = int.Parse(Console.ReadLine());
            Book book = new Book(name,author,price);
            Books.Add(book);
            Console.WriteLine("录入成功!");

        }

        public void DelBook()
        {
            Console.WriteLine("==============删除图书================");

            Console.WriteLine("请输入图书的名字:");

            string book = Console.ReadLine();

            foreach (var item in  Books) 
            {
                if (item.name == book)
                {
                    Books.Remove(item);
                    return;
                }
            }

            Console.WriteLine("删除成功");
        }

        public void ChangeBook()
        {

            string name;
            string author;
            int price;
            Console.WriteLine("=============修改图书================");
            Console.WriteLine("请输入图书的名字:");
            string book1 = Console.ReadLine();
            try
            {
                foreach (Book item in Books)
                {
                    if (item.name == book1)
                    {

                        Console.WriteLine("按照以下序号输入您想修改的条目");
                        Console.WriteLine("1.名称");
                        Console.WriteLine("2.作者");
                        Console.WriteLine("3.价格");
                        int num = int.Parse(Console.ReadLine());
                        switch (num)
                        {
                            case 1:
                                Console.WriteLine("请输入您要修改的名称:");
                                name = Console.ReadLine();
                                item.name = name;
                                Console.WriteLine("修改成功");
                                break;
                            case 2:
                                Console.WriteLine("请输入您要修改的作者名字:");
                                author = Console.ReadLine();
                                item.author = author;
                                Console.WriteLine("修改成功");
                                break;
                            case 3:
                                Console.WriteLine("请输入价格:");
                                price = int.Parse(Console.ReadLine());
                                item.price = price;
                                Console.WriteLine("修改成功");
                                break;
                            default:
                                Console.WriteLine("您的输入有误");
                                break;
                        }
                    }
                    else
                    {
                        Console.WriteLine("查找成功,但是有点问题");
                    }
                }
            }
            catch
            {
                Console.WriteLine("未查询到");
            }


            }

        public void LookBook()
        {
            Console.WriteLine("=============图书信息============");
            foreach (var item in Books)
            {
                Console.WriteLine(item);
                Console.WriteLine();
            }
        }




    }

    class Program
    {
        static void Main(string[] args)
        {

            BookManager bookManager = new BookManager();
            bookManager.Init();

        }
    }
}

全文结束,欢迎在评论区讨论~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 编程语言中,c#、Python、JavaScript哪一个更接近c语言?

    不要尝试比较几种编程语言的优劣,任何一种编程语言都有其存在的价值,适合的就是最好的,现在编程领域Python,JAVA等等发展势头非常迅猛,但并不意味着所有的企...

    程序员互动联盟
  • 40个只有程序员才看得懂的段子

    1. 一程序员去面试,面试官问:“你毕业才两年,这三年工作经验是怎么来的?!”程序员答:“加班。”

    奋斗蒙
  • 【转】vscode调试运行c#详细操作过程

    //用于发布exe <RuntimeIdentifier>win10-x64</RuntimeIdentifier> 

    landv
  • C# Command命令(行为型模式)+队列 实现事务,带异步命令重试机制和生命周期

    耦合是软件不能抵御变变化的根本性原因,不仅实体对象与实体对象之间有耦合关系(如创建性设计模式存在的原因),对象和行为之间也存在耦合关系.

    郑小超.
  • C# 多线程九之Timer类

    相信写过定时任务的小伙伴都知道这个类,非常的轻量级,而且FCL中大量的类使用了这个方法,比如CancellationTokenSource的CancelAfte...

    郑小超.
  • C# 多线程学习系列四之取消、超时子线程操作

    虽然ThreadPool、Thread能开启子线程将一些任务交给子线程去承担,但是很多时候,因为某种原因,比如子线程发生异常、或者子线程的业务逻辑不符合我们的预...

    郑小超.
  • Java连接MnogoDb数据库

    添加:mongo-java-driver-3.2.2.jar   驱动地址:http://central.maven.org/maven2/org/mongod...

    黄林晴
  • C# 多线程五之Task(任务)

    为什么MS要推出Task,而不推Thread和ThreadPool,以下是我的见解:

    郑小超.
  • Android 开发之 QQ变声功能实现

     在QQ中我们使用到的一个功能就是变声,QQ是使用FMOD实现的,那么同样的我们也使用FMOD让自己的应用可以变音

    黄林晴

扫码关注云+社区

领取腾讯云代金券