C#图书管理系统

C#图书管理系统

using System;
using System.Collections.Generic;
using System.Linq;

namespace Program
{
class Program
{
static void Main(string[] args)
{
Menu menu = new Menu();
menu.ShowMainMenu();
Console.ReadLine();

    }
}
/********************> Publications <**********************/
class Publications
{
    private string PublicationsISBN;
    public string PublicationsIsbn
    {
        get
        {

            return PublicationsISBN;
        }
        set
        {
            PublicationsISBN = value;
        }
    }
    /*出版物名称*/
    public string PublicationName;
    /*出版物作者或机构*/
    public string PublicationAuthor;
    /*出版物在书架状态*/
    public bool PublicationStatus;
    /*出版物类型*/
    public string PublicationType;
    public Publications()
    {
    }
    public Publications(string PublicationsISBN, string PublicationName,
        string PublicationAuthor, bool PublicationStatus, string PublicationType)
    {
        this.PublicationsISBN = PublicationsISBN;
        this.PublicationName = PublicationName;
        this.PublicationAuthor = PublicationAuthor;
        this.PublicationStatus = PublicationStatus;
        this.PublicationType = PublicationType;


    }
}

/********************> Readers <**********************/
class Readers
{
    private string ReaderID;
    public string ReaderId
    {
        get
        {
            return ReaderID;

        }
        set
        {
            ReaderID = value;
        }
    }
    public string ReaderName;
    public string ReaderSex;
    public string ReaderDepartment;
    public string ReaderMajor;
    public string[] BowPublication = new string[10] { "", "", "", "", "", "", "", "", "", "", };
    public Readers()
    {
    }
    public Readers(string ReaderID, string ReaderName, string ReaderSex, string ReaderDepartment,
        string ReaderMajor)
    {
        this.ReaderMajor = ReaderMajor;
        this.ReaderName = ReaderName;
        this.ReaderSex = ReaderSex;
        this.ReaderDepartment = ReaderDepartment;
        this.ReaderID = ReaderID;

    }
}
/***************************> Manage <**********************/
class Manage
{
    public bool BorrowFlag = false;/*借阅操作成功标志*/
    public bool ReturnFlag = false;/*归还操作成功标志*/
    public Publications pub_search;/*保存查询到的出版物*/
    public Readers Red_valid;/*保存查询到的合法用户*/

    /*申明藏书物数组*/
    public Publications[] pubs = new Publications[100];
    /*申明注册读物数组*/
    public Readers[] reds = new Readers[30];
    /*实例化出版物对象*/
    public Publications pub0 = new Publications("000000","aa","中华科技", true, "书籍");
    public Publications pub1 = new Publications("000001", "bb", "长春大学出版社", true, "杂志");
    public Publications pub2 = new Publications("000002", "cc", "清华大学出版社", true, "书籍");
    public Publications pub3 = new Publications("000003", "dd", "中国四大名著", true, "书籍");
    public Publications pub4 = new Publications("000004", "ee", "中国人名", true, "杂志");
    public Publications pub5 = new Publications("000005", "ff", "中国四大名著", true, "书籍");
    public Publications pub6 = new Publications("000006", "gg", "中国四大名著", true, "书籍");
    public Publications pub7 = new Publications("000007", "hh", "中国四大名著", true, "书籍");
    public Publications pub8 = new Publications("000008", "ii", "周末电台", true, "报纸");
    public Publications pub9 = new Publications("000009", "jj", "俞敏洪", true, "音像制品");
    public Readers red0 = new Readers("2016000", "yy", "男","物理学院", "团战先锋学院");
    public Readers red1 = new Readers("2016001", "nn","男", "数学学院","团战核心学院");
    public Readers red2 = new Readers("2016002", "hh","男", "电子信息学院", "开团先锋学院");
    public Readers red3 = new Readers("2016003", "ll", "女","生物工程学院", "团战盾牌学院");
    public Readers red4 = new Readers("2016004","xx", "女","物理学院", "团战输出学院");
    public Readers red5 = new Readers("2016005", "mm", "雌","化学学院", "战地记者");

    /*初始化出版物数组*/
    public void PublicationsInitial()
    {
        pubs[0] = pub0;
        pubs[1] = pub1;
        pubs[2] = pub2;
        pubs[3] = pub3;
        pubs[4] = pub4;
        pubs[5] = pub5;
        pubs[6] = pub6;
        pubs[7] = pub7;
        pubs[8] = pub8;
        pubs[9] = pub9;
    }
    /*初始化读者数组*/
    public void ReadersInitial()
    { 
        reds[0] = red0;
        reds[1] = red1;
        reds[2] = red2;
        reds[3] = red3;
        reds[4] = red4;
        reds[5] = red5;


    }

    /*查询图书操作*/
    public bool SearchPublications()
    {
        string Pub_Name;
        bool SearchFlag = false;
        Pub_Name = Console.ReadLine();
        foreach (Publications pub in pubs)
        {
            if (pub != null && pub.PublicationName == Pub_Name) 
            { 
                SearchFlag = true;
                pub_search = pub;
            
            
            }
            
        }
            return SearchFlag;
    
    
    }
    /*借阅图书操作*/
    public void Borrow()
    {
        string Red_Name;
        string Pub_Name;
        bool ReaderFlag = false;
        Red_Name = Console.ReadLine();
        foreach (Readers red in reds)
        {
            if (red != null && red.ReaderName == Red_Name)
            { 
                ReaderFlag = true;
                Red_valid = red;
            }
        
        }

        if (ReaderFlag)
        {
            Console.WriteLine("请输入你需要借阅的出版物的名称:");
            Pub_Name = Console.ReadLine();
            foreach (Publications pub in pubs)
            {
                if(pub != null && pub.PublicationName == Pub_Name)
                {

                    BorrowFlag = true;
                    pub.PublicationStatus = false;
                    AddToReders(pub.PublicationName, Red_valid);

                }
               
            }
        
        }
        else
        {
            Console.WriteLine("抱歉,你是非法读者,GET OUT!");
        }
    }

    /*归还图书操作*/
    public void Return()
    {
        string Red_Name;
        string Pub_Name;
        bool ReaderFlag = false;
        Red_Name= Console.ReadLine();
        foreach (Readers red in reds)
        {
            if (red != null && red.ReaderName == Red_Name)
            { 
                ReaderFlag = true;  
                Red_valid =red;

            
            }
        }
        if (ReaderFlag)
        {
            Console.Write("请输入你需要归还出版物的名称:");
            Pub_Name = Console.ReadLine();
            foreach (Publications pub in pubs)
            {
                if (pub != null && pub.PublicationName == Pub_Name)
                {
                    for (int i = 0; i < 10; i++)
                    {
                        if (Red_valid.BowPublication[i] == Pub_Name)
                        {
                            ReturnFlag = true;
                            pub.PublicationStatus = true;
                            RemoveFromReders(Pub_Name, Red_valid);


                        }

                    }

                }

            }
        }
        else 
        {
               Console.WriteLine("抱歉,你是非法读者,无法归还图书!");
        }
    }

    /*添加图书到读者*/
    private void AddToReders(string PublicationName, Readers red)

    {
        /*设置借阅上限为10本*/
        for (int i = 0; i<10; i++)
        {
            if (red != null && red.BowPublication[i] == "")
            { 
                red.BowPublication[i] = PublicationName;
                break;
            }
        
        }
    
    }
    /*读者对象中移除图书*/
    private void RemoveFromReders(string PublicationName, Readers red)
    {
        /*设置借阅上限为10本*/
        for (int i = 0; i < 10; i++)
        {
            if (red != null && red.BowPublication[i] == PublicationName)
            {
                red.BowPublication[i] = red.BowPublication[i + 1];
                
            
            }
        
        
        }
    
    }
    /*新书入库操作*/
    public void AddPublications(Publications pub)
    {
        for (int i = 11; i < 100; i++)
        {
            if (pubs[i] == null)
            {
                pubs[i] = pub;
            }
        
        
        }
    
    
    }

    /*添加新读者操作*/
    public void AddReaders(Readers red)
    {
        for (int i = 6; i < 30; i++)
        {
            if (reds[i] == null)
            {
                reds[i] = red;
            }


        }


    }
    /*查询读者信息**/
    public void RedIndex()
    {
        string Red_Name;
        bool ReaderFlag = false;
        Red_Name = Console.ReadLine();
        foreach (Readers red in reds)
        {
            if (red != null && red.ReaderName == Red_Name)
            { 
                ReaderFlag = true;
                Red_valid = red;  
            }
        
        }

        if (!ReaderFlag)
        {
            Console.WriteLine("抱歉,你是非法读者,无法查到你的借阅信息");
        
        }
    }


}
/*********************************> Menus <**********************/

class Menu
{
    //创建一个集体管理对象
    Manage mag = new Manage();
    //声明一个读者对象
    Readers red;
    //申明一个出版物对象
    Publications pub;
    public void ShowMainMenu()
    {
        mag.PublicationsInitial();
        mag.ReadersInitial();
        Console.WriteLine("欢迎使用图书管理系统V8.0");
        Console.WriteLine("-------------------------------------------------------------" +
            "-------------------");
        Console.WriteLine("1.查询图书");
        Console.WriteLine("2.借阅图书");
        Console.WriteLine("3.还书服务");
        Console.WriteLine("4.新书入库");
        Console.WriteLine("5.录入新读者");
        Console.WriteLine("6.查阅读者借阅信息");
        Console.WriteLine("7.退出系统");
        Console.WriteLine("--------------------------------------------------------------" +
            "--------------------");
        bool flag;
        do
        {
            flag = false;
            Console.WriteLine("请选择:");
            string key = Console.ReadLine();
            switch (key)
            {
                case "1":
                    Console.Write("请输入需要查询的图书名:");
                    ShowPubInfo();
                    break;
                case "2":
                    Console.Write("请输入你的名字");
                    mag.Borrow();
                    ShowBorrowInfo();
                    break;
                case "3":
                    Console.WriteLine("请输入你的名字:");
                    mag.Return();
                    ShowReturnInfo();
                    break;
                case "4":
                    Console.WriteLine("请按照提示逐步输入需要入库的出版物信息。。。");

                    ShowAddPublications();
                    break;
                case "5":
                    Console.WriteLine("请按照提示逐步输入新读者注册信息。。。");

                    ShowAddReaders();
                    break;
                case "6":
                    Console.WriteLine("请输入你的名字:");
                    mag.RedIndex();
                    ShowRedPubInfo(mag.Red_valid);
                    break;
                case "7":
                    flag = false;
                    break;
                default:

                    Console.WriteLine("无此业务,是否重新选择(y/n)?");
                    string answer = Console.ReadLine();
                    if (answer != "y")

                    {
                        flag = false;
                    }
                    else
                    {
                        flag = true;


                    }
                    break;

            }


        } while (flag);

    }
    /*显示查询到的出版物信息*/
    public void ShowPubInfo()
    {
        if (mag.SearchPublications())
        {
            Console.WriteLine("你要查询的出版物信息:");
            Console.WriteLine("-----------------------------------------------------------" +
                "---------------------");
            Console.WriteLine("编号:" + mag.pub_search.PublicationsIsbn);
            Console.WriteLine("出版物名字:" + mag.pub_search.PublicationName);
            Console.WriteLine("出版物信息:" + mag.pub_search.PublicationAuthor);
            Console.WriteLine("出版物类型:" + mag.pub_search.PublicationType);
            if (mag.pub_search.PublicationStatus)
            {
                Console.WriteLine("出版物状态:有余留,运气不错");
            }
            else
            {
                Console.WriteLine("出版物状态:未在架,未知");
            }
            Console.WriteLine("--------------------------------------------------------" +
                "----------------------");
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("是否办理其他业务(y/n)?");
            string answer = Console.ReadLine();
            if (answer == "y")
            {
                ShowMainMenu();
                Console.WriteLine();

            }
            else
            {
                Console.WriteLine("Over");
            }

        }
        else
        {
            Console.WriteLine("抱歉,未找到该图书!");
            Console.WriteLine("是否办理其他业务(y/n)?");
            string answer = Console.ReadLine();
            if (answer == "y")
            {
                ShowMainMenu();
                Console.WriteLine();
            }
            else
            {
                Console.WriteLine("结束!");
            }
        }
    }
    /*借阅操作结果*/
    public void ShowBorrowInfo()
    {
        if (mag.BorrowFlag)
        {
            Console.WriteLine("Successful,借阅成功!");
            ShowRedPubInfo(mag.Red_valid);

        }
        else
        {
            Console.WriteLine("抱歉,借阅失败!");
            Console.WriteLine("是否办理其他业务(y/n)?");
            string answer = Console.ReadLine();
            if (answer == "y")
            {
                ShowMainMenu();
            }
            else
            {
                Console.WriteLine("结束!");
            }
        }
    }
    /*显示归还操作*/
    public void ShowReturnInfo()
    {
        if (mag.ReturnFlag)
        {
            Console.WriteLine("感谢,归还成功!");
            ShowRedPubInfo(mag.Red_valid);
        }
        else
        {
            Console.WriteLine("抱歉,归还失败!");
            Console.WriteLine("是否办理其他业务(y/n)?");
            string answer = Console.ReadLine();
            if (answer == "y")
            {
                ShowMainMenu();
            }
            else
            {
                Console.WriteLine("结束!");
            }

        }

    }
    public void ShowRedPubInfo(Readers red)
    {
        Console.WriteLine("当前你的借阅信息如下:");
        Console.WriteLine("------------------------------------------------------" +
                "----------------------");
        Console.WriteLine("编号:"+red.ReaderId);
        Console.WriteLine("姓名:" + red.ReaderName);
        Console.WriteLine("性别:" + red.ReaderSex);
        Console.WriteLine("所在学院:" + red.ReaderDepartment);
        Console.WriteLine("主修专业:" + red.ReaderMajor);
        Console.WriteLine("已借图书:");
        for (int i = 0; i < red.BowPublication.Length - 1; i++)
        {
            if (red.BowPublication[i] != "")
            {
                Console.Write(" " + red.BowPublication[i]);
            }
        }
        Console.WriteLine("");
        Console.WriteLine("------------------------------------------------------" +
                "----------------------");
        Console.WriteLine("");
        Console.WriteLine("是否办理其他业务(y/n)?");
        string answer = Console.ReadLine();
        if (answer == "y")
        {
            ShowMainMenu();
        }
        else
        {
            Console.WriteLine("结束!");
        }
    }
    /*显示新出版物入库信息*/
    public void ShowAddPublications()
    {
        pub = new Publications();
        Console.Write("请输入出版物编号:");
        pub.PublicationsIsbn = Console.ReadLine();
        Console.WriteLine("请输入出版物名称:");
        pub.PublicationName = Console.ReadLine();
        Console.WriteLine("请输入出版物作者:");
        pub.PublicationAuthor = Console.ReadLine();
        Console.WriteLine("请输入出版物类型:");
        pub.PublicationType = Console.ReadLine();
        pub.PublicationStatus = true;
        mag.AddPublications(pub);
        Console.WriteLine("新出版物入库成功!");
        Console.WriteLine("是否办理其他业务(y/n)?");
        string answer = Console.ReadLine();
        if (answer == "y")
        {
            ShowMainMenu();
            Console.WriteLine();
            Console.WriteLine();
        }
        else
        {
            Console.WriteLine("结束!");
        }
    }
    /*显示新注册用户信息*/
    public void ShowAddReaders()
    { 
        red = new Readers();
        Console.Write("请输入新用户的编号:");
        red.ReaderId = Console.ReadLine();
        Console.Write("请输入新用户的姓名:");
        red.ReaderName = Console.ReadLine();
        Console.Write("请输入新用户的性别:");
        red.ReaderSex = Console.ReadLine();
        Console.Write("请输入新用户的院系:");
        red.ReaderDepartment = Console.ReadLine();
        Console.Write("请输入新用户的专业:");
        red.ReaderMajor = Console.ReadLine();
        for (int i=0; i<10; i++)
        {
            red.BowPublication[i] = "";
        }
        mag.AddReaders(red);
        Console.WriteLine("新用户注册成功!");
        Console.WriteLine("是否办理其他业务(y/n)?");
        string answer = Console.ReadLine();
        if (answer == "y")
        {
            ShowMainMenu();
            Console.WriteLine();
            Console.WriteLine();
        }
        else
        {
            Console.WriteLine("结束!");
        }


    }
}

}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值