版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第C#面向?qū)ο髮崿F(xiàn)圖書管理系統(tǒng)本文實例為大家分享了C#面向?qū)ο髮崿F(xiàn)圖書管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
這個系統(tǒng)需要兩個類:classBook,classBookManager
首先先進(jìn)行對Book類成員的聲明。
classBook
{
//數(shù)據(jù)
stringid;
publicstringId
{
get{returnid;}
set{id=value;}
}
//使用了lamda表達(dá)式,跟上面的get/set等價
publicstringName{get=name;set=name=value;}
stringname;
stringauthor;
floatprice;
intpage;
publicintPage{get;set;}
publicvoidprint()
{
stringstr=string.Format("書名是{0},作者是{1},編號是{2},價格{3},頁數(shù){4}",
name,author,id,price,page);
Console.WriteLine(str);
}
}
BookManager類的聲明
//數(shù)據(jù)成員
intsize;//容器的大小
publicintcurIndex;//當(dāng)前存儲的位置
Book[]books;//定義一個Book類型的數(shù)組
//函數(shù)成員
publicBookManager(intsize)
{
curIndex=0;
this.size=size;
//申請了一個容器,目前里面還沒有值
books=newBook[size];
}
實現(xiàn)添加的方法
1、curIndex一開始的位置是[0],將b的內(nèi)存地址存入數(shù)組中的第0位后,curIndex+1,這樣的話下一次存儲時會將數(shù)據(jù)存儲到第1位。
2、判斷數(shù)組的游標(biāo)是否大于容器大小,大于則要進(jìn)行數(shù)組擴容
publicvoidaddBook(Bookb)//傳入Book的一個引用b
{
books[curIndex]=b;//將b存入數(shù)組
curIndex++;
if(curIndex=size)//判斷數(shù)組的游標(biāo)是否大于容器大小,大于則要進(jìn)行數(shù)組擴容
{
size=size+size/2;//將容器的大小擴容增加原來的一半
Book[]booksNew=newBook[size];//定義一個新的Book類型數(shù)組booksNew
Array.Copy(books,booksNew,books.Length);//使用Copy函數(shù)將books數(shù)組里面的值賦值給booksNew,長度為books的長度
books=booksNew;
}
}
重寫刪除的文本,通過ID遍歷
publicbooldelBook(stringid)
{
intfindCurIndex=0;
boolisFind=false;
for(inti=0;icurIndex;i++)//通過遍歷比較兩個id
{
if(books[i].Id.Equals(id))
{
findCurIndex=i;
isFind=true;
break;
}
}
returnfalse;
}
查找書籍方法
publicBookfind(stringid)
{
if(string.IsNullOrEmpty(id))
{
returnnull;//返回空引用
}
for(inti=0;icurIndex;i++)//通過遍歷比較兩個id
{
if(books[i]!=nullbooks[i].Id.Equals(id))
{
returnbooks[i];
}
}
returnnull;
}
顯示所有書籍方法
publicvoidshowAllBook()
{
Console.WriteLine("所有的書籍信息如下");
for(inti=0;icurIndex;i++)
{
books[i].print();
}
}
以上,書和管理器的類就寫完了接下來在主函數(shù)中運行測試:
usingSystem;
namespace圖書管理系統(tǒng)
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("歡迎進(jìn)入圖書管理軟件");
intnum=1;
BookManagermanager=newBookManager(2);//容器(數(shù)據(jù)庫)
while(true)
{
Console.Clear();//清理控制臺信息
Console.WriteLine("1、錄入書籍\n2、查找書籍\n3、刪除書籍\n4、顯示所有書籍\n按對應(yīng)的數(shù)字進(jìn)入該功能,按Q退出");
stringstr=Console.ReadLine();
num=int.Parse(str);
switch(num)
{
case1://錄入書籍
Console.WriteLine("已經(jīng)進(jìn)入錄入書籍功能");
Console.Write("輸入編號:");
stringid=Console.ReadLine();
Console.Write("輸入書名:");
stringname=Console.ReadLine();
Console.Write("輸入作者名字:");
stringauthName=Console.ReadLine();
Console.Write("輸入書的價格:");
floatprice=float.Parse(Console.ReadLine());
Console.Write("輸入書的頁數(shù):");
intpage=int.Parse(Console.ReadLine());
Bookbook=newBook(authName,price);//通過構(gòu)造函數(shù)生成對象,并且賦值
//通過屬性對對象賦值
book.Id=id;
book.Name=name;
book.Page=page;
//把書存儲到管理器中
manager.addBook(book);
break;
case2://查找書籍
if(manager.curIndex==0)
{
Console.Write("系統(tǒng)里一本書都沒有!");
break;
}
id=Console.ReadLine();
BookcurBook=manager.find(id);
if(curBook!=null)
{
Console.WriteLine("找到了書,信息如下:");
curBook.print();
}
else
{
Console.WriteLine("沒有找到書");
}
break;
case3://刪除書籍
Console.Write("輸入要刪除的書籍編號:");
id=Console.ReadLine();
Book_curBook=manager.find(id);
if(_curBook!=null)
{
Console.WriteLine("已刪除{0}這本書",_curBook.Name);
manager.delBook(_curBook.Id);
}
else
{
Console.WriteLin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026屆陜西省西安市西工大附中高三語文第一學(xué)期期末檢測模擬試題含解析
- 內(nèi)勤技能培訓(xùn)
- 小學(xué)的活動策劃方案(3篇)
- 烘焙食品安全管理制度(3篇)
- 班級管理制度的理念是(3篇)
- 美術(shù)活動海報策劃方案(3篇)
- 藥企行業(yè)輿情管理制度(3篇)
- 食品溯源管理制度流程表(3篇)
- 中學(xué)學(xué)生社團(tuán)活動表彰獎勵制度
- 兼培訓(xùn)課件教學(xué)課件
- 特種工安全崗前培訓(xùn)課件
- 新疆維吾爾自治區(qū)普通高中2026屆高二上數(shù)學(xué)期末監(jiān)測試題含解析
- 2026屆福建省三明市第一中學(xué)高三上學(xué)期12月月考?xì)v史試題(含答案)
- 2026年遼寧金融職業(yè)學(xué)院單招職業(yè)技能測試題庫附答案解析
- (正式版)DB51∕T 3342-2025 《爐灶用合成液體燃料經(jīng)營管理規(guī)范》
- 2026北京海淀初三上學(xué)期期末語文試卷和答案
- 2024-2025學(xué)年北京市東城區(qū)五年級(上)期末語文試題(含答案)
- 人工智能在醫(yī)療領(lǐng)域的應(yīng)用
- 2025學(xué)年度人教PEP五年級英語上冊期末模擬考試試卷(含答案含聽力原文)
- 【10篇】新部編五年級上冊語文課內(nèi)外閱讀理解專項練習(xí)題及答案
- 南京市雨花臺區(qū)醫(yī)療保險管理中心等單位2025年公開招聘編外工作人員備考題庫有完整答案詳解
評論
0/150
提交評論