




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、沈 陽 航 空 工 業 學 院課程設計班級6402105 學號200604021171 姓名儀德彬指導教師李飛2007 年 7 月 6 日沈 陽 航 院 設 計 用 紙1 課 程 設 計 任 務 書電 子 工 程 系電 子 信 息 工 程 專 業6402105班學號 200604021171 一、課程設計題目:教材管理系統二、課程設計工作自2007 年 9 月 11日起至 2007年 9 月 16日止課程設計內容:運用所學的 c語言知識,編制和調試程序,具有如下功能:(1) 教材錄入(教材信息至少應包括書名、作者、出版社、總數量等數據項)(2) 教材查詢可以按照書名、作者、出版社分別進行查詢(
2、3) 購買教材及教材的出賣(4) 缺書統計( 5)將教材信息存入磁盤中。課程設計要求:1、采用模塊化程序設計方法;在程序界面,以菜單的形式調用各功能函數;程序可讀性強,界面友好;輸出形式美觀。2、用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。3、用戶界面中的菜單至少應包括“教材錄入”、“教材查詢”、“教材出售”、“統計缺書”、 “教材數據保存” 、“退出” 6項。4、代碼應適當縮進,并給出必要的注釋,以增強程序的可讀性。課程設計說明書:課程結束后,上交課程設計說明書和源程序。課程設計說明書的內容如下:課程設計任務書程序設計題目需求分析(分析題目的要求)程序框圖(總體框圖和各功能模塊
3、框圖,使用傳統流程圖或框圖)核心技術的實現方法及程序源代碼及注釋個人總結 參考資料 指導教師: _ 學生簽名: _ 沈 陽 航 院 設 計 用 紙2 目錄一、程序設計題目. 1二、需求分析 . 1三、程序流程圖. 2圖 6 教材缺書統計函數. 6四、核心技術的實現方法、程序段及注釋 . 6五、個人總結 . 9六、參考文獻 . 10 七、附完整程序. 10 沈 陽 航 院 設 計 用 紙1 一、程序設計題目教材管理系統,具體要求如下:1、教材信息錄入2、可以以書名,作者,出版社三種方式進行教材查詢3、可以進行教材的購買與出售4、對所缺教材的種類進行統計5、退出系統注:教材的具體信息需自行設定二、
4、需求分析經過對程序設計題目的分析可知,整個程序的設計實現大致分為六個模塊,其中每一個模塊對應一個函數,他們的功能分別是:1、教材信息錄入() ,2、教材的查詢() ,3、實現教材的出售() ,4、缺書統計5、保存教材的具體信息(),6、退出系統() 。這些函數的實現嚴格按照題目的要求,可以實現題目要求的所有功能。1、教材信息錄入2、教材的查詢3、實現教材的出售4、缺書統計5、保存教材的具體信息6、退出系統每種教材的數據包含教材名,作者,出版社,購進數量與售出數量,在程序當中,將教材的數據錄入類型定義為結構體類型,添加以及追加的教材數據直接寫入tc 文件夾下的 book.dat文件中 , 其他函
5、數每次對教材數據的訪問,其數據來源都是book.dat文件,這樣做不但可以保證教材數據的一致性,而且可以對教材數據進行永久保存,保證每次運行程序都可以采用原來的數據。沈 陽 航 院 設 計 用 紙2 三、程序流程圖程序結構總圖設置界面函數主函數圖 1 程序結構總圖教材信息的錄入教材信息的保存教材信息的查詢教材的購入與出售教材的缺書種類統計真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) 沈 陽 航 院 設 計 用 紙3 教材錄入函數圖 2 教材錄入函數教材信息保存函數圖 3 教材信息保存函數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文件當 booksbi.buy_count 0 fprintf(fp, %s %s %s %d %dn, , booksbi.author,booksbi.press, &booksbi.buy_count, &booksbi.sell_count) 關閉讀寫文件fclose(fp) 沈 陽 航 院 設 計 用 紙4 按照教材名,作者,出版社進行教材查詢的函數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) 假當 bi=0;bi100;bi+ 真if(a=2) 假若教材名假符串與輸入字相同真當 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); 若作者假與輸入字符串相同真當 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) 沈 陽 航 院 設 計 用 紙5 圖 4 查詢函數教材出售函數int bi,count; char name20,author20,press20; printf(nshurujiaocaiming:); 從鍵盤輸入字符串至name printf(nshurujiaocaizuozhe:); 從鍵盤輸入字符串至author printf(nshurujiaocaichubanshe:); 從鍵盤輸入字符串至press printf(nshurugoumashuliang:); 從
11、鍵盤輸入整形變量至count 當 bi=0;bi0) 真printf(jiaocaiyishouwang.n); booksbi.buy_count -= count; booksbi.sell_count += count; printf(njiaocaiyishushou.n); 圖 5 教材出售函數沈 陽 航 院 設 計 用 紙6 教材缺書統計函數int bi; 當 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、教材查詢的函數該函數的核心內容是switch 函數的使用、for 函數的嵌套使用與strcmp 比較字符串函數的使用具體程序段如下:void chaxun_book() /*教材查詢 */ int bi,flag=0; 沈 陽 航 院 設 計 用 紙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); 沈 陽 航 院 設 計 用 紙9 break; 4、教材缺書統計函數for 函數的使用具體程序段如下:void queshao_book() /*教材缺書統計*/ 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); 五、個人總結上大學以來第一次 c 語言程序設計就這樣緊張而充實的過去了。通過這次 c 語言課程設計,我對c語言的知識進行了比較全面的學習,了解到c語言的簡單編程的實際應用。通過這次課程設計,我可以單獨的完成一些簡單的程序,特別是我比以前能更好的使用指針并且能更好的了解文件并能夠熟練掌握循環結構的使用。首先對于指針我形成了兩點認識: (1)指針是 c 語言功能強大的主要表現。 (2)指針的一般手段是通過復
17、量名詞間變量。然后對于文件我了解最深的則是文本文件。它是先內存單元的數據轉換成文本形式,然后將文本數據輸出到外存的文件。除此之外我也對模塊化程序設計方法有了進一步了解。這次 c 語言課程設計雖然結束了,但我相信在這次課程設計中我所學到的東西會為我在以后學習計算機的道路中打下堅實的基礎。沈 陽 航 院 設 計 用 紙10 六、參考文獻1 譚浩強 c程序設計北京:清華大學出版社,2005 七、附完整程序#include #include #include #define book_species 100 typedef struct _book /*定義教材結構體*/ 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+; 沈 陽 航 院 設 計 用 紙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循環 */ if (strcmp(books
21、,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); 沈 陽 航 院 設 計 用 紙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() /*教材缺書統計*/ 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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年教育需求增長與老年教育師資培訓體系研究報告
- 物質變化與能量轉移關系試題及答案
- 環保設備制造業市場多元化競爭與創新策略分析報告
- 教育教學反思的功能與策略試題及答案
- 新能源汽車電池安全與可靠性研究試題及答案
- 文化創意產業園區建筑2025年初步設計可行性評估報告
- 潮安教師面試題及答案
- 深圳進廠面試題及答案
- 社交電商裂變營銷在食品行業中的創新技術應用報告
- 西藏職業技術學院《漫畫設計》2023-2024學年第二學期期末試卷
- 北京市朝陽區區管企業年輕人才“培優”計劃招聘筆試真題2024
- 第19課《紫藤蘿瀑布》課件 2024-2025學年統編版語文七年級下冊
- 2025年廣東省深圳高級中學高中園高考數學三模試卷(含答案)
- 近五年遼寧中考英語真題及答案2024
- 2025年部編版新教材語文一年級下冊期末測試題及答案(一)
- (2024年)中華人民共和國環境保護法全
- 2024奧數競賽5年級培訓題-答案版
- 浙江省交通投資集團有限公司高速公路涉路作業安全管理操作細則
- 棄貨聲明格式(共2頁)
- 鈑金件尺寸未注公差檢驗標準
- 七年級上冊第三章一元一次方程數學活動
評論
0/150
提交評論