協(xié)會會員管理系統(tǒng)_第1頁
協(xié)會會員管理系統(tǒng)_第2頁
協(xié)會會員管理系統(tǒng)_第3頁
協(xié)會會員管理系統(tǒng)_第4頁
協(xié)會會員管理系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、* 實踐教學(xué)* 蘭州理工大學(xué)計算機(jī)與通信學(xué)院2012 年春季學(xué)期c 程序設(shè)計課程設(shè)計題目:協(xié)會會員管理系統(tǒng)專業(yè)班級:姓名:人才 v 學(xué)號:指導(dǎo)教師:成績:摘要摘要協(xié)會會員管理系統(tǒng)是一個工作單位不可缺少的管理工具,它管理的數(shù)據(jù)對于公司的決策者和管理者來說都至關(guān)重要,所以協(xié)會會員管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。使用計算機(jī)對會員進(jìn)行管理, 具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高協(xié)會會員管理的效率,也是協(xié)會的科學(xué)化、 正規(guī)化管理和與世界接軌的重要條件。協(xié)會會員管理系統(tǒng)作為一種管理軟件正在各協(xié)會

2、中得到越來越廣泛的應(yīng)用,且已達(dá)到了良好效果。關(guān)鍵字: 協(xié)會會員管理系統(tǒng)效率檢索迅速管理軟件目錄目錄一、需求分析. 1二、總體設(shè)計. 2三、詳細(xì)設(shè)計. 33.1數(shù)據(jù)定義 . 33.2算法流程圖 . 43.3模塊設(shè)計 . 6四、編碼 . 10五、測試 . 11六、設(shè)計總結(jié). 12參考文獻(xiàn) . 14致謝 . 14附錄 . - 1 -協(xié)會會員管理系統(tǒng)1 一、需求分析協(xié)會會員管理系統(tǒng):1、問題描述對協(xié)會的會員進(jìn)行管理,包括插入、刪除、查找、排序等功能。2、要求會員對象包括姓名(字符串) 、性別(字符)、出生年月(數(shù)字)、工作年月(數(shù)字)、學(xué)歷(字符串)、職務(wù)(字符串)、住址(字符串) 、電話(字符串)等

3、信息。(1)新增一名會員: 將新增會員對象按姓名以字典方式會員管理文件中。(2)刪除一名會員:從會員管理文件中刪除一名會員對象。(3)查詢:從管會員理文件中查詢符合某些條件的會員。(4)添加:增加某個會員對象。(5)打印:按某種需要對會員對象文件進(jìn)行打印。3、實現(xiàn)功能(1)由鍵盤輸入會員對象,以文件方式保存。程序執(zhí)行時先將文件讀入內(nèi)存。(2)對對象中的“姓名”按字典順序進(jìn)行排序。(3) 對排序后的會員對象進(jìn)行增、 刪、查詢、修改、打印等操作。協(xié)會會員管理系統(tǒng)2 二、總體設(shè)計1、輸入功能的實現(xiàn):要想實現(xiàn)會員管理系統(tǒng)的輸入,必須要建立一個會員信息系統(tǒng)的抽象數(shù)據(jù)類型,其中會員信息以鏈表的存儲方式實現(xiàn)

4、。由鍵盤輸入會員對象,以文件方式保存。程序執(zhí)行時先將文件讀入內(nèi)存。2、 系統(tǒng)處理功能的實現(xiàn): 系統(tǒng)管理員根據(jù)協(xié)會的人員流動情況,在提示信息的提示下, 選擇相應(yīng)的服務(wù)進(jìn)行操作。 如對會員對象中的姓名 按字典順序進(jìn)行排序;對排序后的會員對象進(jìn)行增、 刪、 查詢、修改、打印等操作。3、輸出的實現(xiàn):根據(jù)選擇的操作,輸出與之對應(yīng)的信息。綜上可以繪制出管理會員信息功能的系統(tǒng)流程圖,如圖1 所示總控模塊輸入模塊系統(tǒng)處理模塊輸出模塊測試模塊圖 1 系統(tǒng)流程圖根據(jù)會員管理系統(tǒng)問題的分析和設(shè)計要求,可以得到該會員管理系統(tǒng)可以分為五個模塊:會員信息添加模塊、會員信息修改模塊、會協(xié)會會員管理系統(tǒng)3 員信息刪除模塊、會

5、員信息查詢模塊、會員信息排序模塊。其系統(tǒng)功能結(jié)構(gòu)如圖 2 所示。圖 2 系統(tǒng)功能圖三、詳細(xì)設(shè)計3.1 數(shù)據(jù)定義struct person char name20;/定義名稱char sex4;/定義性別char yuanxi20; /定義院系char zhuanye20; /定義專業(yè)char techang20; /定義特長char zhuangtai20; /定義狀態(tài)int age;/定義年齡int number;/定義會員編號會員管理輸入會員查詢會員修改會員刪除會員追加會員輸出會員統(tǒng)計會員退 出系統(tǒng)協(xié)會會員管理系統(tǒng)4 ; 3.2 算法流程圖1)保存函數(shù) save() 的算法流程圖如圖3 所

6、示。圖 3 保存函數(shù) save() 的算法流程圖2)查詢函數(shù) search() 的算法流程圖如圖所示。file*fp; (fp=fopen(outfile,wprintf(nsaving file.n); printf(can not open filen); p!=null fclose(fp); fwrite(p,sizeof(salary),1,fp); 協(xié)會會員管理系統(tǒng)5 圖 4 查詢函數(shù) search() 的算法3)對輸入的信息進(jìn)行尋找、并進(jìn)行輸出。圖 5 查詢并輸出所查詢的信息協(xié)會會員管理系統(tǒng)6 圖 6 會員信息查看系統(tǒng)3.3 模塊設(shè)計在我們設(shè)計的程序中:首先是定義了一個輸入輸出頭

7、文件,接著是一個宏定義,下面是函數(shù)聲名部分,用struct emploee 結(jié)構(gòu)體存儲和錄入該程序的所有數(shù)據(jù),并把信息寫到文件emp.dat 中, 保存在磁盤中方便以后使用。主函數(shù)部分包括設(shè)計的全部信息, 有指導(dǎo)教師、設(shè)計者以及設(shè)計時間,之后是輸出主菜單和調(diào)用函數(shù),退出程序。此程序中包含的功能有:輸入模塊、查詢模塊、修改模塊、刪除模塊、統(tǒng)計模塊、輸出模塊、追加模塊,各個功能設(shè)計如下:主菜單系統(tǒng)信息及查看系統(tǒng)查看會員卡信息查看會員信息存儲信息返回主菜單存儲會員信息返回主菜單存儲會員卡信息輸入路徑,保存協(xié)會會員管理系統(tǒng)7 輸入模塊:該模塊是實現(xiàn)對會員號姓名崗位扣除實發(fā)的錄入并保存到文件“emp ”

8、中。模塊中運用 void input()調(diào)用函數(shù)展開對文件的使用。模塊首先定義一個指針文件, 又以寫的方式打開此文件, 在打開的文件中輸入要管理的會員人數(shù), 用一個 for 循環(huán)按照職會員號姓名崗位扣除實發(fā)的格式循環(huán)獲取會員的記錄, 接著又用了一個 for 循環(huán)將會員記錄寫入文件“ emp ”中,關(guān)閉文件。查詢模塊:實現(xiàn)按會員號查詢每個會員的信息,查詢顯示: 會員號姓名崗位扣除實發(fā)。模塊開始是一個二級子菜單,一個是實現(xiàn)按會員號查詢,另一個是選擇退出返回主菜單,此處是利用switch 選擇語句。選擇按會員號查詢,首先是以只讀的方式打開文件“emp ” ,然后輸入要查詢的會員號,用一個 for 循

9、環(huán)來控制查詢的人數(shù), 之后在顯示器上顯示會員信息,程序如下:printf(會員號姓名崗位扣除實發(fā)n); printf(%6d%9s%6d%6d%6d%6dn,empi.no,,empi.post-wage,empi. prize,empi.deduct, pay); 然后關(guān)閉文件。查詢會員信息已完成。修改模塊:該模塊實現(xiàn)按會員號對會員所有信息的修改。模塊開始是一個二級子協(xié)會會員管理系統(tǒng)8 菜單,一個是按會員號修改,另一個是選擇退出返回主菜單,此處是利用 switch 選擇語句。選擇按會員號修改,首先是以讀寫的方式打開文件“emp ” 。輸入要修改的會員號,用一個for 循環(huán)來

10、控制輸入的數(shù)量,循環(huán)如下:for(i=0;fread(&empi,sizeof(struct emploee),1,fp);i+) if(!strcmp(empi.no,num)break; 則會出現(xiàn)該會員的信息如下:printf(記錄號會員號姓名性別年齡工資n); printf(%6d%6s%9s%4s%5d%6dn,i+1,empi.no,,empi.sex,empi.age,empi.salar); 然后對會員的信息進(jìn)行修改, 就可獲得新的會員記錄。 之后文件指針指向該修改的記錄開頭,此時用newemp 覆蓋當(dāng)前記錄,修改完成時系統(tǒng)會顯示修改后的文件數(shù)據(jù): 記錄

11、號、會員號、姓名、性別、年齡、工資,然后關(guān)閉文件。修改會員信息已完成。刪除模塊:該模塊實現(xiàn)按會員號對會員所有信息的刪除。模塊開始是一個二級子菜單,一個是按會員號刪除記錄,另一個是選擇退出返回主菜單,此處是利用 switch 選擇語句。選擇按會員號刪除記錄,首先是只讀的方式打開一個二進(jìn)制文件 “emp ” 。就會顯示刪除前的會員信息程序如下:printf(刪除前 :n); 協(xié)會會員管理系統(tǒng)9 printf(記錄號會員號姓名性別年齡工資n); for(n=0;fread(&empn,sizeof(struct emploee),1,fp);n+) printf(%6s%6s%9s%4s%5

12、d%6dn,n+1,empn.no,,empn.sex,empn.age,empn.salar); 輸入要刪除的會員號,如果存在由fp=fopen(emp,w+); if(n=1) fclose(fp); exit(3); 執(zhí)行刪除命令:使用 for(j=i+1;jn;j+) fwrite(&empj,sizeof(struct emploee),1,fp);循環(huán)依次改后會員信息寫入文件,顯示刪除后文件中的會員信息。 最后可以關(guān)閉文件,刪除會員信息已完成。統(tǒng)計模塊:根據(jù)輸入的工資,顯示大于該工資的會員的所有信息。模塊中運用 void stat ()調(diào)用函數(shù)展開對文件的

13、使用。首先是以只讀的方式打開文件“ emp ” 。輸入會員的工資數(shù),運用for 循環(huán)根據(jù)輸入的工資,顯示大于該工資的會員的所有信息。關(guān)閉文件,統(tǒng)計完成。輸出模塊:該模塊實現(xiàn)按會員號輸出會員的所有信息。在該模塊中運用 void output()調(diào)用函數(shù)展開對文件的使用。首先以只讀的方式打開一個文本文件”emp ” 。 操作無誤則用 for 循環(huán)輸出正在查詢會員的:協(xié)會會員管理系統(tǒng)10 記錄號會員號姓名性別年齡工資。這些完成后用fclose(fp)函數(shù)關(guān)閉文件。模塊運行結(jié)束。追加模塊:該模塊實現(xiàn)添加會員的信息。 在該模塊中運用 void run()調(diào)用函數(shù)展開對文件的使用。 首先以讀寫的方式為讀寫

14、打開一個二進(jìn)制的文件“emp ” 。輸出“要追加的會員人數(shù)”待輸入要追加的個數(shù)后,用for循環(huán)控制待輸入的會員信息。用fwrite(&newemp,sizeof(struct emploee),1,fp)將該會員記錄寫入文件。用fclose(fp)函數(shù)關(guān)閉文件,模塊運行結(jié)束。四、編碼該會員管理系統(tǒng)在microsoft visual studio c + 程序下運行,可實現(xiàn)對會員的增加、 查詢、修改、打印,實現(xiàn)對會員信息的快速操作。1、增加會員信息2、查詢會員信息3、修改會員信息4、打印會員信息5、輸出會員信息6、統(tǒng)計會員信息協(xié)會會員管理系統(tǒng)11 7、刪除會員信息五、測試1. 程序的初始

15、界面對程序的功能進(jìn)行選擇輸入會員信息協(xié)會會員管理系統(tǒng)12 打印會員信息六、設(shè)計總結(jié)接到 c語言課程設(shè)計的作業(yè)我十分高興, 終于學(xué)到的東西可以運用了。在老師的指導(dǎo)和大家的共同努力下,我們終于完成了程序的大體編制。程序中包括主函數(shù)、輸入模塊、查詢模塊、修改模塊、刪除模塊、統(tǒng)計模塊、輸出模塊、追加模塊。其中在輸入模塊中指針文件協(xié)會會員管理系統(tǒng)13 運用的比較好, 因為指針是 c的一個特色, 它能有效的表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu),動態(tài)的分配內(nèi)存,方便的使用字符串、數(shù)組,可謂是c的精華。在程序設(shè)計中我們最大的收獲就是:我們真正從實踐的角度體會到了 c語言在實際生活中的作用, 也深刻體會到了它帶來的方便快捷。不但

16、使我們對 c語言有更進(jìn)一步的鞏固和認(rèn)識還使我們懂得了團(tuán)隊協(xié)作的重要! 讓我們將一年所學(xué)的c語言知識學(xué)為所用, 讓我們感覺到了它的神奇魅力。美中不足的就是: 由于我們知識的不足以及條件的限制,本系統(tǒng)還有許多漏洞與不足,希望老師給以批評與幫助,我們會積極改正。而且本程序還處于初級階段的職工工資管理功能中,只實現(xiàn)了對會員信息的錄入、修改、查詢、統(tǒng)計、顯示等簡單功能,功能較簡單,不一定在實際中有大的用途, 程序編排中可能有煩瑣之處有待進(jìn)一步簡化。協(xié)會會員管理系統(tǒng)14 參考文獻(xiàn)1姜靈芝,余健 . c 語言課程設(shè)計案例精編 . 北京: 清華大學(xué)出版社,2008 2王新,孫雷 . c 語言課程設(shè)計 . 北京

17、: 清華大學(xué)出版社 ,2009 3游洪躍、彭駿、譚斌 .c 語言程序設(shè)計實驗與課程設(shè)計教程. 北京:清華大學(xué)出版社 ,2011 4王連相 .c/c+程序設(shè)計上機(jī)指導(dǎo)與測試. 北京: 中國鐵道出版社,2006 5c語言函數(shù)手冊,機(jī)械工業(yè)出版社,1999 致謝進(jìn)入大學(xué),系統(tǒng)的學(xué)習(xí)了 c 語言程序設(shè)計這門課, 讓我對程序設(shè)計這門課有了更深一步的理解, 能夠把自己所學(xué)用于生活, 這是一件很讓人開心的事。我會在以后的學(xué)習(xí)生活中努力的鍛煉自己,開動腦筋,用心思維,使自己在c 語言程序設(shè)計這門課上有更一步的進(jìn)步。在此感謝,此次課程設(shè)計中給予指導(dǎo)的張憲立老師和各位同學(xué)的幫助,使我們終于圓滿的完成了這次課設(shè)。源

18、代碼- 1 - 附錄#include #include #include struct node char name20;/定義名稱char sex4;/定義性別char yuanxi20; /定義院系char zhuanye20; /定義專業(yè)char techang20; /定義特長char zhuangtai20; /定義狀態(tài)int age;/定義年齡int number;/定義會員編號 xh200; int menu(); int input(); void find(int); int insert(int); void print(int); void main() int c=0,

19、d=0; while(1) switch(menu() case 1:c=input();break; case 2:find(c);break; case 3:c=insert(c);break; case 4:print(c);break; case 5: exit(0); menu() int d; system(cls); printf(n); printf(t 協(xié)會會員管理系統(tǒng)n); printf(t!n); 源代碼- 2 - printf(t|1| 輸入會員信息。n); printf(t|2| 指定查找會員。 n); printf(t|3| 添加會員信息。n); printf(t|

20、4| 打印會員信息。n); printf(t|5| 退出。 n); printf(t!nn); printf(t請選項 :); scanf(%d,&d); return d; input()/輸入會員信息 int i,n; printf(n); printf(輸入會員人數(shù):n); scanf(%d,&n); for (i=0;in;i+) printf(名稱 :,i+1); scanf(%s,); getchar(); printf(性別 :,i+1); scanf(%s,xhi.sex); getchar(); printf(年齡 :,i+1); scanf(

21、%d,&xhi.age); printf(狀態(tài) :,i+1); scanf(%s,xhi.zhuangtai); getchar(); printf(會員編號 :,i+1); scanf(%d,&xhi.number); printf(專業(yè) :,i+1); scanf(%s,&xhi.zhuanye); getchar(); printf(院系 :,i+1); scanf(%s,xhi.yuanxi); getchar(); printf(特長 :,i+1); scanf(%s,xhi.techang); getchar(); printf(nn); return n;

22、 void find(int c)/按名稱指定查找會員信息源代碼- 3 - int i; char a20; printf(n); printf(請輸入查找名稱:n); scanf(%s,a); getchar(); for (i=0;ic;i+) if (strcmp(a,) = 0) printf(會員性別 :); printf(%sn,xhi.sex); printf(會員年齡 :); printf(%dn,xhi.age); printf(狀態(tài) :); printf(%sn,xhi.zhuangtai); printf(會員編號 :); printf(%dn,xhi.number); printf(專業(yè) :); printf(%sn,xhi.zhuanye); printf(院系 :); printf(%sn,xhi.yuanxi); printf(特長 :); printf(%sn,xhi.techang); system(pause); getchar(); insert(int c)/添加會員信息int i,j; system(cls); printf(n); printf(添加會員人數(shù):n);

溫馨提示

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

評論

0/150

提交評論