码迷,mamicode.com
首页 > 其他好文 > 详细

图书借阅的小案例

时间:2015-01-24 22:32:24      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

这个小案例,主要练习类和方法的创建与调用

void Main()
{
    while (true)
    {
        Console.WriteLine ("请输入标题或作者");
        var key = Console.ReadLine().Trim();    
        Library.Search(key).Dump();
        Console.WriteLine ("请输入要借阅/归还的图书编号");
        var id = Convert.ToInt32(Console.ReadLine());
        var book = Library.Search(id);
        
        Library.ChangeStatus(book);
        
        Console.WriteLine ("是否继续?Y/N");
        if (Console.ReadLine().ToLower()!="Y".ToLower())
        {
            break;
        }
    }
}

class Library
{
    private static readonly List<Book> Books = new List<Book>{
        new Book(1,"红楼梦","曹雪芹",Status.已归还),
        new Book(2,"西游记","吴承恩",Status.已归还),
        new Book(3,"水浒传","施耐庵",Status.已归还),
        new Book(4,"三国演义","罗贯中",Status.已归还)
    };
    
    public static IEnumerable<Book> Search(string key){
        foreach (var book in Books)
        {
            if (book.Title.Contains(key) || book.Author.Contains(key))
            {
                yield return book;
            }
        }        
    }
    
    public static Book Search(int id){
        foreach (var book in Books)
        {
            if (book.Id==id)
            {
                return book;
            }
        }
        return null;
    }
    
    public static void ChangeStatus(Book book){
        if (book!=null)
        {
            if (book.Status==Status.已归还)
            {
                Console.WriteLine ("图书借阅成功");
                book.Status=Status.已借阅;
            }else
            {
                Console.WriteLine ("图书归还成功");
                book.Status=Status.已归还;
            }
        }
    }
}
class Book{

    public int Id;
    public string Title;
    public string Author;
    public Status Status;
    
    public Book(int id,string title,string author,Status status){
        Id=id;
        Title = title;
        Author = author;
        Status = status;
    }
    
    public string Info(){
        return string.Format("Id:{0}\tTitle:{1}\tAuthor:{2}\tStatus:{3}",Title,Author,Status);
    }
}
enum Status{
    已借阅,已归还
}

 

图书借阅的小案例

标签:

原文地址:http://www.cnblogs.com/rammderek/p/4246623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!