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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、員信息查詢模塊、會(huì)員信息排序模塊。其系統(tǒng)功能結(jié)構(gòu)如圖 2 所示。圖 2 系統(tǒng)功能圖三、詳細(xì)設(shè)計(jì)3.1 數(shù)據(jù)定義struct person char name20;/定義名稱char sex4;/定義性別char yuanxi20; /定義院系char zhuanye20; /定義專業(yè)char techang20; /定義特長(zhǎng)char zhuangtai20; /定義狀態(tài)int age;/定義年齡int number;/定義會(huì)員編號(hào)會(huì)員管理輸入會(huì)員查詢會(huì)員修改會(huì)員刪除會(huì)員追加會(huì)員輸出會(huì)員統(tǒng)計(jì)會(huì)員退 出系統(tǒng)協(xié)會(huì)會(huì)員管理系統(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é)會(huì)會(huì)員管理系統(tǒng)5 圖 4 查詢函數(shù) search() 的算法3)對(duì)輸入的信息進(jìn)行尋找、并進(jìn)行輸出。圖 5 查詢并輸出所查詢的信息協(xié)會(huì)會(huì)員管理系統(tǒng)6 圖 6 會(huì)員信息查看系統(tǒng)3.3 模塊設(shè)計(jì)在我們?cè)O(shè)計(jì)的程序中:首先是定義了一個(gè)輸入輸出頭

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

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

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

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

11、號(hào)、會(huì)員號(hào)、姓名、性別、年齡、工資,然后關(guān)閉文件。修改會(huì)員信息已完成。刪除模塊:該模塊實(shí)現(xiàn)按會(huì)員號(hào)對(duì)會(huì)員所有信息的刪除。模塊開(kāi)始是一個(gè)二級(jí)子菜單,一個(gè)是按會(huì)員號(hào)刪除記錄,另一個(gè)是選擇退出返回主菜單,此處是利用 switch 選擇語(yǔ)句。選擇按會(huì)員號(hào)刪除記錄,首先是只讀的方式打開(kāi)一個(gè)二進(jìn)制文件 “emp ” 。就會(huì)顯示刪除前的會(huì)員信息程序如下:printf(刪除前 :n); 協(xié)會(huì)會(huì)員管理系統(tǒng)9 printf(記錄號(hào)會(huì)員號(hào)姓名性別年齡工資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); 輸入要?jiǎng)h除的會(huì)員號(hào),如果存在由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)依次改后會(huì)員信息寫入文件,顯示刪除后文件中的會(huì)員信息。 最后可以關(guān)閉文件,刪除會(huì)員信息已完成。統(tǒng)計(jì)模塊:根據(jù)輸入的工資,顯示大于該工資的會(huì)員的所有信息。模塊中運(yùn)用 void stat ()調(diào)用函數(shù)展開(kāi)對(duì)文件的

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

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

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

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

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

18、代碼- 1 - 附錄#include #include #include struct node char name20;/定義名稱char sex4;/定義性別char yuanxi20; /定義院系char zhuanye20; /定義專業(yè)char techang20; /定義特長(zhǎng)char zhuangtai20; /定義狀態(tài)int age;/定義年齡int number;/定義會(huì)員編號(hào) 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é)會(huì)會(huì)員管理系統(tǒng)n); printf(t!n); 源代碼- 2 - printf(t|1| 輸入會(huì)員信息。n); printf(t|2| 指定查找會(huì)員。 n); printf(t|3| 添加會(huì)員信息。n); printf(t|

20、4| 打印會(huì)員信息。n); printf(t|5| 退出。 n); printf(t!nn); printf(t請(qǐng)選項(xiàng) :); scanf(%d,&d); return d; input()/輸入會(huì)員信息 int i,n; printf(n); printf(輸入會(huì)員人數(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(會(huì)員編號(hào) :,i+1); scanf(%d,&xhi.number); printf(專業(yè) :,i+1); scanf(%s,&xhi.zhuanye); getchar(); printf(院系 :,i+1); scanf(%s,xhi.yuanxi); getchar(); printf(特長(zhǎng) :,i+1); scanf(%s,xhi.techang); getchar(); printf(nn); return n;

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論