当前位置: 首页 > article >正文

c# 设计一个图书管理系统

设计一个简单的图书管理系统,包括以下类:

1、Book 类:表示一本图书,包括图书编号、书名、作者、出版日期等属性。

2、Library 类:表示图书馆,包括一个图书列表,可以添加图书、借出图书、归还图书等操作。

3、Person 类:表示图书馆的读者,包括姓名、借阅的图书列表等属性。

请用 C# 编写上述类,并提供简单的演示代码。

解答:

using System;
using System.Collections.Generic;

class Book
{
    public int BookId { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
    public DateTime PublicationDate { get; set; }
}

class Library
{
    private List<Book> books = new List<Book>();

    public void AddBook(Book book)
    {
        books.Add(book);
        Console.WriteLine($"Book '{book.Title}' added to the library.");
    }

    public void BorrowBook(Book book, Person person)
    {
        if (books.Contains(book))
        {
            books.Remove(book);
            person.BorrowedBooks.Add(book);
            Console.WriteLine($"{person.Name} borrowed the book '{book.Title}'.");
        }
        else
        {
            Console.WriteLine($"Sorry, the book '{book.Title}' is not available in the library.");
        }
    }

    public void ReturnBook(Book book, Person person)
    {
        if (person.BorrowedBooks.Contains(book))
        {
            person.BorrowedBooks.Remove(book);
            books.Add(book);
            Console.WriteLine($"{person.Name} returned the book '{book.Title}'.");
        }
        else
        {
            Console.WriteLine($"{person.Name} did not borrow the book '{book.Title}'.");
        }
    }
}

class Person
{
    public string Name { get; set; }
    public List<Book> BorrowedBooks { get; set; } = new List<Book>();
}

class Program
{
    static void Main()
    {
        Book book1 = new Book { BookId = 1, Title = "Introduction to C#", Author = "John Smith", PublicationDate = new DateTime(2020, 1, 1) };
        Book book2 = new Book { BookId = 2, Title = "Data Structures and Algorithms", Author = "Alice Johnson", PublicationDate = new DateTime(2019, 5, 15) };

        Library library = new Library();
        library.AddBook(book1);
        library.AddBook(book2);

        Person person1 = new Person { Name = "Alice" };
        Person person2 = new Person { Name = "Bob" };

        library.BorrowBook(book1, person1);
        library.BorrowBook(book2, person2);

        library.ReturnBook(book1, person1);
        library.ReturnBook(book2, person2);
    }
}


http://www.kler.cn/news/134001.html

相关文章:

  • react 手机端 rc-table列隐藏(根据相关条件是否隐藏)、实现图片上传操作
  • MIB 6.S081 System calls(1)using gdb
  • 设计模式-适配器-笔记
  • 算法之路(二)
  • 【NI-DAQmx入门】校准
  • 05 robotFrameWork+selenium2library 一维数组的使用
  • Nodejs 第十九章(pngquant)
  • HTTP Error 500.31 - Failed to load ASP.NET Core runtime
  • 企业微信H5开发遇到的坑
  • vue3 tsx 项目中使用 Antv/G2 实现多线折线图
  • Python操控HDFS
  • struct结构体【C#】
  • Mac M1 M1 pro安装 protobuf 2.5.0
  • vue中使用echarts实现省市地图绘制,根据数据显示不同区域颜色,点击省市切换,根据经纬度打点
  • 【VSCode】Visual Studio Code 配置简体中文环境教程
  • 10个提高VS Code工作效率的技巧
  • 【Linux网络】典型NAS存储方式:NFS网络共享存储服务
  • Android跨进程通信,IPC,RPC,Binder系统,C语言应用层调用
  • 批量替换WordPress文章内图片链接
  • vue3.0中实现excel文件的预览
  • 07-流媒体-RTMP推流
  • 实战项目:VB龟兔赛跑游戏+猜数字游戏
  • vue3安装vue-router
  • 云计算(Docker)
  • 文件转换,简简单单,pdf转word,不要去找收费的了,自己学了之后免费转,之后就复制粘贴就ok了
  • how to find gcc openbug
  • mysql 设置远程登录
  • 【数据结构&C++】二叉平衡搜索树-AVL树(25)
  • 系列五、怎么查看默认的垃圾收集器是哪个?
  • Java 语言关键字有哪些