協(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è)
免費(fèi)預(yù)覽已結(jié)束,剩余19頁(yè)可下載查看

下載本文檔

版權(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é)院2011年春季學(xué)期C程序設(shè)計(jì)課程設(shè)計(jì)題目:協(xié)會(huì)會(huì)員管理系統(tǒng)專(zhuān)業(yè)班級(jí):姓名:學(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)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵?xún)手段。但一直以來(lái)各個(gè)協(xié)會(huì)基本上都是靠傳統(tǒng)的人工方式來(lái)管理協(xié)會(huì)信息,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于信息的查找、更新和維護(hù)都帶來(lái)了不少的困難。隨著計(jì)算機(jī)技術(shù)的不斷提高,計(jì)算機(jī)作為知識(shí)經(jīng)濟(jì)時(shí)代的產(chǎn)物,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社

2、會(huì)的各個(gè)行業(yè)和領(lǐng)域并發(fā)揮著越來(lái)越重要的作用,成為人們工作和生活中不可缺少的一部分。而作為計(jì)算機(jī)應(yīng)用的一部分,使用計(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ì)中得到越來(lái)越廣泛的應(yīng)用,且已達(dá)到了良好效果。關(guān)鍵字:協(xié)會(huì)會(huì)員管理系統(tǒng)效率檢索迅速管理軟件一、需求分析4.二、總體設(shè)計(jì)5.三、詳細(xì)設(shè)計(jì)6.1、數(shù)據(jù)定義6.2、算法流程圖6.四、編碼.11.五、測(cè)試12六、設(shè)計(jì)總結(jié)14致謝1.5參

3、考文獻(xiàn)16附錄11.7、需求分析協(xié)會(huì)會(huì)員管理系統(tǒng):1、問(wèn)題描述對(duì)協(xié)會(huì)的會(huì)員進(jìn)行管理,包括插入、刪除、查找、排序等功能。2、要求會(huì)員對(duì)象包括姓名(字符串)、性別(字符)、出生年月(數(shù)字)、工作年月(數(shù)字)、學(xué)歷(字符串)、職務(wù)(字符串)、住址(字符串)、電話(字符串)等信息。(1)新增一名會(huì)員:將新增會(huì)員對(duì)象按姓名以字典方式會(huì)員管理文件中。(2)刪除一名會(huì)員:從會(huì)員管理文件中刪除一名會(huì)員對(duì)象。(3)查詢(xún):從管會(huì)員理文件中查詢(xún)符合某些條件的會(huì)員。(4)添加:增加某個(gè)會(huì)員對(duì)象。(5)打?。喊茨撤N需要對(duì)會(huì)員對(duì)象文件進(jìn)行打印。3、實(shí)現(xiàn)功能(1)由鍵盤(pán)輸入會(huì)員對(duì)象,以文件方式保存。程序執(zhí)行時(shí)先將文件讀入內(nèi)

4、存。(2)對(duì)對(duì)象中的“姓名”按字典順序進(jìn)行排序。(3)對(duì)排序后的會(huì)員對(duì)象進(jìn)行增、刪、查詢(xún)、修改、打印等操作。、總體設(shè)計(jì)1、輸入功能的實(shí)現(xiàn):要想實(shí)現(xiàn)會(huì)員管理系統(tǒng)的輸入,必須要建立一個(gè)會(huì)員信息系統(tǒng)的抽象數(shù)據(jù)類(lèi)型,其中會(huì)員信息以鏈表的存儲(chǔ)方式實(shí)現(xiàn)。由鍵盤(pán)輸入會(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)行增、刪、查詢(xún)、修改、打印等操作。3、輸出的實(shí)現(xiàn):根據(jù)選擇的操作,輸出與之對(duì)應(yīng)的信息。綜上可以繪制出管理會(huì)員

5、信息功能的系統(tǒng)流程圖,如圖1所示圖1系統(tǒng)流程圖根據(jù)會(huì)員管理系統(tǒng)問(wèn)題的分析和設(shè)計(jì)要求,可以得到該會(huì)員管理系統(tǒng)可以分為五個(gè)模塊:會(huì)員信息添加模塊、會(huì)員信息修改模塊、會(huì)員信息刪除模塊、會(huì)員信息查詢(xún)模塊、會(huì)員信息排序模塊。具系統(tǒng)功能結(jié)構(gòu)如圖2所示。圖2系統(tǒng)功能圖三、詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)定義structperson(charname20;/定義名稱(chēng)charsex4;/定義性別charyuanxi20;/定義院系charzhuanye20;/定義專(zhuān)業(yè)chartechang20;/定義特長(zhǎng)charzhuangtai20;/定義狀態(tài)intage;/定義年齡intnumber;/定義會(huì)員編號(hào);3.2算法流程圖1)

6、保存函數(shù)Save()的算法流程圖如圖3所示。2)查詢(xún)函數(shù)search()的算法流程圖如圖所示。將人姓名圖4查詢(xún)函數(shù)search()的算法3)對(duì)輸入的信息進(jìn)行尋找、并進(jìn)行輸出。圖5查詢(xún)并輸出所查詢(xún)的信息圖6會(huì)員信息查看系統(tǒng)3.3模塊設(shè)計(jì)在我們?cè)O(shè)計(jì)的程序中:首先是定義了一個(gè)輸入輸出頭文件,接著是一個(gè)宏定義,下面是函數(shù)聲名部分,用structemploee結(jié)構(gòu)體存儲(chǔ)和錄入該程序的所有數(shù)據(jù),并把信息寫(xiě)到文件emp.dat中,保存在磁盤(pán)中方便以后使用。主函數(shù)部分包括設(shè)計(jì)的全部信息,有指導(dǎo)教師、設(shè)計(jì)者以及設(shè)計(jì)時(shí)間,之后是輸出主菜單和調(diào)用函數(shù),退出程序。此程序中包含的功能有:輸入模塊、查詢(xún)模塊、修改模塊、刪

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

8、選擇按會(huì)員號(hào)查詢(xún),首先是以只讀的方式打開(kāi)文件“em6,然后輸入要查詢(xún)的會(huì)員號(hào),用一個(gè)for循環(huán)來(lái)控制查詢(xún)的人數(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)閉文件。查詢(xún)會(huì)員信息已完成。修改模塊:該模塊實(shí)現(xiàn)按會(huì)員號(hào)對(duì)會(huì)員所有信息的修改。模塊開(kāi)始是一個(gè)二級(jí)子菜單,一個(gè)是按會(huì)員號(hào)修改,另一個(gè)是選擇退出返回主菜單,此處是利用

9、switch選擇語(yǔ)句。選擇按會(huì)員號(hào)修改,首先是以讀寫(xiě)的方式打開(kāi)文件“empo輸入要修改的會(huì)員號(hào),用一個(gè)for循環(huán)來(lái)控制輸入的數(shù)量,循環(huán)如下:for(i=0;fread(&empi,sizeof(structemploee),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ì)員的

10、信息進(jìn)行修改,就可獲得新的會(huì)員記錄。之后文件指針指向該修改的記錄開(kāi)頭,此時(shí)用newemp!蓋當(dāng)前記錄,修改完成時(shí)系統(tǒng)會(huì)顯示修改后的文件數(shù)據(jù):記錄號(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)制文件“em6。就會(huì)顯示刪除前的會(huì)員信息程序如下:printf("刪除前:n");printf("記錄號(hào)會(huì)員號(hào)姓名性別年齡工資n");f

11、or(n=0;fread(&empn,sizeof(structemploee),1,fp);n+)printf("%6s%6s%9s%4s%5d%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;j<n;j+)fwrite(&empj,sizeof(structemploee),1,fp);循環(huán)依次改后會(huì)員信息寫(xiě)入文件

12、,顯示刪除后文件中的會(huì)員信息。最后可以關(guān)閉文件,刪除會(huì)員信息已完成。統(tǒng)計(jì)模塊:根據(jù)輸入的工資,顯示大于該工資的會(huì)員的所有信息。模塊中運(yùn)用voidstat()調(diào)用函數(shù)展開(kāi)對(duì)文件的使用。首先是以只讀的方式打開(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)用voidoutput()調(diào)用函數(shù)展開(kāi)對(duì)文件的使用。首先以只讀的方式打開(kāi)一個(gè)文本文件”em6。操作無(wú)誤則用for循環(huán)輸出正在查詢(xún)會(huì)員的:記錄號(hào)會(huì)員號(hào)姓名性別年齡工資。這些完成后用fclose(fp)函數(shù)關(guān)閉文件。模塊運(yùn)行結(jié)

13、束。追加模塊:該模塊實(shí)現(xiàn)添加會(huì)員的信息。在該模塊中運(yùn)用voidrun()調(diào)用函數(shù)展開(kāi)對(duì)文件的使用。首先以讀寫(xiě)的方式為讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制的文件“em6輸出“要追加的會(huì)員人數(shù)”待輸入要追加的個(gè)數(shù)后,用for循環(huán)控制待輸入的會(huì)員信息。用fwrite(&newemp,sizeof(structemploee),1,fp)將該會(huì)員記錄寫(xiě)入文件。用fclose(fp)函數(shù)關(guān)閉文件,模塊運(yùn)行結(jié)束。10四、編碼該會(huì)員管理系統(tǒng)在MicrosoftVisualStudioc+程序下運(yùn)行,可實(shí)現(xiàn)對(duì)會(huì)員的增加、查詢(xún)、修改、打印,實(shí)現(xiàn)對(duì)會(huì)員信息的快速操作。1、增加會(huì)員信息2、查詢(xún)會(huì)員信息3、修改會(huì)員信息4、打印

14、會(huì)員信息5、輸出會(huì)員信息6、統(tǒng)計(jì)會(huì)員信息7、刪除會(huì)員信息11五、測(cè)試1.程序的初始界面對(duì)程序的功能進(jìn)行選擇輸入會(huì)員信息12Ldlj亙奔卷昌理八便篷舁4n4.Hl.言循簿,*D:ITragremFileXiMlicroioftVisualMfrudoAIM產(chǎn)Praj,X.l。噂匕口白1.e宜欄話曲項(xiàng):1侵入會(huì)國(guó)人減'打印會(huì)員信息i*C:PrograiBFllesXKicrosoftVisualStudioVKyProjecis0Debug0i.exe"性別年跳狀態(tài)會(huì)員編號(hào)專(zhuān)業(yè)恃二妻塞任意嘴場(chǎng)丁148bb«52BB52117424通通管不經(jīng)利信算所通用笠畫(huà).無(wú)跳舞

15、77;:13六、設(shè)計(jì)總結(jié)接到C語(yǔ)言課程設(shè)計(jì)的作業(yè)我十分高興,終于學(xué)到的東西可以運(yùn)用了。在老師的指導(dǎo)和大家的共同努力下,我們終于完成了程序的大體編制。程序中包括主函數(shù)、輸入模塊、查詢(xún)模塊、修改模塊、刪除模塊、統(tǒng)計(jì)模塊、輸出模塊、追加模塊。其中在輸入模塊中指針文件運(yùn)用的比較好,因?yàn)橹羔樖荂的一個(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)的方便快捷。不但使我們對(duì)C語(yǔ)言有更進(jìn)一步的鞏固和認(rèn)識(shí)還使我們懂得了團(tuán)隊(duì)協(xié)作的重要!讓我們將一年所學(xué)的C語(yǔ)言知識(shí)

16、學(xué)為所用,讓我們感覺(jué)到了它的神奇魅力。美中不足的就是:由于我們知識(shí)的不足以及條件的限制,本系統(tǒng)還有許多漏洞與不足,希望老師給以批評(píng)與幫助,我們會(huì)積極改正。而且本程序還處于初級(jí)階段的職工工資管理功能中,只實(shí)現(xiàn)了對(duì)會(huì)員信息的錄入、修改、查詢(xún)、統(tǒng)計(jì)、顯示等簡(jiǎn)單功能,功能較簡(jiǎn)單,不一定在實(shí)際中有大的用途,程序編排中可能有煩瑣之處有待進(jìn)一步簡(jiǎn)化。14致謝進(jìn)入大學(xué),系統(tǒng)的學(xué)習(xí)了c語(yǔ)言程序設(shè)計(jì)這門(mén)課,讓我對(duì)程序設(shè)計(jì)這門(mén)課有了更深一步的理解,能夠把自己所學(xué)用于生活,這是一件很讓人開(kāi)心的事。我會(huì)在以后的學(xué)習(xí)生活中努力的鍛煉自己,開(kāi)動(dòng)腦筋,用心思維,使自己在c語(yǔ)言程序設(shè)計(jì)這門(mén)課上有更一步的進(jìn)步。在此感謝,此次課程

17、設(shè)計(jì)中給予指導(dǎo)的老師和各位同學(xué)的幫助,使我們終于圓滿的完成了這次課設(shè)。15參考文獻(xiàn)1 .姜靈芝,余健.C語(yǔ)言課程設(shè)計(jì)案例精編.北京:清華大學(xué)出版社,20082 .王新,孫雷.C語(yǔ)言課程設(shè)計(jì).北京:清華大學(xué)出版社,20093 .游洪躍、彭駿、譚斌.C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)與課程設(shè)計(jì)教程.北京:清華大學(xué)出版社,20114 .王連相.C/C+程序設(shè)計(jì)上機(jī)指導(dǎo)與測(cè)試.北京:中國(guó)鐵道出版社,20065 .C語(yǔ)言函數(shù)手冊(cè),機(jī)械工業(yè)出版社,199916附錄1#include<stdio.h>#include<stdlib.h>#include<string.h>structno

18、de(charname20;/定義名稱(chēng)charsex4;/定義性別charyuanxi20;/定義院系charzhuanye20;/定義專(zhuān)業(yè)chartechang20;/定義特長(zhǎng)charzhuangtai20;/定義狀態(tài)intage;/定義年齡intnumber;/定義會(huì)員編號(hào)xh200;intmenu();intinput();voidfind(int);intinsert(int);voidprint(int);voidmain()(intc=0,d=0;while(1)(switch(menu()(case1:c=input();break;case2:find(c);break;cas

19、e3:c=insert(c);break;case4:print(c);break;case5exit(0);menu()(intd;system("cls");printf("n");printf("t協(xié)會(huì)會(huì)員管理系統(tǒng)n");printf("tn");printf("t|1|輸入會(huì)員信息。n");printf("t|2|指定查找會(huì)員。n");printf("t|3|添加會(huì)員信息。n");printf("t|4|打印會(huì)員信息。n");p

20、rintf("t|5|退出。n");printf("tnn");printf("t請(qǐng)選項(xiàng):");scanf("%d",&d);returnd;17input()/輸入會(huì)員信息(inti,n;printf("n");printf("輸入會(huì)員人數(shù):n");scanf("%d",&n);for(i=0;i<n;i+)(printf("名稱(chēng):",i+1);scanf("%s",);get

21、char();printf("性別:",i+1);scanf("%s",xhi.sex);getchar();printf("年齡:",i+1);scanf("%d",&xhi.age);printf("狀態(tài):",i+1);scanf("%s",xhi.zhuangtai);getchar();printf("會(huì)員編號(hào):",i+1);scanf("%d",&xhi.number);printf("專(zhuān)業(yè):&quo

22、t;,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");returnn;voidfind(intc)/按名稱(chēng)指定查找會(huì)員信息(inti;chara20;printf("n");printf(

23、"請(qǐng)輸入查找名稱(chēng):n");scanf("%s",a);getchar();for(i=0;i<c;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):&qu

24、ot;);printf("%dn",xhi.number);printf("專(zhuān)業(yè):");printf("%sn",xhi.zhuanye);printf("院系:");printf("%sn",xhi.yuanxi);18printf("特長(zhǎng):");printf("%sn",xhi.techang);system("pause");getchar();insert(intc)/添加會(huì)員信息inti,j;system("cls");printf("n");printf("添加會(huì)員人數(shù):n");scanf("%d",&j);getchar();for(i=0;i<j;i+)printf("會(huì)員名稱(chēng):",i+1);scanf("%s",);getchar();printf("會(huì)員性別:",i+1);scanf("%s&q

溫馨提示

  • 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)論