




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、沈 陽 航 空 工 業(yè) 學(xué) 院課程設(shè)計(jì)班級(jí)6402105 學(xué)號(hào)200604021171 姓名儀德彬指導(dǎo)教師李飛2007 年 7 月 6 日沈 陽 航 院 設(shè) 計(jì) 用 紙1 課 程 設(shè) 計(jì) 任 務(wù) 書電 子 工 程 系電 子 信 息 工 程 專 業(yè)6402105班學(xué)號(hào) 200604021171 一、課程設(shè)計(jì)題目:教材管理系統(tǒng)二、課程設(shè)計(jì)工作自2007 年 9 月 11日起至 2007年 9 月 16日止課程設(shè)計(jì)內(nèi)容:運(yùn)用所學(xué)的 c語言知識(shí),編制和調(diào)試程序,具有如下功能:(1) 教材錄入(教材信息至少應(yīng)包括書名、作者、出版社、總數(shù)量等數(shù)據(jù)項(xiàng))(2) 教材查詢可以按照書名、作者、出版社分別進(jìn)行查詢(
2、3) 購買教材及教材的出賣(4) 缺書統(tǒng)計(jì)( 5)將教材信息存入磁盤中。課程設(shè)計(jì)要求:1、采用模塊化程序設(shè)計(jì)方法;在程序界面,以菜單的形式調(diào)用各功能函數(shù);程序可讀性強(qiáng),界面友好;輸出形式美觀。2、用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。3、用戶界面中的菜單至少應(yīng)包括“教材錄入”、“教材查詢”、“教材出售”、“統(tǒng)計(jì)缺書”、 “教材數(shù)據(jù)保存” 、“退出” 6項(xiàng)。4、代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計(jì)說明書:課程結(jié)束后,上交課程設(shè)計(jì)說明書和源程序。課程設(shè)計(jì)說明書的內(nèi)容如下:課程設(shè)計(jì)任務(wù)書程序設(shè)計(jì)題目需求分析(分析題目的要求)程序框圖(總體框圖和各功能模塊
3、框圖,使用傳統(tǒng)流程圖或框圖)核心技術(shù)的實(shí)現(xiàn)方法及程序源代碼及注釋個(gè)人總結(jié) 參考資料 指導(dǎo)教師: _ 學(xué)生簽名: _ 沈 陽 航 院 設(shè) 計(jì) 用 紙2 目錄一、程序設(shè)計(jì)題目. 1二、需求分析 . 1三、程序流程圖. 2圖 6 教材缺書統(tǒng)計(jì)函數(shù). 6四、核心技術(shù)的實(shí)現(xiàn)方法、程序段及注釋 . 6五、個(gè)人總結(jié) . 9六、參考文獻(xiàn) . 10 七、附完整程序. 10 沈 陽 航 院 設(shè) 計(jì) 用 紙1 一、程序設(shè)計(jì)題目教材管理系統(tǒng),具體要求如下:1、教材信息錄入2、可以以書名,作者,出版社三種方式進(jìn)行教材查詢3、可以進(jìn)行教材的購買與出售4、對(duì)所缺教材的種類進(jìn)行統(tǒng)計(jì)5、退出系統(tǒng)注:教材的具體信息需自行設(shè)定二、
4、需求分析經(jīng)過對(duì)程序設(shè)計(jì)題目的分析可知,整個(gè)程序的設(shè)計(jì)實(shí)現(xiàn)大致分為六個(gè)模塊,其中每一個(gè)模塊對(duì)應(yīng)一個(gè)函數(shù),他們的功能分別是:1、教材信息錄入() ,2、教材的查詢() ,3、實(shí)現(xiàn)教材的出售() ,4、缺書統(tǒng)計(jì)5、保存教材的具體信息(),6、退出系統(tǒng)() 。這些函數(shù)的實(shí)現(xiàn)嚴(yán)格按照題目的要求,可以實(shí)現(xiàn)題目要求的所有功能。1、教材信息錄入2、教材的查詢3、實(shí)現(xiàn)教材的出售4、缺書統(tǒng)計(jì)5、保存教材的具體信息6、退出系統(tǒng)每種教材的數(shù)據(jù)包含教材名,作者,出版社,購進(jìn)數(shù)量與售出數(shù)量,在程序當(dāng)中,將教材的數(shù)據(jù)錄入類型定義為結(jié)構(gòu)體類型,添加以及追加的教材數(shù)據(jù)直接寫入tc 文件夾下的 book.dat文件中 , 其他函
5、數(shù)每次對(duì)教材數(shù)據(jù)的訪問,其數(shù)據(jù)來源都是book.dat文件,這樣做不但可以保證教材數(shù)據(jù)的一致性,而且可以對(duì)教材數(shù)據(jù)進(jìn)行永久保存,保證每次運(yùn)行程序都可以采用原來的數(shù)據(jù)。沈 陽 航 院 設(shè) 計(jì) 用 紙2 三、程序流程圖程序結(jié)構(gòu)總圖設(shè)置界面函數(shù)主函數(shù)圖 1 程序結(jié)構(gòu)總圖教材信息的錄入教材信息的保存教材信息的查詢教材的購入與出售教材的缺書種類統(tǒng)計(jì)真if(fp=null) 假printf (wu fa da kai cun chu wen jian .n) 真choice=1 假add _book() 真choice=2 假chaxun _book() 真choice=3 假sell _book() 真
6、choice=4 假queshao _book() 真choice=5 假save _book() choice=6 exit(0) 沈 陽 航 院 設(shè) 計(jì) 用 紙3 教材錄入函數(shù)圖 2 教材錄入函數(shù)教材信息保存函數(shù)圖 3 教材信息保存函數(shù)bi=0 printf(nshurushuming:) 從鍵盤輸入字符串至 printf(shuruzuozhe:) 從鍵盤輸入字符串至booksbi.author printf(shuruchubanse:) 從鍵盤輸入字符串至booksbi.press printf(shurugouruceshu:) 從鍵盤輸入整形變量至book
7、sbi.buy_count printf(jiaocaixinxiluruwanbi.n) bi=0 以讀寫形式打開book.dat文件當(dāng) booksbi.buy_count 0 fprintf(fp, %s %s %s %d %dn, , booksbi.author,booksbi.press, &booksbi.buy_count, &booksbi.sell_count) 關(guān)閉讀寫文件fclose(fp) 沈 陽 航 院 設(shè) 計(jì) 用 紙4 按照教材名,作者,出版社進(jìn)行教材查詢的函數(shù)int bi,flag=0;int a char x32; cha
8、r y32; char z32; printf(qingxuazechaxunfangshi:1.shuming 2.zuozhe 3.chubanshen) 鍵盤輸入整形變量至a 真if(a=1) 假當(dāng) bi=0;bi100;bi+ 真if(a=2) 假若教材名假符串與輸入字相同真當(dāng) bi=0;bi100;bi+ if(a=3) 真假printf( cijiaocai bucunzai n) printf( %s%s%s%d%dn, booksbi. name, booksbi. author, booksbi. press, booksbi. buy_count, booksbi. sel
9、l_count); 若作者假與輸入字符串相同真當(dāng) bi=0;bi10;bi+ printf( cijiao caibu cunzai n) printf( cijiao caibu cunzai n) printf( %s%s%s%d%dn, booksbi. name, booksbi. author, booksbi. press, boosbi. buy_count, booksbi. sell_count) 若出版社假與輸入字符串相同真printf( cijiao caibu cunzai n) printf( %s%s%s%d%dn, , booksbi.au
10、thor, booksbi.press, boosbi.buy_countbooksbi. sell_count) 沈 陽 航 院 設(shè) 計(jì) 用 紙5 圖 4 查詢函數(shù)教材出售函數(shù)int bi,count; char name20,author20,press20; printf(nshurujiaocaiming:); 從鍵盤輸入字符串至name printf(nshurujiaocaizuozhe:); 從鍵盤輸入字符串至author printf(nshurujiaocaichubanshe:); 從鍵盤輸入字符串至press printf(nshurugoumashuliang:); 從
11、鍵盤輸入整形變量至count 當(dāng) bi=0;bi0) 真printf(jiaocaiyishouwang.n); booksbi.buy_count -= count; booksbi.sell_count += count; printf(njiaocaiyishushou.n); 圖 5 教材出售函數(shù)沈 陽 航 院 設(shè) 計(jì) 用 紙6 教材缺書統(tǒng)計(jì)函數(shù)int bi; 當(dāng) bi=0;bi 0) fprintf(fp, %s %s %s %d %dn, , booksbi.author,booksbi.press, &booksbi.buy_count, &
12、;booksbi.sell_count); bi+; fclose(fp); 3、教材查詢的函數(shù)該函數(shù)的核心內(nèi)容是switch 函數(shù)的使用、for 函數(shù)的嵌套使用與strcmp 比較字符串函數(shù)的使用具體程序段如下:void chaxun_book() /*教材查詢 */ int bi,flag=0; 沈 陽 航 院 設(shè) 計(jì) 用 紙8 int a; char x32; char y32; char z32; printf(qingxuanzechaxunfangshi:1.shuming 2.zuozhe 3.chubanshen); scanf(%d,&a); switch(a) ca
13、se 1: printf(shurushuming:n);scanf(%s,x); for(bi=0;bi100;bi+) if (strcmp(,x)=0) printf(%s %s %s %d %dn,,booksbi.author,booksbi.press,booksbi.buy_count,booksbi.sell_count); flag=1; if(flag=0) printf(cijiaocaibucunzain); break; case 2: printf(shuruzuozhe:n); scanf(%s,y); for(bi
14、=0;bi100;bi+) if (strcmp(booksbi.author,y)=0) printf(%s %s %s %d %dn,,booksbi.author,booksbi.press,booksbi.buy_count,booksbi.sell_count); flag=1; if(flag=0) printf(cijiaocaibucunzain); break; case 3:printf(shuruchubanshe:n);scanf(%s,z); for(bi=0;bi100;bi+) if (strcmp(booksbi.press,z)=0)
15、printf(%s %s %s %d %dn,,booksbi.author,booksbi.press,booksbi.buy_count,booksbi.sell_count); flag=1; if(flag=0) printf(cijiaocaibucunzain); 沈 陽 航 院 設(shè) 計(jì) 用 紙9 break; 4、教材缺書統(tǒng)計(jì)函數(shù)for 函數(shù)的使用具體程序段如下:void queshao_book() /*教材缺書統(tǒng)計(jì)*/ int bi; for(bi=0;bibook_species;bi+) if (booksbi.buy_count=0) print
16、f(%-10s%-10s%-10sn,,booksbi.author,booksbi.press); else printf( cijiaocaibuqueshun); 五、個(gè)人總結(jié)上大學(xué)以來第一次 c 語言程序設(shè)計(jì)就這樣緊張而充實(shí)的過去了。通過這次 c 語言課程設(shè)計(jì),我對(duì)c語言的知識(shí)進(jìn)行了比較全面的學(xué)習(xí),了解到c語言的簡單編程的實(shí)際應(yīng)用。通過這次課程設(shè)計(jì),我可以單獨(dú)的完成一些簡單的程序,特別是我比以前能更好的使用指針并且能更好的了解文件并能夠熟練掌握循環(huán)結(jié)構(gòu)的使用。首先對(duì)于指針我形成了兩點(diǎn)認(rèn)識(shí): (1)指針是 c 語言功能強(qiáng)大的主要表現(xiàn)。 (2)指針的一般手段是通過復(fù)
17、量名詞間變量。然后對(duì)于文件我了解最深的則是文本文件。它是先內(nèi)存單元的數(shù)據(jù)轉(zhuǎn)換成文本形式,然后將文本數(shù)據(jù)輸出到外存的文件。除此之外我也對(duì)模塊化程序設(shè)計(jì)方法有了進(jìn)一步了解。這次 c 語言課程設(shè)計(jì)雖然結(jié)束了,但我相信在這次課程設(shè)計(jì)中我所學(xué)到的東西會(huì)為我在以后學(xué)習(xí)計(jì)算機(jī)的道路中打下堅(jiān)實(shí)的基礎(chǔ)。沈 陽 航 院 設(shè) 計(jì) 用 紙10 六、參考文獻(xiàn)1 譚浩強(qiáng) c程序設(shè)計(jì)北京:清華大學(xué)出版社,2005 七、附完整程序#include #include #include #define book_species 100 typedef struct _book /*定義教材結(jié)構(gòu)體*/ char name32; c
18、har author32; char press32; int buy_count; int sell_count; ; struct _book booksbook_species; void add_book() /*錄入教材信息*/ static int bi = 0; printf(nshurushuming:); scanf(%s, ); printf(shuruzuozhe:); scanf(%s, booksbi.author); printf(shuruchubanshe:); scanf(%s, booksbi.press); printf(shuru
19、gourucishu:); scanf(%d, &booksbi.buy_count); printf(jiaocailurujieshu.n); bi+; 沈 陽 航 院 設(shè) 計(jì) 用 紙11 void save_book() int bi = 0; file *fp; fp = fopen(d:book.dat, wr); while(booksbi.buy_count 0) fprintf(fp, %s %s %s %d %dn, , booksbi.author,booksbi.press, &booksbi.buy_count, &boo
20、ksbi.sell_count); bi+; fclose(fp); void chaxun_book() /*教材查詢 */ int bi,flag=0; int a; char x32; char y32; char z32; printf(qingxuanzechaxunfangshi:1.shuming 2.zuozhe 3.chubanshen); scanf(%d,&a); switch(a) case 1: printf(shurushuming:n);scanf(%s,x); for(bi=0;bi100;bi+) /*for循環(huán) */ if (strcmp(books
21、,x)=0) /*比較輸入名與存儲(chǔ)名的字符串大小*/ printf(%s %s %s %d %dn,,booksbi.author,booksbi.press,booksbi.buy_count,booksbi.sell_count); flag=1; if(flag=0) printf(cijiaocaibucunzain); break; case 2: printf(shuruzuozhe:n); scanf(%s,y); 沈 陽 航 院 設(shè) 計(jì) 用 紙12 for(bi=0;bi100;bi+) if (strcmp(booksbi.author,
22、y)=0) printf(%s %s %s %d %dn,,booksbi.author,booksbi.press,booksbi.buy_count,booksbi.sell_count); flag=1; if(flag=0) printf(cijiaocaibucunzain); break; case 3:printf(shuruchubanshe:n);scanf(%s,z); for(bi=0;bi100;bi+) if (strcmp(booksbi.press,z)=0) printf(%s %s %s %d %dn,,book
23、sbi.author,booksbi.press,booksbi.buy_count,booksbi.sell_count); flag=1; if(flag=0) printf(cijiaocaibucunzain); break; void sell_book() /*教材出賣 */ int bi,count; char name20,author20,press20; printf(nshurujiaocaiming:); scanf(%s,name); printf(nshurujiaocaizuozhe:); scanf(%s,author); printf(nshurujiaoca
24、ichubanshe:); scanf(%s,press); printf(nshurugoumaishuliang:); scanf(%d, &count); for(bi=0;bi0) booksbi.buy_count -= count; booksbi.sell_count += count; printf(njiaocaiyichushoun); else system(win); printf(jiaocaiyishouwann); void queshao_book() /*教材缺書統(tǒng)計(jì)*/ int bi; for(bi=0;bibook_species;bi+) if (booksbi.buy_count=0) printf(%-10s%-10s%-10sn,,booksbi.author,booksbi.press); else printf( cijiaocaibuqueshun); vo
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度航空航天用高溫合金委托生產(chǎn)協(xié)議
- 二零二五年度智能共享單車無償使用合同范本
- 2025年度門診部護(hù)士長聘任與管理服務(wù)合同
- 職業(yè)插畫師插畫設(shè)計(jì)服務(wù)合同
- 房地產(chǎn)經(jīng)紀(jì)人獨(dú)家代理合同書
- 產(chǎn)品創(chuàng)意與策劃流程手冊(cè)
- 歷史文物保護(hù)與遺址發(fā)掘試題及答案
- 人工智能輔助的智能環(huán)境保護(hù)監(jiān)測(cè)系統(tǒng)開發(fā)協(xié)議
- 大健康產(chǎn)業(yè)數(shù)字化健康服務(wù)平臺(tái)建設(shè)
- 關(guān)于辦公室搬遷的往來文書通知函
- 個(gè)人應(yīng)聘簡歷電工
- 2025年上半年河南省高校畢業(yè)生“三支一扶”招募1100人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 高血壓的用藥指導(dǎo)任務(wù)三高血壓的藥物治療講解
- 云南省大理白族自治州2024-2025學(xué)年八年級(jí)上學(xué)期1月期末考試英語試卷(無答案)
- 無人機(jī)行業(yè)市場分析指南
- 踇外翻病人護(hù)理查房
- 第16課數(shù)據(jù)管理與編碼(教案)四年級(jí)全一冊(cè)信息技術(shù)人教版
- 《節(jié)水評(píng)價(jià)技術(shù)導(dǎo)則》
- 課件:《中華民族共同體概論》第一講 中華民族共同體基礎(chǔ)理論
- 2024年貴州省貴陽市中考生物試題(含答案逐題解析)
- 中醫(yī)師承跟師筆記60篇(共1頁)
評(píng)論
0/150
提交評(píng)論