版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、中 國 地 質 大 學本科生課程論文封面課程名稱 計算機高級語言課程設計(c)教師姓名 zzzzzz 本科生姓名 zzzzzz 本科生學號 zzzzzzzzzzzz 本科生專業(yè) zzzzzzzzzzzz 所在院系 地球科學學院 類別: c. 本科生 日期: 2014-1-12 課程設計評語對課程論文的評語:平時成績:課程論文成績:總 成 績:評閱人簽名:注:1、無評閱人簽名成績無效;2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;3、如有平時成績,必須在上面評分表中標出,并計算入總成績。目 錄1題目要求12需求分析13總體設計14詳細設計15上機操作16總結27致謝2參考文獻21題目要求 使用計算
2、機對一種雜志的訂閱進行管理,該雜志擁有最多訂戶不超過10人,每個訂戶的 信息包括:姓名、性別、地址、電話號碼、雜志單價、訂閱數(shù)、訂閱的期限(至*年*月). 現(xiàn)要求用菜單選擇并完成下述的功能:(1) 增加新訂戶,即將訂戶的全部信息輸入到文件中。(2) 根據當天的日期對訂戶文件進行查詢,刪除已到期的訂戶記錄。(3) 統(tǒng)計本期雜志訂戶數(shù)并打印運算結果。本期訂戶信息表定戶名 訂閱數(shù) 單價 金額李平 2 5.5 11.0黃海 1 5.5 5.5合計 3 5.5 16.52需求分析本題目是對雜志的訂閱進行管理。首先,將雜志訂閱信息作出有利的整理和分類,利用我們設計的程序進行規(guī)劃和整理,接下來,對已存入的信
3、息數(shù)據進行調用,修改及刪除。最后得到數(shù)據庫的完善。這就是我們對此數(shù)據的需求分析。3總體設計菜單開始根據菜單輸入n的值選擇程序保存結束是否繼續(xù)進行 ny yy5添加訂戶信息6修改訂戶信息2瀏覽訂戶信息3查詢訂戶信息4刪除訂戶信息7退出1錄入訂戶信息圖1.系統(tǒng)的總體流程圖3詳細設計雜志訂閱管理系統(tǒng)源程序代碼/*雜志訂閱管理軟件*(1)增加新訂戶,即將訂戶的全部信息輸入到文件中。要求:使用計算機對一種雜志進行訂閱管理,該雜志擁有最多訂戶不超過10人,每個訂戶的信息包括:姓名、性別、地址、電話號碼、雜志單價、訂閱數(shù)、訂閱期限、(至*年*月)。*(2)根據當天的日期對訂戶文件進行查詢,刪除已到期的訂戶記
4、錄。*(3)統(tǒng)計本期雜志訂戶數(shù)并打印運算結果*/#include #include #include #define max 10 /最多訂戶不超過10人/存儲每個訂戶的信息的數(shù)據結構 struct magazinechar name6;char sex3;char addr13;char phone_number12;char unit_price5;char amount4;char time_limit9; ordermax;void menu();void add();void search();void statistic();int load_record();void input
5、(int i);void save(int n);void print_one(int i);void print_n(int n);int main()file *fp;fp = fopen(record.txt,w);fclose(fp);menu();return 0; /主菜單,與用戶進行交互 void menu() int n,w; do printf(tt*nnn); printf(tt 歡迎來到雜志訂閱系統(tǒng) nnn); printf(tt*nnn); printf(tt*nn); printf(tt 1:訂戶信息添加 n); printf(tt 2:訂戶信息瀏覽 n); prin
6、tf(tt 3:訂戶信息統(tǒng)計 n); printf(tt 4:退出系統(tǒng) nn); printf(tt*nn); printf(選擇您的操作(1-4): bb); scanf(%d,&n); if(n 4) w = 1; getchar(); else w = 0; while(w); switch(n) case 1:add();break; case 2:search();break;case 3:statistic();break;case 4:exit(0);break; /增加新訂戶,即將訂戶的全部信息輸入到文件中 void add() printf(addn); int t,m,i;
7、 t = load_record(); /加載文件中已有用戶的個數(shù) printf(您希望添加幾組訂戶的信息?n);printf(請輸入數(shù)字: bbb);scanf(%d,&m);for(i = 0;i m;i +)printf(n請輸入第%d組訂戶記錄!n,i+1);input(t+i); /讀取第t+i個用戶的數(shù)據 save(t+m); /把新用戶的數(shù)據存儲到文件中 menu(); void input(int i) printf(調用了input函數(shù)n); printf(請輸入:n姓名 性別 地址 電話號碼 雜志單價 訂閱數(shù) 訂閱期限n); scanf( %s%s%s%s%s%s%s,&o
8、,&orderi.sex, &orderi.addr,&orderi.phone_number,&orderi.unit_price,&orderi.amount,&orderi.time_limit); /根據當天的日期對訂戶文件進行查詢,刪除已到期的訂戶記錄 void search() printf(searchn); file* fp; char date9,str2; int t,i,sum = 0;t = load_record();printf(請輸入日期: bbbbbbbbb); scanf( %s,date);printf(n);if(fp = fopen(
9、record.txt,w) = null)printf(文件無法打開!nn);exit(0);printf(n);for(i=0;it;i+)if(strcmp(orderi.time_limit,date) 0)sum +;printf(n);print_one(i);printf(nn此用戶信息已過期!);printf(nn您希望刪除此條信息嗎?(y或n): bb);scanf( %s,str); if(strcmp(str,y) = 0 | strcmp(str,y) = 0)continue;fwrite(&orderi,sizeof(struct magazine),1,fp);fc
10、lose(fp);if(sum = 0)printf(找不到您要的信息!nn);printf(nnn任意鍵返回上一步.nn);getchar();getchar(); menu(); void print_one(int i) printf(%-10s %-5s %-10s %-11s %-4s %3s %-10snn, ,orderi.sex,orderi.addr,orderi.phone_number,orderi.unit_price,orderi.amount,orderi.time_limit); /統(tǒng)計本期雜志訂戶數(shù)并打印運算結果 void statisti
11、c() printf(statisticn); int t; t = load_record(); print_n(t); printf(nnn任意鍵返回.nn); getchar(); getchar(); menu(); void print_n(int n) int j;printf(姓名 性別 地址 電話號碼 雜志單價 訂閱數(shù) 訂閱期限nn);for(j=0;jn;j+)if(j+1) % 11 = 0)printf(nn任意鍵繼續(xù).);getchar();puts(nn); print_one(j); int load_record() printf(load_record()n);
12、 file* fp; if(fp = fopen(record.txt,r) = null) printf(n 文件無法打開 n);exit(0); int i; for(i=0;!feof(fp);i+) fread(&orderi,sizeof(struct magazine),1,fp); fclose(fp); return (i-1); void save(int n) printf(調用了save函數(shù)n); file* fp;int i;fp = fopen(record.txt,w);if(fp = null)printf(n 文件無法打開!n);exit(0); for(i=0
13、;in;i+)fwrite(&orderi,sizeof(struct magazine),1,fp);fclose(fp); 各模塊的功能和實現(xiàn)1.菜單模塊:顯示雜志訂閱管理系統(tǒng)的主菜單,供用戶選擇所需的功能,通過自己定義的void menu()函數(shù)來實現(xiàn)。2.輸入模塊:輸入訂戶的姓名以及其它的一些職工的相關信息,通過自己定義的void input()函數(shù)來實現(xiàn)。3.保存模塊:將內存中訂戶的信息輸出到磁盤文件中,可以通過自己定義的void save(int)函數(shù)來實現(xiàn)。4.瀏覽模塊:瀏覽所有職工的相關信息,通過自己定義的void display()函數(shù)來實現(xiàn)。5.刪除模塊:刪除需要刪除的訂戶
14、的所有信息,通過自己定義的void del()函數(shù)來實現(xiàn)。6.添加模塊:添加需要添加的訂戶的相關信息,通過自己定義的void add()函數(shù)來實現(xiàn)。7.按雜志訂閱期限查詢模塊:可以按志訂閱期限來查詢職工的相關信息,通過自己定義的void search_num()函數(shù)來實現(xiàn)。8.修改模塊:可以修改需要修改的訂戶的相關信息,通過自己定義的void modify()函數(shù) 來實現(xiàn)。9.退出系統(tǒng)模塊:退出雜志訂閱信息管理系統(tǒng),通過頭文件windows.h中的exit(0)函數(shù)來實現(xiàn)。5上機操作(數(shù)據源說明)(操作步驟:編譯、鏈接和運行)(運行結果:增加運行效果界面,包括主界面、各功能模塊的運行界面等)使
15、用說明及運行實例1.運行程序,進入職工信息管理系統(tǒng)的主菜單:圖1:進入主菜單界面2.輸入數(shù)字“1”進行訂戶信息添加:圖2:訂戶信息添加圖3:訂戶信息添加4.輸入“2”瀏覽訂戶信息:圖4:瀏覽訂戶信息5.輸入“3”進行訂戶信息統(tǒng)計:圖5:進行訂戶信息統(tǒng)計6.進入主菜單輸入”4”退出職工信息管理系統(tǒng)。6總結通過這次課程設計,增加了我們對軟件技術的了解,雖然還不明確軟件技術包含的具體內容,但從c語言課程設計這門課程開始,已發(fā)現(xiàn)程序設計的好處,它對我們數(shù)學的學習也有很大的幫助。在學習c語言課程設計的過程中也學到和鞏固了許多計算機應用基礎知識,對計算機的機體也有了一個較為詳細的了解。在具體操作中對這學期
16、所學的c語言課程設計的理論知識得到鞏固加強,達到實訓的目的,也發(fā)現(xiàn)自己的不足之處,同時體會到c語言具有的語句簡潔,使用靈活,執(zhí)行效率高等特點。發(fā)現(xiàn)上機操作的重要作用,特別是對數(shù)組和循環(huán)有了深刻的理解。通過實際操作,學會 c語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的能力。 由于本課題中的許多知識點都沒有學過都要靠自己到課外的資料中去查找。在用的時候難免出現(xiàn)這樣那樣的錯誤。如開始設計出來的菜單不是預想的那樣,而是總個窗中出現(xiàn)混亂。解決的這個問題的辦法是調整。一個系統(tǒng)的菜單和提示信息非常重要。如果沒有這些用戶根本不知道怎么用你設計的這個系統(tǒng)。在設計的調試過
17、程中也無法順利的完成調試工作。有了一個清晰簡單的菜單和一些提示信息這后,調試過程完成的非常順利。回顧起此次課程設計,至今我們仍感慨頗多,的確,從拿到題目到完成整個編程,從理論到實踐,在這些日子里,可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我們懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體通過這次課程設計之后,一定把以前所學過的知識本次課程設計結束了,對于我們的影響很大。我們通過這次實踐學到了許多知識。學到了設計一個簡單的系統(tǒng)。要注意哪些方面。也使我們知道自己哪些方面做得還不夠。但我們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版三角高炮合同
- 專項公共區(qū)域裝飾裝修工程承包協(xié)議2024一
- 2025年國際合同第六號生皮國際貿易稅務籌劃合同3篇
- 二零二五年度餐飲企業(yè)員工培訓與職業(yè)發(fā)展規(guī)劃合同3篇
- 2024起重機安裝與運輸安全保障服務合同3篇
- 2025年度柴油發(fā)電機組租賃與維修保養(yǎng)合同4篇
- 2024石材荒料電子商務平臺合作協(xié)議6篇
- 個性化商標創(chuàng)作協(xié)議:2024版委托書版A版
- 2024版生鮮供應合同范本
- 2024金融居間服務的終止與解除合同
- 上海紐約大學自主招生面試試題綜合素質答案技巧
- 辦公家具項目實施方案、供貨方案
- 2022年物流服務師職業(yè)技能競賽理論題庫(含答案)
- 危化品安全操作規(guī)程
- 連鎖遺傳和遺傳作圖
- DB63∕T 1885-2020 青海省城鎮(zhèn)老舊小區(qū)綜合改造技術規(guī)程
- 高邊坡施工危險源辨識及分析
- 中海地產設計管理程序
- 簡譜視唱15942
- 《城鎮(zhèn)燃氣設施運行、維護和搶修安全技術規(guī)程》(CJJ51-2006)
- 項目付款審核流程(visio流程圖)
評論
0/150
提交評論