集合书写图书管理系统(C#程序)

图书管理系统的需求:

用结构体来实现图书管理系统,需要在cmd中运行

用MonoDevelop或者VS进行编码

用结构体写图书管理系统,此代码可以在Monodevelop上或者在VS上运行

需要实现的第一个功能是能够进行图书的添加将图书的信息保存到一个数组中,数组的类型为结构体所命名的类型

第二个功能能够进行图书的删除

第三个功能能够进行图书的修改

第四个功能能够进行图书的查询

第五个功能能够进行图书系统的退出

以下是两种不一样的编程思想(一一遍吗列举了出来)

第一种:

using System;
using System.Collections.Generic;

namespace Book_Manage
{
    class MainClass
    {
        struct Book
        {
            //公司变量名前面加一个m_

            /// <summary>
            /// 书的名字
            /// </summary>
            public string m_BookName;
            /// <summary>
            /// 书的作者
            /// </summary>
            public string m_BookAuthor;
            /// <summary>
            /// 书的价格
            /// </summary>
            public float m_Price;
        }

        public static void Main(string[] args)
        {
            Book book1 = new Book ();

            book1.m_BookName="平凡的世界";
            book1.m_BookAuthor = "路遥";
            book1.m_Price = 10;
            Book book2;
            book2.m_BookName="射雕英雄传";
            book2.m_BookAuthor="金庸";
            book2.m_Price=23.5f;

            List<Book> m_Books = new List<Book> ();

            m_Books.Add(book1);
            m_Books.Add(book2);

            while (true)
            {
                Console.WriteLine ("**************************************************");
                Console.WriteLine ("*             欢迎进入图书管理系统               *");
                Console.WriteLine ("*A:添加  D:删除 C:修改 S:查看 Q:退出 P:全部显示  *");
                Console.WriteLine ("**************************************************");
                Console.Write ("请输入你要进行的选择(Q表示退出!):");
                string input = Console.ReadLine ();

                //把input字符串转换成大写  然后再赋值给input
                input=input.ToUpper();

                switch (input)
                {
                    //添加
                    case "A":
                        {
                            //往数组里面加一本书
                            Book book;
                            Console.Write ("请输入要添加的图书的名字:");
                            string name = Console.ReadLine ();
                            Console.Write ("前输入要添加的图书的作者:");
                            string author = Console.ReadLine ();
                            Console.Write ("请输入要添加的图书的价格:");
                            float price = float.Parse (Console.ReadLine ());

                            book.m_BookName = name;
                            book.m_BookAuthor = author;
                            book.m_Price = price;

                            m_Books.Add (book);

                            //进行其中的显示的清除
                            Console.Clear ();

                        }
                        break;
                        //删除
                    case "D":
                        {
                            Console.WriteLine ("E:按名称删除 R:按作者删除");
                            Console.Write ("请输入您的选择:");
                            string str = Console.ReadLine ();
                            switch (str)
                            {
                                case "E":
                                    Book book = new Book ();
                                    //判断是否找到此书
                                    bool isFind = false;
                                    Console.Write ("请输入您要进行删除的图书的名字:");
                                    string strName = Console.ReadLine ();
                                    for (int i = 0; i < m_Books.Count; i++) {
                                        if (m_Books[i].m_BookName==strName)
                                        {
                                            isFind = true;
                                            book.m_BookAuthor = m_Books [i].m_BookAuthor;
                                            book.m_BookName = m_Books [i].m_BookName;
                                            book.m_Price = m_Books [i].m_Price;
                                        }
                                    }
                                    if (isFind)
                                    {
                                        m_Books.Remove (book);
                                        Console.WriteLine ("删除成功!!!!!");
                                    }
                                    else
                                    {
                                        Console.WriteLine ("删除失败!!!!!");
                                    }

                                    break;
                                case "R":
                                    //判断是否找到此书
                                    bool isFind1 = false;
                                    Book book3 = new Book ();
                                    Console.Write ("请输入您要进行删除的图书的作者:");
                                    string strAuthor = Console.ReadLine ();
                                    for (int i = 0; i < m_Books.Count; i++) {
                                        if (m_Books[i].m_BookAuthor==strAuthor)
                                        {
                                            isFind = true;
                                            book3.m_BookAuthor = m_Books [i].m_BookAuthor;
                                            book3.m_BookName = m_Books [i].m_BookName;
                                            book3.m_Price = m_Books [i].m_Price;
                                        }
                                    }
                                    if (isFind1)
                                    {
                                        m_Books.Remove (book3);
                                        Console.WriteLine ("删除成功!!!!!");

                                    }
                                    else
                                    {
                                        Console.WriteLine ("删除失败!!!!!");
                                    }
                                    break;
                            }
                            //进行其中的显示的清除
                            Console.Clear ();
                        }
                        break;
                        //修改
                    case "C":
                        {
                            int index = 0;
                            bool isFind = false;
                            Book book3 = new Book ();;
                            Console.Write ("请输入要修改的书的名字:");
                            string strName = Console.ReadLine ();
                            for (int i = 0; i < m_Books.Count; i++)
                            {
                                if (m_Books[i].m_BookName==strName)
                                {
                                    isFind = true;
                                    index = i;
                                }
                            }
                            if (isFind)
                            {
                                Console.WriteLine ("Y:修改图书名称 H:修改图书作者 G:修改图书价格");
                                Console.Write ("请输入您的选择:");
                                string str = Console.ReadLine ();
                                switch (str)
                                {
                                    case "Y":
                                        Console.Write ("请输入您要修改成的图书名称:");
                                        string strName1 = Console.ReadLine ();
                                        book3.m_BookName = strName1;
                                        book3.m_BookAuthor = m_Books[index].m_BookAuthor;
                                        book3.m_Price = m_Books[index].m_Price;
                                        break;
                                    case "H":
                                        Console.Write ("请输入您要修改成的图书作者:");
                                        string strAuthor = Console.ReadLine ();
                                        book3.m_BookName = m_Books[index].m_BookName;
                                        book3.m_BookAuthor = strAuthor;
                                        book3.m_Price = m_Books[index].m_Price;
                                        break;
                                    case "G":
                                        Console.Write ("请输入您要修改成的图书名称:");
                                        int price = int.Parse (Console.ReadLine ());
                                        book3.m_Price = price;
                                        book3.m_BookName = m_Books[index].m_BookName;
                                        book3.m_BookAuthor = m_Books[index].m_BookAuthor;
                                        break;
                                }
                                m_Books.RemoveAt (index);
                                m_Books.Insert (index,book3);
                                book3.m_BookAuthor = "";
                                book3.m_BookName = "";
                                book3.m_Price = 0;
                            }
                            else
                            {
                                Console.WriteLine ("没有此图书无法进行修改!!!!!");
                            }
                            //进行其中的显示的清除
                            Console.Clear ();

                        }
                        break;
                        //查看
                    case "S":
                        {
                            Console.WriteLine ("N:按名称查找  Z:按作者查找");
                            Console.Write ("请输入您的选择:");
                            string str = Console.ReadLine ();
                            str = str.ToUpper ();
                            switch (str)
                            {
                                case "N":
                                    {
                                        Console.Write ("请输入要查找书的名称:");
                                        string strName = Console.ReadLine ();
                                        //判断是否找到此书
                                        bool isFind = false;
                                        //记录找到的书的下标
                                        int index = 0;
                                        for (int i = 0; i < m_Books.Count; i++)
                                        {
                                            if (m_Books [i].m_BookName == strName)
                                            {
                                                isFind = true;
                                                index = i;
                                            }
                                        }
                                        if (isFind)
                                        {
                                            Console.WriteLine ("书的名字为:{0},书的作者为:{1},书的价格为:{2}",
                                                m_Books [index].m_BookName,
                                                m_Books [index].m_BookAuthor,
                                                m_Books [index].m_Price);
                                        }
                                        else
                                        {
                                            Console.WriteLine ("没有找到这本书!!!!!!");
                                        }
                                    }
                                    break;
                                case "Z":
                                    {
                                        Console.Write ("请输入要查找书的作者:");
                                        string strAuthor = Console.ReadLine ();
                                        //判断是否找到此书
                                        bool isFind = false;
                                        //记录找到的书的下标
                                        int index = 0;
                                        for (int i = 0; i < m_Books.Count; i++)
                                        {
                                            if (m_Books [i].m_BookName == strAuthor)
                                            {
                                                isFind = true;
                                                index = i;
                                            }
                                        }
                                        if (isFind)
                                        {
                                            Console.WriteLine ("书的名字为:{0},书的作者为:{1},书的价格为:{2}",
                                                m_Books [index].m_BookName,
                                                m_Books [index].m_BookAuthor,
                                                m_Books [index].m_Price);
                                        }
                                        else
                                        {
                                            Console.WriteLine ("没有找到这本书!!!!!!");
                                        }
                                    }
                                    break;
                            }
                            //进行其中的显示的清除
                            Console.Clear ();
                        }
                        break;
                    case "P":
                        for (int i = 0; i < m_Books.Count; i++)
                        {
                            Console.WriteLine ("书的名字:{0},书的作者:{1},书的价格:{2}",
                                m_Books[i].m_BookName,
                                m_Books[i].m_BookAuthor,
                                m_Books[i].m_Price);
                        }
                        break;
                }
                if (input=="Q")
                {
                    break;
                }
            }
            Console.WriteLine ("退出程序成功!!!!!");
        }
    }
}

第二种:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;

namespace books_Manage
{
    enum Bookstate
    {
        增加图书=1,删除图书=2,修改图书=3,查看图书=4,退出系统=5
    }
    /// <summary>
    /// 图书的所有属性
    /// </summary>
    class Book
    {
        private string bookid;
        private string bookname;
        private int bookprice;
        private int bookcount;
        public string Bookid{
            get{
                return bookid;
            }
            set{
                bookid = value;
            }
        }
        public string Bookname{
            get{
                return bookname;
            }
            set{
                bookname = value;
            }
        }
        public int Bookprice{
            get{
                return bookprice;
            }
            set{
                bookprice = value;
            }
        }
        public int Bookcount{
            get{
                return bookcount;
            }
            set{
                bookcount = value;
            }
        }

    }
    class MainClass
    {
        public static void Main(string[] args)
        {

            bool flag = false;
            List<Book> list = new List<Book> ();
            Book b1 = new Book ();;
            b1.Bookid = "1";
            b1.Bookname = "lanou";
            b1.Bookcount = 12;
            b1.Bookprice = 34;

            BookBean bookbean = new BookBean ();
            while (true)
            {
                Console.WriteLine ("         图书管理系统");
                Console.WriteLine ("*********************************");
                Console.WriteLine ("*         1.增加图书            *");
                Console.WriteLine ("*         2.删除图书            *");
                Console.WriteLine ("*         3.修改图书            *");
                Console.WriteLine ("*         4.查看图书            *");
                Console.WriteLine ("*         5.退出系统            *");
                Console.WriteLine ("*********************************");
                Console.Write ("请输入你要进行的操作:");
                int number = int.Parse (Console.ReadLine());
                Bookstate bookstate = (Bookstate)number;
                switch (bookstate)
                {
                    case Bookstate.修改图书:
                        bookbean.updateBook (list);
                        break;
                    case Bookstate.删除图书:
                        list = bookbean.delBook (list);
                        break;
                    case Bookstate.增加图书:
                        list=bookbean.AddBook (list);
                        break;
                    case Bookstate.查看图书:
                        bookbean.ShowBook (list);
                        break;
                    case Bookstate.退出系统:
                        flag = true;
                        break;
                    default:
                        Console.WriteLine ("没有其对应的输入请重新输入!!!!!");
                        break;
                }
                //点击退出系统后所进行的操作
                if (flag)
                {
                    break;
                }
            }
            Console.WriteLine ("退出图书管理系统成功!!!!!!");
        }
    }
    class BookBean
    {
        /// <summary>
        /// 进行图书的添加
        /// </summary>
        public List<Book> AddBook(List<Book> list)
        {
            int temp = list.Count;
            Console.Write ("请输入要进行添加的图书的数目:");
            int count = int.Parse (Console.ReadLine ());
            for (int i = 0; i < count; i++)
            {
                Console.WriteLine ("请输入第{0}本书的信息:",(i+1));
                Console.Write ("请输入要添加的图书的编号:");
                string bookid = Console.ReadLine ();
                Console.Write ("请输入要添加的图书的名称:");
                string bookname = Console.ReadLine ();
                Console.Write ("请输入要添加的图书的数量:");
                int bookcount =int.Parse(Console.ReadLine ());
                Console.Write ("请输入要添加的图书的价格:");
                int bookprice =int.Parse(Console.ReadLine ());

                Book book = new Book ();
                book.Bookid = bookid;
                book.Bookname = bookname;
                book.Bookcount = bookcount;
                book.Bookprice = bookprice;

                list.Add (book);

            }
            if (temp<list.Count)
            {
                Console.WriteLine ("添加成功!!!!!");
            }
            else
            {
                Console.WriteLine ("添加失败!!!!!");
            }
            return list;
        }
        /// <summary>
        /// 进行图书的查看
        /// </summary>
        /// <param name="list">List.</param>
        public void ShowBook(List<Book> list)
        {
            int counti=1;
            Console.WriteLine ("-----------------------------------------------------------------");
            Console.WriteLine ("       |   图书编号   |   图书名称   |  图书价格  |  图书数量   |");
            Console.WriteLine ("-------|---------------------------------------------------------");
            foreach (var item in list)
            {
                Console.Write ("   {0}   |      {1}       |      {2}      |     {3}       |     {4}       |",counti,item.Bookid,item.Bookname,item.Bookprice,item.Bookcount);
                Console.WriteLine ();
                Console.WriteLine ("-----------------------------------------------------------------");
                counti++;
            }

            Console.WriteLine ();
            Console.WriteLine ("一共{0}条数据!!!!",list.Count);
            Console.WriteLine ();
        }
        /// <summary>
        /// 进行图书的删除
        /// </summary>
        /// <param name="list">List.</param>
        public List<Book> delBook(List<Book> list)
        {
            int temp = list.Count;
            Console.Write ("请输入你要删除的图书的名字:");
            string strname = Console.ReadLine();
            int temp1=0;
            int column = 0;
            foreach (Book item in list)
            {
                if (item.Bookname==strname)
                {
                    temp1=column;
                }
                column++;
            }
            list.RemoveAt(temp1);
            if (temp>list.Count)
            {
                Console.WriteLine ("删除成功!!!!!");
                column = 0;
            }
            else
            {
                Console.WriteLine ("删除失败!!!!!");
            }
            return list;
        }

        /// <summary>
        /// 进行图书的修改
        /// </summary>
        /// <returns>The book.</returns>
        /// <param name="list">List.</param>
        public void updateBook(List<Book> list)
        {
            bool flag = false;
            Console.Write ("请输入要进行修改的学生的姓名:");
            string strname = Console.ReadLine ();

            int temp1=0;
            int column = 0;
            foreach (Book item in list)
            {
                if (item.Bookname==strname)
                {
                    temp1=column;
                }
                column++;
            }
            Console.WriteLine ();
            Console.WriteLine ("图书的信息为:");
            Console.WriteLine ("图书的编号:{0}",list[temp1].Bookid);
            Console.WriteLine ("图书的名称:{0}", list[temp1].Bookname);
            Console.WriteLine ("图书的数量:{0}",list[temp1].Bookcount);
            Console.WriteLine ("图书的价格:{0}",list[temp1].Bookprice);

            Console.WriteLine ();

            Console.WriteLine  ("请选择要进行修改的信息:");
            Console.WriteLine ("1.图书编号!!!");
            Console.WriteLine ("2.图书名称!!!");
            Console.WriteLine ("3.图书数量!!!");
            Console.WriteLine ("4.图书价格!!!");
            Console.WriteLine ("5.退出修改!!!");

            Console.Write ("请选择:");
            int number = int.Parse (Console.ReadLine());
            switch (number)
            {
                case 1:
                    {
                        Console.Write ("请输入要修改成的图书编号:");
                        string strbookid = Console.ReadLine ();
                        list [temp1].Bookid = strbookid;
                        //判断是否修改成功
                        if (list[temp1].Bookid==strbookid)
                        {
                            Console.WriteLine ("修改成功!!!!!");
                        }
                        else
                        {
                            Console.WriteLine ("修改失败!!!!!");
                        }
                    }
                    break;
                case 2:
                    {
                        Console.Write ("请输入要修改成的图书名称:");
                        string strbookname = Console.ReadLine ();
                        list [temp1].Bookname = strbookname;
                        //判断是否修改成功
                        if (list[temp1].Bookname==strbookname)
                        {
                            Console.WriteLine ("修改成功!!!!!");
                        }
                        else
                        {
                            Console.WriteLine ("修改失败!!!!!");
                        }
                    }
                    break;
                case 3:
                    {
                        Console.Write ("请输入要修改成的图书价格:");
                        int strbookprice =int.Parse(Console.ReadLine ());
                        list [temp1].Bookprice = strbookprice;
                        //判断是否修改成功
                        if (list[temp1].Bookprice==strbookprice)
                        {
                            Console.WriteLine ("修改成功!!!!!");
                        }
                        else
                        {
                            Console.WriteLine ("修改失败!!!!!");
                        }
                    }
                    break;
                case 4:
                    {
                        Console.Write ("请输入要修改成的图书数量:");
                        int strbookcount =int.Parse(Console.ReadLine ());
                        list [temp1].Bookcount =  strbookcount;
                        //判断是否修改成功
                        if (list[temp1].Bookcount==strbookcount)
                        {
                            Console.WriteLine ("修改成功!!!!!");
                        }
                        else
                        {
                            Console.WriteLine ("修改失败!!!!!");
                        }
                    }
                    break;
                case 5:
                    flag = true;
                    break;
            }
            if (flag)
            {
                Console.WriteLine ("退出修改成功!!!!");
            }

        }
    }

}

以上是两种编程思路 也是两种编程思想,供大家参考一下,大家有好的题目可以在下方评论提出来,一起分享讨论!!!!!!

原文地址:https://www.cnblogs.com/baosong/p/8472640.html

时间: 2024-08-01 19:34:44

集合书写图书管理系统(C#程序)的相关文章

用结构体书写图书管理系统(C#程序)

图书管理系统的需求: 用结构体来实现图书管理系统,需要在cmd中运行 用MonoDevelop或者VS进行编码 用结构体写图书管理系统,此代码可以在Monodevelop上或者在VS上运行 需要实现的第一个功能是能够进行图书的添加将图书的信息保存到一个数组中,数组的类型为结构体所命名的类型 第二个功能能够进行图书的删除 第三个功能能够进行图书的修改 第四个功能能够进行图书的查询 第五个功能能够进行图书系统的退出 代码如下: using System; using System.Threading

数据结构(JAVA版本)练习之集合 简易图书管理系统

数据结构实用教程(JAVA版) 看完第一章  集合   结合书中代码 稍微修改做个小练习: 课程表类: package com.chujianyun.com; public class Table { private String key; private String rest; public Table() { } public Table(String key, String rest) { super(); this.key = key; this.rest = rest; } publ

Java图书管理系统(用Java常用集合实现)

图书管理系统 一.需求说明 1.功能:登录,注册,忘记密码,管理员管理,图书管理. 2.管理员管理:管理员的增删改查. 3.图书管理:图书的增删改查. 4.管理员属性包括:id,姓名,性别,年龄,家庭住址,手机号码,登录名称,登录密码,状态. 5.图书属性包括:id,图书名称,作者,单价,出版社,出版日期,类别. 6.技术:通过用集合来模拟数据库实现该系统,建议采用List集合实现,集合模拟数据库只是一个数据的临时保存. 二.功能说明 1.注册功能 描述:注册需要用户输入所有的必须的用户信息.

[mysql+qt] 图书管理系统

一.图书管理数据库概念模式设计 图书管理系统包括了游客.用户登录.管理员登录三种模式. 在游客模式下,可以实现检索书籍的功能. 游客可以注册用户,但是借书权限需要管理员授予. 用户登录后,在检索书籍功能的基础上,还可以进行书籍的借阅,并且查看自己的借还情况. 管理员登录后,可以对图书进行管理,即入库新的书籍,也可以对用户进行管理,即授予用户借书证,注销用户. 二.数据库设计         管理员(manager) 属性 主码/外码 数据类型 说明 Username 主码 varchar(20)

图书管理系统(无中间件,用装饰器的)-----未基于FORM组件

目的:实现图书的增删改查 1.urls.py 1 """周末作业aaa用图书管理系统django实现 URL Configuration 2 3 The `urlpatterns` list routes URLs to views. For more information please see: 4 https://docs.djangoproject.com/en/1.11/topics/http/urls/ 5 Examples: 6 Function views 7

图书管理系统

该图书馆里系统能实现基本的对图书信息的操作和借阅.归还功能. 一.主要内容: 本课程设计结合本学期所学C语言知识,数组.函数.结构体.指针.链表.文件读取操作等等,准备设计开发一个简单的图书管理系统.设计开发这个系统需要用到链表.文件读取操作.结构体.函数.指针.等C语言知识.本课程设计将会实现对图书信息的账号登录.注册账号.密码修改.密码查找.查找.输出.排序.备份.恢复.图书借阅和归还功能.本着简单.易用的设计原则,本课程设计在尽量优化界面在保证输入输出美观的同时又不失友好的交互界面. 本次

基于jsp+servlet图书管理系统之后台用户信息删除操作

上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/detail/biexiansheng/9732955 自此,基于jsp+servlet开发的用户信息增删该查已经全部写完了,上面的链接是全部的代码,包含增删该查和数据库. 注意点: 1:删除操作使用的是伪删除.即只是不在页面显示了,但是还保存在数据库. 2:分页查询使用的是一个小工具,后面有时间把这些

《图书管理系统——java》

/* (盯着先拔头筹程序) * 该计划的版权声明和版本号 * Copyright (c) 2011, 烟台大学计算机学院学生的学校 * All rights reserved. * 文件名:    <系统--java> * 作    者:       刘江波 * 完毕日期:    2012     年  3     月     1   日 * 版 本 号:    v3.0 * 对任务及求解方法的描写叙述部分 * 问题描写叙述: * 程序头部的凝视结束 */ 文件包的建立情况: BookDao.

个人项目-图书管理系统登陆功能模拟

一.题目简介 假设图书管理系统中有图书馆员.读者两类用户,读者又分为教师读者和学生读者.所有用户登录系统后才能使用各种功能.登录时,需要提供用户的账号和密码信息.此外,对于不同的用户,登录成功后显示不同的欢迎信息(包括用户的姓名.身份等信息).请根据以上要求,模拟图书馆管理系统的登录功能. 二.源码的github链接 https://github.com/bbker/library 三.所设计的模块测试用例.测试结果截图 package NEWlibrary; import static org