c語言課程設計報告圖書管理系統(tǒng)_第1頁
c語言課程設計報告圖書管理系統(tǒng)_第2頁
c語言課程設計報告圖書管理系統(tǒng)_第3頁
c語言課程設計報告圖書管理系統(tǒng)_第4頁
c語言課程設計報告圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、高級語言程序設計(c)課程設計報告書設計題目 圖書管理系統(tǒng) 姓名 專業(yè)班級 學號 指導老師 成績 營銷管理學院電子商務系2011年1月目錄一 引言3二 系統(tǒng)功能和原始數(shù)據(jù)3三 程序總體設計4四 功能模塊函數(shù)設計和調試5五 程序清單12六 課程設計總結17一 引言在理論學習和基礎實驗的基礎上,開發(fā)規(guī)模較大的程序,掌握應用計算機解決實際問題的基本方法,熟悉c程序開發(fā)的全過程.本任務應用指針編制小型的圖書管理系統(tǒng).通過整個程序開發(fā)的過程,提高綜合應用c語言的能力,編程和調試能力.二 系統(tǒng)功能和原始數(shù)據(jù)(一) 系統(tǒng)功能(1)主菜單0.圖書信息錄入1.圖書信息瀏覽2按書名查詢圖書信息3.按isbn查詢圖

2、書信息4.增加圖書信息5.按書名排序6.刪除記錄7.保存文件8.打開文件9.退出 (2)各項功能0.圖書信息錄入:輸入圖書的名字、isbn、作者、價格、出版社等。1. 圖書信息瀏覽:圖書的名字、isbn、作者、價格、出版社等2.查看與書的名字有關的信息:根據(jù)書名查找書。3.查看與作者有關的書的信息:根據(jù)作者查找書。4.增加書的信息:輸入書的名字、isbn、作者、價格、出版社等。5按照書名排序:字母的形式排序6刪除記錄:刪除一條書的信息7.保存文件8.文件打開9.退出(二) 原始數(shù)據(jù)圖書信息:圖書信息包括:書名.isbn.分類號.作者.出版日期.出版社.價格文件結構:書名isbn分類號作者出版時

3、間出版單位價格c語言123xx1譚浩強09-01-21高等教育出版社15數(shù)學234xx2彭輝09-01-21高等教育出版社16思修345xx3鄒鄒09-01-21高等教育出版社17英教456xx4王浩09-01-21高等教育出版社18應用文567xx5瑞瑞09-01-21高等教育出版社19概率678xx6雪雪09-01-21高等教育出版社20管理學789xx7小鄒09-01-21高等教育出版社21線代890xx8周敏09-01-21高等教育出版社22軍事901xx9張向東 劉毅09-01-21高等教育出版社23運籌012xx0崔崔09-01-21高等教育出版社24三 程序總體設計(一)數(shù)據(jù)結構

4、:struct record char name20; char isbn20; char author40; char price10; char company30;(二)模塊劃分:主函數(shù)main菜單menustruct record結構體void list()顯示書籍信息void add()輸入圖書信息voidsearch_name()search_isbn()查找 voidlistbyname()排序功能void exit()退出四 功能模塊函數(shù)設計和調試(一) 函數(shù)原型,功能和形參說明函數(shù)原型:void adduser() void list() void search_name()

5、 void search_isbn() void add() void listbyname() void dele() void save() void read()函數(shù)功能:adduser() 增加書籍信息 list() 顯示書籍信息search_name() 按書名查找search_isbn() 按isbn號碼查找add() 增加書籍信息listbyname() 按書名排序dele() 刪除書籍信息save() 保存read() 文件打開參數(shù)說明:read()/*從文件中讀入數(shù)據(jù)*/ file *fp; /*定義文件指針*/(二)函數(shù)流程圖adduser 輸入函數(shù)輸入書名輸入isbn輸入

6、作者輸入分類號輸入出版日期輸入價格輸入出版單位繼續(xù)添加結束search_name 按書名查找mark=0i=0a=0char name20i=a顯示書籍信息i<numif(strcmp(,name)=0查找相同書i+按任意鍵返回主菜單沒有相同書名紀錄按任意鍵返回主菜單書名查找與isbn查找方法相同刪除書籍信息i,j,delemark=0mun=0i=0i<numif(strcmp(studenti.isbn,isbn)=null)刪除書籍信息刪除i+刪除成功沒有該書籍紀錄沒有該書籍紀錄按書名刪除與按isbn刪除方法相同(三)運行結果五 程序清單 #incl

7、ude<iostream.h> /*引用庫函數(shù)*/ #include <stdio.h>#include<iostream.h>#include <string.h>#include <conio.h>#include <stdlib.h>#define null 0 ;struct record char name20; char isbn20; char author40; char type10; char date10; char price10; char company30;student30;struct l

8、inklist struct record us; struct linklist *next;a;struct linklist *head=null;int num=0;file *fp;int menu_select();/*菜單函數(shù)*/int adduser();int list();int search_name();int search_isbn();int add();int listbyname();int dele();int save();int read();int exit();void main() system("cls");/*運行前清屏*/

9、for(;) switch(menu_select() case 0: adduser(); break; case 1: list(); break; case 2: search_name(); break; case 3: search_isbn(); break; case 4: add(); break; case 5: listbyname(); break; case 6: dele(); break; case 7: save(); break; case 8: read(); break; case 9: exit(0); menu_select() int s; int a

10、; cout<<"*_* 按任意鍵進入菜單! *_* "<<endl; getch(); system("cls"); cout<<"tt*menu*n"<<endl; cout<<"tt 0. 圖書信息錄入"<<endl; cout<<"tt 1. 圖書信息瀏覽 "<<endl; cout<<"tt 2. 按書名查詢圖書信息"<<endl; cout<

11、;<"tt 3. 按isbn查詢圖書信息"<<endl; cout<<"tt 4. 增加圖書信息"<<endl; cout<<"tt 5. 按書名排序"<<endl; cout<<"tt 6. 刪除記錄"<<endl; cout<<"tt 7. 數(shù)據(jù)保存"<<endl; cout<<"tt 8. 文件打開"<<endl; cout<&

12、lt;"tt 9.退出"<<endl; cout<<"tt*"<<endl; do cout<<"n 輸入你的選擇(09):" cin>>s; a=s; while (a<0|a>9); return a;adduser() /輸入函數(shù) cout<<"ntt* 請輸入圖書信息 *"<<endl; cout<<"ntt輸入書名:" /*交互輸入*/ cin>>studentnum

13、.name; cout<<"ntt輸入isbn:" cin>>studentnum.isbn; cout<<"ntt輸入作者:" cin>>studentnum.author; cout<<"ntt輸入分類號:" cin>>studentnum.type; cout<<"ntt輸入出版日期:" cin>>studentnum.date; cout<<"ntt輸入價格:" cin>&g

14、t;studentnum.price; cout<<"ntt輸入出版單位:" cin>>pany; num+; cout<<"ntt是否繼續(xù)添加?(y/n):" char z; cin>>z; if(z='y')|(z='y') adduser(); return(0);int list() /顯示函數(shù) int i; system("cls"); if(num!=0) cout<<"ntt* 以下為該書所有

15、信息*" for(i=0;i<num;i+)/*循環(huán)輸入*/ cout<<"ntt書名:"<<; cout<<"nttisbn: "<<studenti.isbn; cout<<"ntt作者: "<<studenti.author; cout<<"ntt分類號: "<<studenti.type; cout<<"ntt出版日期: "<<

16、studenti.date; cout<<"ntt價格: "<<studenti.price; cout<<"ntt出版單位:"<<pany; cout<<"tt" if(i+1<num) cout<<"ntt_" system("pause"); cout<<"ntt*" else cout<<"ntt書庫中無任何紀錄" cout

17、<<"ntt按任意鍵返回主菜單:" getch(); return(0);search_name() /按書名查找 int mark=0; int i; int a=0; cout<<"ntt* 按書名查找 *" char name20; cout<<"ntt請輸入書名:" cin>>name; for(i=a;i<num;i+) if(strcmp(,name)=0) cout<<"ntt* 以下是您查找的信息 *" co

18、ut<<"ntt書名: "<<; cout<<"nttisbn: "<<studenti.isbn; cout<<"ntt作者: "<<studenti.author; cout<<"ntt分類號: "<<studenti.type; cout<<"ntt出版日期: "<<studenti.date; cout<<"ntt價格:

19、"<<studenti.price; cout<<"ntt出版單位:"<<pany; cout<<"ntt*" mark+; if(i+1)<num) cout<<"ntt是否繼續(xù)查找相同名字的信息:(y/n)" char y;cin>>y; if(y='y')|(y='y') a=i; continue; else return(0); else cout<<"ntt按

20、任意鍵返回主菜單" getch(); return(0); if(mark=0) cout<<"ntt沒有相同書名紀錄" cout<<"ntt按任意鍵返回主菜單" getch(); return(0); search_isbn() /按isbn查找 int mark=0; int i; int a=0; cout<<"ntt* 按isbn查找 *" char isbn10; cout<<"ntt請輸入isbn:" cin>>isbn; for(i

21、=0;i<num;i+) if(strcmp(studenti.isbn,isbn)=0) cout<<"ntt* 以下是您查找的書籍信息 *" cout<<"ntt書名: "<<; cout<<"nttisbn: "<<studenti.isbn; cout<<"ntt分類號: "<<studenti.type; cout<<"ntt出版日期: "<<st

22、udenti.date; cout<<"ntt價格: "<<studenti.price; cout<<"ntt作者: "<<studenti.author; cout<<"ntt出版單位:"<<pany; cout<<"ntt*" cout<<"ntt按任意鍵返回主菜單:" mark+; getch(); return(0); if(mark=0) cout<<&

23、quot;ntt沒有更改信息" cout<<"ntt按任意鍵返回主菜單" getch(); return(0); return(0);add() /增加書籍信息 int i; if(fp=fopen("student.bin","wb")=null) cout<<"ntt文件打開失敗" for (i=0;i<num;i+) if (fwrite(&studenti,sizeof(struct record),1,fp)!=1) cout<<"nt

24、t寫入文件錯誤!n" cout<<"ntt* 請輸入書籍信息 *"<<endl; cout<<"ntt輸入書名:" cin>>; cout<<"ntt輸入isbn號碼:" cin>>studentnum.isbn; cout<<"ntt輸入作者:" cin>>studentnum.author; cout<<"ntt輸入出版日期:" cin>&

25、gt;studentnum.date; cout<<"ntt輸入分類號:" cin>>studentnum.type; cout<<"ntt輸入價格:" cin>>studentnum.price; cout<<"ntt輸入出版單位:" cin>>pany; num+; cout<<"ntt是否繼續(xù)添加?(y/n):" if(getch()='y') adduser(); return(0

26、); fclose(fp); cout<<"ntt圖書文件已保存" cout<<"ntt按任意鍵退出程序ntt" exit(0); return(0);void deletebyisbn() int i,j; int deletemark=0; char isbn20; cout<<"ntt請輸入要刪除isbn號碼:" cin>>isbn; if(num=0) cout<<"ntt對不起,文件中無任何紀錄" cout<<"ntt按任意

27、鍵返回主菜單" getch(); return; for (i=0;i<num;i+) if(strcmp(studenti.isbn,isbn)=null) cout<<"ntt以下是您要刪除的書籍紀錄:" cout<<"ntt書名: "<<; cout<<"nttisbn: "<<studenti.isbn; cout<<"ntt分類號: "<<studenti.type; cout&l

28、t;<"ntt出版日期: "<<studenti.date; cout<<"ntt價格: "<<studenti.price; cout<<"ntt作者: "<<studenti.author; cout<<"ntt出版單位:"<<pany; cout<<"ntt是否刪除?(y/n)" char u;cin>>u; if(u='y')|(u=&

29、#39;y') for(j=i;j<num-1;j+) studentj=studentj+1; num-; deletemark+; cout<<"ntt刪除成功" cout<<"ntt是否繼續(xù)刪除?(y/n)" char v;cin>>v; if(v='y')|(v='y') deletebyisbn(); return; else return; continue; if(deletemark=0) cout<<"ntt沒有該書籍的紀錄"

30、; cout<<"ntt是否繼續(xù)刪除?(y/n)" char m;cin>>m; if(m='y')|(m='y') deletebyisbn(); return; void deletebyname() int a=0; int findmark=0; int j; int deletemark=0; int i; char name20; cout<<"ntt請輸入要刪除書籍名稱:" cin>>name; for(i=a;i<num;i+) if(strcmp(st

31、,name)=null) cout<<"ntt以下是您要刪除的書籍紀錄:" findmark+; cout<<"ntt_" cout<<"ntt書名: "<<; cout<<"nttisbn: "<<studenti.isbn; cout<<"ntt分類號: "<<studenti.type; cout<<"ntt作者: "

32、;<<studenti.author; cout<<"ntt出版日期: "<<studenti.date; cout<<"ntt價格: "<<studenti.price; cout<<"ntt出版單位:"<<pany; cout<<"ntt_" cout<<"ntt是否刪除?(y/n)" char n;cin>>n; if(n='y')

33、|(n='y') for(j=i;j<num-1;j+) studentj=studentj+1; num-; deletemark+; cout<<"ntt刪除成功" if(i+1)<num) cout<<"ntt是否繼續(xù)刪除相同書籍信息?(y/n)" char l;cin>>l; if(l='y')|(l='y') a=i; continue; cout<<"ntt是否繼續(xù)刪除?(y/n)" char o;cin>&g

34、t;o; if(o='y')|(o='y') deletebyname(); return; if(i+1)<num) cout<<"ntt是否繼續(xù)刪除相同書名信息?(y/n)" char p;cin>>p; if(p='y')|(p='y') a=i; continue; else continue; if(deletemark=0)&&(findmark=0) cout<<"ntt沒有該書籍的紀錄" cout<<&qu

35、ot;ntt是否繼續(xù)刪除?(y/n)" char q;cin>>q; if(q='y')|(q='y') deletebyisbn(); return; return; else if(findmark!=0) cout<<"ntt沒有重名信息" cout<<"ntt沒有該書紀錄" cout<<"ntt是否繼續(xù)刪除?(y/n)" char r;cin>>r; if(r='y')|(r='y') dele

36、tebyisbn(); return; return; dele() /刪除書籍信息 int choic; cout<<"ntt1-按isbn號碼刪除 2-按書名刪除" cout<<"ntt請選擇:" cin>>choic; switch (choic) case 1: deletebyisbn(); break; case 2: deletebyname(); break; return(0);listbyname() /按書名排序 int i,j; struct record tmp; for(i=1;i<num;i+) if(strcmp(,)<0) tmp=studenti; j=i-1; do studentj+1=studentj; j-; while (strcmp(,)<0&&j>=0); studentj+1=tmp; cout<<"ntt排序成功,是否顯示?(y/n)" char x;cin>>x; if(x='y')|(x='y') li

溫馨提示

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

評論

0/150

提交評論