欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#面向對象實現(xiàn)圖書管理系統(tǒng)

 更新時間:2022年02月21日 09:36:41   作者:894.000000  
這篇文章主要為大家詳細介紹了C#面向對象實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C#面向對象實現(xiàn)圖書管理系統(tǒng)的具體代碼,供大家參考,具體內容如下

這個系統(tǒng)需要兩個類:class Book,class BookManager
首先先進行對Book類成員的聲明。

class Book
? ? {
? ? ? ? //數(shù)據
? ? ? ? string id;
? ? ? ? public string Id
? ? ? ? {
? ? ? ? ? ? get { return id; }
? ? ? ? ? ? set { id = value;}
? ? ? ? }
? ? ? ? //使用了lamda表達式, 跟上面的get/set等價
? ? ? ? public string Name { get => name; set => name = value; }

? ? ? ? string name;
? ? ? ? string author;
? ? ? ? float price;
? ? ? ? int page;
? ? ? ? public int Page { get; set; }
? ? ? ? public void print()
? ? ? ? {
? ? ? ? ? ? string str = string.Format("書名是{0},作者是{1},編號是{2},價格{3},頁數(shù){4}",
? ? ? ? ? ? ? ? name,author,id,price,page);
? ? ? ? ? ? Console.WriteLine(str);
? ? ? ? }
? ? }

BookManager類的聲明

//數(shù)據成員
int size;//容器的大小
? ? ? ? public int curIndex;//當前存儲的位置
? ? ? ? Book[] books; //定義一個Book類型的數(shù)組
?? ??? ? //函數(shù)成員
? ? ? ? public BookManager(int size)
? ? ? ? {
? ? ? ? ? ? curIndex = 0;
? ? ? ? ? ? this.size = size;
? ? ? ? ? ? //申請了一個容器,目前里面還沒有值
? ? ? ? ? ? books = new Book[size];
? ? ? ? }

實現(xiàn)添加的方法

1、curIndex一開始的位置是[0],將b的內存地址存入數(shù)組中的第0位后,curIndex+1,這樣的話下一次存儲時會將數(shù)據存儲到第1位。
2、判斷數(shù)組的游標是否大于容器大小, 大于則要進行數(shù)組擴容

public void addBook(Book b)//傳入Book的一個引用 b
? ? ? ? {
? ? ? ? ? ? books[curIndex] = b;//將b存入數(shù)組?
? ? ? ? ? ? curIndex++;
? ? ? ? ? ? if (curIndex>=size)//判斷數(shù)組的游標是否大于容器大小, 大于則要進行數(shù)組擴容
? ? ? ? ? ? {
? ? ? ? ? ? ? ? size = size + size / 2;//將容器的大小擴容增加原來的一半
? ? ? ? ? ? ? ? Book[] booksNew = new Book[size];//定義一個新的Book類型數(shù)組 booksNew
? ? ? ? ? ? ? ? Array.Copy(books,booksNew, books.Length);//使用Copy函數(shù)將books數(shù)組里面的值賦值給booksNew,長度為books的長度?
? ? ? ? ? ? ? ? books = booksNew;
? ? ? ? ? ? }
? ? ? ? }

重寫刪除的文本,通過ID遍歷

public bool delBook(string id)
? ? ? ? {
? ? ? ? ? ? int findCurIndex = 0;
? ? ? ? ? ? bool isFind = false;
? ? ? ? ? ? for (int i = 0; i < curIndex; i++)//通過遍歷比較兩個id
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (books[i].Id.Equals(id))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? findCurIndex = i;
? ? ? ? ? ? ? ? ? ? isFind = true;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? return false;
? ? ? ? }

查找書籍方法

public Book find(string id)
? ? ? ? {
? ? ? ? ? ? if (string.IsNullOrEmpty(id))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return null;//返回空引用
? ? ? ? ? ? }
? ? ? ? ? ? for (int i = 0; i < curIndex; i++)//通過遍歷比較兩個id
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (books[i]!=null&&books[i].Id.Equals(id))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? return books[i];
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? return null;
? ? ? ? }

顯示所有書籍方法

public void showAllBook()
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("所有的書籍信息如下");
? ? ? ? ? ? for (int i = 0; i < curIndex; i++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? books[i].print();
? ? ? ? ? ? }
? ? ? ? }

以上,書和管理器的類就寫完了 接下來在主函數(shù)中運行測試:
 

using System;

namespace 圖書管理系統(tǒng)
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("歡迎進入圖書管理軟件");
? ? ? ? ? ? int num = 1;
? ? ? ? ? ? BookManager manager = new BookManager(2);//容器(數(shù)據庫)
? ? ? ? ? ? while (true)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Console.Clear();//清理控制臺信息
? ? ? ? ? ? ? ? Console.WriteLine("1、錄入書籍\n2、查找書籍\n3、刪除書籍\n4、顯示所有書籍\n按對應的數(shù)字進入該功能,按Q退出");
? ? ? ? ? ? ? ? string str = Console.ReadLine();
? ? ? ? ? ? ? ? num = int.Parse(str);
? ? ? ? ? ? ? ? switch (num)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? case 1://錄入書籍
? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("已經進入錄入書籍功能");
? ? ? ? ? ? ? ? ? ? ? ? Console.Write("輸入編號:");
? ? ? ? ? ? ? ? ? ? ? ? string id = Console.ReadLine();
? ? ? ? ? ? ? ? ? ? ? ? Console.Write("輸入書名:");
? ? ? ? ? ? ? ? ? ? ? ? string name = Console.ReadLine();
? ? ? ? ? ? ? ? ? ? ? ? Console.Write("輸入作者名字:");
? ? ? ? ? ? ? ? ? ? ? ? string authName = Console.ReadLine();
? ? ? ? ? ? ? ? ? ? ? ? Console.Write("輸入書的價格:");
? ? ? ? ? ? ? ? ? ? ? ? float price = float.Parse(Console.ReadLine());
? ? ? ? ? ? ? ? ? ? ? ? Console.Write("輸入書的頁數(shù):");
? ? ? ? ? ? ? ? ? ? ? ? int page = int.Parse(Console.ReadLine());
? ? ? ? ? ? ? ? ? ? ? ? Book book = new Book(authName, price);//通過構造函數(shù)生成對象,并且賦值
? ? ? ? ? ? ? ? ? ? ? ? //通過屬性對對象賦值
? ? ? ? ? ? ? ? ? ? ? ? book.Id = id;
? ? ? ? ? ? ? ? ? ? ? ? book.Name = name;
? ? ? ? ? ? ? ? ? ? ? ? book.Page = page;
? ? ? ? ? ? ? ? ? ? ? ? //把書存儲到管理器中
? ? ? ? ? ? ? ? ? ? ? ? manager.addBook(book);
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case 2://查找書籍
? ? ? ? ? ? ? ? ? ? ? ? if (manager.curIndex == 0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.Write("系統(tǒng)里一本書都沒有!");
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? id = Console.ReadLine();
? ? ? ? ? ? ? ? ? ? ? ? Book curBook = manager.find(id);
? ? ? ? ? ? ? ? ? ? ? ? if (curBook != null)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("找到了書,信息如下:");
? ? ? ? ? ? ? ? ? ? ? ? ? ? curBook.print();
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("沒有找到書");
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case 3://刪除書籍
? ? ? ? ? ? ? ? ? ? ? ? Console.Write("輸入要刪除的書籍編號:");
? ? ? ? ? ? ? ? ? ? ? ? id = Console.ReadLine();
? ? ? ? ? ? ? ? ? ? ? ? Book _curBook = manager.find(id);
? ? ? ? ? ? ? ? ? ? ? ? if (_curBook != null)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("已刪除{0}這本書", _curBook.Name);
? ? ? ? ? ? ? ? ? ? ? ? ? ? manager.delBook(_curBook.Id);
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("沒有找到書");
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case 4://顯示所有書籍
? ? ? ? ? ? ? ? ? ? ? ? if (manager.curIndex != 0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? manager.showAllBook();
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("系統(tǒng)里一本書都沒有!");
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if (str.ToLower().Contains('q'))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? Console.ReadKey();
? ? ? ? ? ? }


? ? ? ? }
? ? }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論