c語言課題設(shè)計(jì)案例_第1頁
c語言課題設(shè)計(jì)案例_第2頁
c語言課題設(shè)計(jì)案例_第3頁
c語言課題設(shè)計(jì)案例_第4頁
c語言課題設(shè)計(jì)案例_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

c語言課題設(shè)計(jì)案例《C語言課題設(shè)計(jì)案例:圖書管理系統(tǒng)》

引言:

圖書管理系統(tǒng)是一種可以方便地對(duì)圖書進(jìn)行記錄、查詢和管理的系統(tǒng)。本課題設(shè)計(jì)主要針對(duì)圖書館,通過利用C語言基礎(chǔ)知識(shí),設(shè)計(jì)一個(gè)簡(jiǎn)單的圖書管理系統(tǒng),實(shí)現(xiàn)基本的圖書信息的增刪改查功能。

一、需求分析

1.首先,我們需要設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)圖書的基本信息,包括圖書名稱、作者、出版社等。這里可以使用結(jié)構(gòu)體來表示一個(gè)圖書的信息。

2.在圖書管理系統(tǒng)中,需要實(shí)現(xiàn)的功能包括:

-添加書籍:用戶可以通過輸入圖書的基本信息,將圖書添加到系統(tǒng)中;

-刪除書籍:用戶可以通過輸入圖書的名稱或者其他的關(guān)鍵字,刪除系統(tǒng)中匹配的圖書;

-修改書籍信息:用戶可以通過輸入圖書的名稱或者其他的關(guān)鍵字,修改系統(tǒng)中匹配的圖書的信息;

-查詢書籍:用戶可以通過輸入圖書的名稱、作者等關(guān)鍵字,查詢系統(tǒng)中匹配的圖書的信息;

-打印所有書籍:用戶可以查看系統(tǒng)中所有圖書的信息。

二、系統(tǒng)設(shè)計(jì)

1.定義結(jié)構(gòu)體

我們可以使用結(jié)構(gòu)體來表示一個(gè)圖書的信息:

```c

typedefstruct{

charname[50];//圖書名稱

charauthor[50];//圖書作者

charpublisher[50];//出版社

//...可以添加其他字段

}Book;

```

這樣,每個(gè)Book類型的變量就可以表示一個(gè)圖書的信息了。

2.實(shí)現(xiàn)功能函數(shù)

-添加書籍:用戶可以通過輸入圖書的基本信息,將圖書添加到系統(tǒng)中。

```c

voidaddBook(Bookbooks[],int*count){

printf("請(qǐng)輸入圖書的名稱:");

scanf("%s",books[*count].name);

printf("請(qǐng)輸入圖書的作者:");

scanf("%s",books[*count].author);

printf("請(qǐng)輸入圖書的出版社:");

scanf("%s",books[*count].publisher);

//...可以添加其他字段的輸入

(*count)++;//圖書數(shù)量加1

printf("添加成功!\n");

}

```

-刪除書籍:用戶可以通過輸入圖書的名稱或者其他的關(guān)鍵字,刪除系統(tǒng)中匹配的圖書。

```c

voiddeleteBook(Bookbooks[],int*count,char*name){

intfound=0;

for(inti=0;i<*count;i++){

if(strcmp(books[i].name,name)==0){

for(intj=i;j<*count-1;j++){

strcpy(books[j].name,books[j+1].name);

strcpy(books[j].author,books[j+1].author);

strcpy(books[j].publisher,books[j+1].publisher);

//...可以添加其他字段的拷貝

}

(*count)--;//圖書數(shù)量減1

found=1;

break;

}

}

if(found){

printf("刪除成功!\n");

}else{

printf("未找到匹配的圖書!\n");

}

}

```

-修改書籍信息:用戶可以通過輸入圖書的名稱或者其他的關(guān)鍵字,修改系統(tǒng)中匹配的圖書的信息。

```c

voidmodifyBook(Bookbooks[],intcount,char*name){

intfound=0;

for(inti=0;i<count;i++){

if(strcmp(books[i].name,name)==0){

printf("請(qǐng)輸入修改后的圖書的名稱:");

scanf("%s",books[i].name);

printf("請(qǐng)輸入修改后的圖書的作者:");

scanf("%s",books[i].author);

printf("請(qǐng)輸入修改后的圖書的出版社:");

scanf("%s",books[i].publisher);

//...可以添加其他字段的輸入

found=1;

break;

}

}

if(found){

printf("修改成功!\n");

}else{

printf("未找到匹配的圖書!\n");

}

}

```

-查詢書籍:用戶可以通過輸入圖書的名稱、作者等關(guān)鍵字,查詢系統(tǒng)中匹配的圖書的信息。

```c

voidsearchBook(Bookbooks[],intcount,char*keyword){

intfound=0;

for(inti=0;i<count;i++){

if(strstr(books[i].name,keyword)!=NULL||

strstr(books[i].author,keyword)!=NULL||

strstr(books[i].publisher,keyword)!=NULL){

printf("圖書名稱:%s\n",books[i].name);

printf("圖書作者:%s\n",books[i].author);

printf("圖書出版社:%s\n",books[i].publisher);

//...可以添加其他字段的打印

found=1;

}

}

if(!found){

printf("未找到匹配的圖書!\n");

}

}

```

-打印所有書籍:用戶可以查看系統(tǒng)中所有圖書的信息。

```c

voidprintAllBooks(Bookbooks[],intcount){

for(inti=0;i<count;i++){

printf("圖書名稱:%s\n",books[i].name);

printf("圖書作者:%s\n",books[i].author);

printf("圖書出版社:%s\n",books[i].publisher);

//...可以添加其他字段的打印

}

printf("共有%d本書籍。\

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論