




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、*實踐教學*蘭州理工大學計算機與通信學院2011年春季學期C程序設計課程設計題目:協會會員管理系統專業班級:姓名:學號:指導教師:成績:協會會員管理系統是一個工作單位不可缺少的管理工具,它管理的數據對于公司的決策者和管理者來說都至關重要,所以協會會員管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來各個協會基本上都是靠傳統的人工方式來管理協會信息,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于信息的查找、更新和維護都帶來了不少的困難。隨著計算機技術的不斷提高,計算機作為知識經濟時代的產物,其強大的功能已為人們深刻認識,它已進入人類社
2、會的各個行業和領域并發揮著越來越重要的作用,成為人們工作和生活中不可缺少的一部分。而作為計算機應用的一部分,使用計算機對會員進行管理,具有手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高協會會員管理的效率,也是協會的科學化、正規化管理和與世界接軌的重要條件。協會會員管理系統作為一種管理軟件正在各協會中得到越來越廣泛的應用,且已達到了良好效果。關鍵字:協會會員管理系統效率檢索迅速管理軟件一、需求分析4.二、總體設計5.三、詳細設計6.1、數據定義6.2、算法流程圖6.四、編碼.11.五、測試12六、設計總結14致謝1.5參
3、考文獻16附錄11.7、需求分析協會會員管理系統:1、問題描述對協會的會員進行管理,包括插入、刪除、查找、排序等功能。2、要求會員對象包括姓名(字符串)、性別(字符)、出生年月(數字)、工作年月(數字)、學歷(字符串)、職務(字符串)、住址(字符串)、電話(字符串)等信息。(1)新增一名會員:將新增會員對象按姓名以字典方式會員管理文件中。(2)刪除一名會員:從會員管理文件中刪除一名會員對象。(3)查詢:從管會員理文件中查詢符合某些條件的會員。(4)添加:增加某個會員對象。(5)打印:按某種需要對會員對象文件進行打印。3、實現功能(1)由鍵盤輸入會員對象,以文件方式保存。程序執行時先將文件讀入內
4、存。(2)對對象中的“姓名”按字典順序進行排序。(3)對排序后的會員對象進行增、刪、查詢、修改、打印等操作。、總體設計1、輸入功能的實現:要想實現會員管理系統的輸入,必須要建立一個會員信息系統的抽象數據類型,其中會員信息以鏈表的存儲方式實現。由鍵盤輸入會員對象,以文件方式保存。程序執行時先將文件讀入內存。2、系統處理功能的實現:系統管理員根據協會的人員流動情況,在提示信息的提示下,選擇相應的服務進行操作。如對會員對象中的"姓名"按字典順序進行排序;對排序后的會員對象進行增、刪、查詢、修改、打印等操作。3、輸出的實現:根據選擇的操作,輸出與之對應的信息。綜上可以繪制出管理會員
5、信息功能的系統流程圖,如圖1所示圖1系統流程圖根據會員管理系統問題的分析和設計要求,可以得到該會員管理系統可以分為五個模塊:會員信息添加模塊、會員信息修改模塊、會員信息刪除模塊、會員信息查詢模塊、會員信息排序模塊。具系統功能結構如圖2所示。圖2系統功能圖三、詳細設計3.1數據定義structperson(charname20;/定義名稱charsex4;/定義性別charyuanxi20;/定義院系charzhuanye20;/定義專業chartechang20;/定義特長charzhuangtai20;/定義狀態intage;/定義年齡intnumber;/定義會員編號;3.2算法流程圖1)
6、保存函數Save()的算法流程圖如圖3所示。2)查詢函數search()的算法流程圖如圖所示。將人姓名圖4查詢函數search()的算法3)對輸入的信息進行尋找、并進行輸出。圖5查詢并輸出所查詢的信息圖6會員信息查看系統3.3模塊設計在我們設計的程序中:首先是定義了一個輸入輸出頭文件,接著是一個宏定義,下面是函數聲名部分,用structemploee結構體存儲和錄入該程序的所有數據,并把信息寫到文件emp.dat中,保存在磁盤中方便以后使用。主函數部分包括設計的全部信息,有指導教師、設計者以及設計時間,之后是輸出主菜單和調用函數,退出程序。此程序中包含的功能有:輸入模塊、查詢模塊、修改模塊、刪
7、除模塊、統計模塊、輸出模塊、追加模塊,各個功能設計如下:輸入模塊:該模塊是實現對會員號姓名崗位扣除實發的錄入并保存到文件“emp”中。模塊中運用voidinput()調用函數展開對文件的使用。模塊首先定義一個指針文件,又以寫的方式打開此文件,在打開的文件中輸入要管理的會員人數,用一個for循環按照職會員號姓名崗位扣除實發的格式循環獲取會員的記錄,接著又用了一個for循環將會員記錄寫入文件“emp”中,關閉文件。查詢模塊:實現按會員號查詢每個會員的信息,查詢顯示:會員號姓名崗位扣除實發。模塊開始是一個二級子菜單,一個是實現按會員號查詢,另一個是選擇退出返回主菜單,此處是利用switch選擇語句。
8、選擇按會員號查詢,首先是以只讀的方式打開文件“em6,然后輸入要查詢的會員號,用一個for循環來控制查詢的人數,之后在顯示器上顯示會員信息,程序如下:printf("會員號姓名崗位扣除實發n");printf("%6d%9s%6d%6d%6d%6dn",empi.no,,empi.post-wage,empi.prize,empi.deduct,pay);然后關閉文件。查詢會員信息已完成。修改模塊:該模塊實現按會員號對會員所有信息的修改。模塊開始是一個二級子菜單,一個是按會員號修改,另一個是選擇退出返回主菜單,此處是利用
9、switch選擇語句。選擇按會員號修改,首先是以讀寫的方式打開文件“empo輸入要修改的會員號,用一個for循環來控制輸入的數量,循環如下:for(i=0;fread(&empi,sizeof(structemploee),1,fp);i+)if(!strcmp(empi.no,num)break;則會出現該會員的信息如下:printf("記錄號會員號姓名性別年齡工資n");printf("%6d%6s%9s%4s%5d%6dn",i+1,empi.no,,empi.sex,empi.age,empi.salar);然后對會員的
10、信息進行修改,就可獲得新的會員記錄。之后文件指針指向該修改的記錄開頭,此時用newemp!蓋當前記錄,修改完成時系統會顯示修改后的文件數據:記錄號、會員號、姓名、性別、年齡、工資,然后關閉文件。修改會員信息已完成。刪除模塊:該模塊實現按會員號對會員所有信息的刪除。模塊開始是一個二級子菜單,一個是按會員號刪除記錄,另一個是選擇退出返回主菜單,此處是利用switch選擇語句。選擇按會員號刪除記錄,首先是只讀的方式打開一個二進制文件“em6。就會顯示刪除前的會員信息程序如下:printf("刪除前:n");printf("記錄號會員號姓名性別年齡工資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);輸入要刪除的會員號,如果存在由fp=fopen(“emp",“w+”);if(n=1)fclose(fp);exit(3);執行刪除命令:使用for(j=i+1;j<n;j+)fwrite(&empj,sizeof(structemploee),1,fp);循環依次改后會員信息寫入文件
12、,顯示刪除后文件中的會員信息。最后可以關閉文件,刪除會員信息已完成。統計模塊:根據輸入的工資,顯示大于該工資的會員的所有信息。模塊中運用voidstat()調用函數展開對文件的使用。首先是以只讀的方式打開文件“emp。輸入會員的工資數,運用for循環根據輸入的工資,顯示大于該工資的會員的所有信息。關閉文件,統計完成。輸出模塊:該模塊實現按會員號輸出會員的所有信息。在該模塊中運用voidoutput()調用函數展開對文件的使用。首先以只讀的方式打開一個文本文件”em6。操作無誤則用for循環輸出正在查詢會員的:記錄號會員號姓名性別年齡工資。這些完成后用fclose(fp)函數關閉文件。模塊運行結
13、束。追加模塊:該模塊實現添加會員的信息。在該模塊中運用voidrun()調用函數展開對文件的使用。首先以讀寫的方式為讀寫打開一個二進制的文件“em6輸出“要追加的會員人數”待輸入要追加的個數后,用for循環控制待輸入的會員信息。用fwrite(&newemp,sizeof(structemploee),1,fp)將該會員記錄寫入文件。用fclose(fp)函數關閉文件,模塊運行結束。10四、編碼該會員管理系統在MicrosoftVisualStudioc+程序下運行,可實現對會員的增加、查詢、修改、打印,實現對會員信息的快速操作。1、增加會員信息2、查詢會員信息3、修改會員信息4、打印
14、會員信息5、輸出會員信息6、統計會員信息7、刪除會員信息11五、測試1.程序的初始界面對程序的功能進行選擇輸入會員信息12Ldlj亙奔卷昌理八便篷舁4n4.Hl.言循簿,*D:ITragremFileXiMlicroioftVisualMfrudoAIM產Praj,X.l。噂匕口白1.e宜欄話曲項:1侵入會國人減'打印會員信息i*C:PrograiBFllesXKicrosoftVisualStudioVKyProjecis0Debug0i.exe"性別年跳狀態會員編號專業恃二妻塞任意嘴場丁148bb«52BB52117424通通管不經利信算所通用笠畫.無跳舞
15、77;:13六、設計總結接到C語言課程設計的作業我十分高興,終于學到的東西可以運用了。在老師的指導和大家的共同努力下,我們終于完成了程序的大體編制。程序中包括主函數、輸入模塊、查詢模塊、修改模塊、刪除模塊、統計模塊、輸出模塊、追加模塊。其中在輸入模塊中指針文件運用的比較好,因為指針是C的一個特色,它能有效的表示復雜的數據結構,動態的分配內存,方便的使用字符串、數組,可謂是C的精華。在程序設計中我們最大的收獲就是:我們真正從實踐的角度體會到了C語言在實際生活中的作用,也深刻體會到了它帶來的方便快捷。不但使我們對C語言有更進一步的鞏固和認識還使我們懂得了團隊協作的重要!讓我們將一年所學的C語言知識
16、學為所用,讓我們感覺到了它的神奇魅力。美中不足的就是:由于我們知識的不足以及條件的限制,本系統還有許多漏洞與不足,希望老師給以批評與幫助,我們會積極改正。而且本程序還處于初級階段的職工工資管理功能中,只實現了對會員信息的錄入、修改、查詢、統計、顯示等簡單功能,功能較簡單,不一定在實際中有大的用途,程序編排中可能有煩瑣之處有待進一步簡化。14致謝進入大學,系統的學習了c語言程序設計這門課,讓我對程序設計這門課有了更深一步的理解,能夠把自己所學用于生活,這是一件很讓人開心的事。我會在以后的學習生活中努力的鍛煉自己,開動腦筋,用心思維,使自己在c語言程序設計這門課上有更一步的進步。在此感謝,此次課程
17、設計中給予指導的老師和各位同學的幫助,使我們終于圓滿的完成了這次課設。15參考文獻1 .姜靈芝,余健.C語言課程設計案例精編.北京:清華大學出版社,20082 .王新,孫雷.C語言課程設計.北京:清華大學出版社,20093 .游洪躍、彭駿、譚斌.C語言程序設計實驗與課程設計教程.北京:清華大學出版社,20114 .王連相.C/C+程序設計上機指導與測試.北京:中國鐵道出版社,20065 .C語言函數手冊,機械工業出版社,199916附錄1#include<stdio.h>#include<stdlib.h>#include<string.h>structno
18、de(charname20;/定義名稱charsex4;/定義性別charyuanxi20;/定義院系charzhuanye20;/定義專業chartechang20;/定義特長charzhuangtai20;/定義狀態intage;/定義年齡intnumber;/定義會員編號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協會會員管理系統n");printf("tn");printf("t|1|輸入會員信息。n");printf("t|2|指定查找會員。n");printf("t|3|添加會員信息。n");printf("t|4|打印會員信息。n");p
20、rintf("t|5|退出。n");printf("tnn");printf("t請選項:");scanf("%d",&d);returnd;17input()/輸入會員信息(inti,n;printf("n");printf("輸入會員人數:n");scanf("%d",&n);for(i=0;i<n;i+)(printf("名稱:",i+1);scanf("%s",);get
21、char();printf("性別:",i+1);scanf("%s",xhi.sex);getchar();printf("年齡:",i+1);scanf("%d",&xhi.age);printf("狀態:",i+1);scanf("%s",xhi.zhuangtai);getchar();printf("會員編號:",i+1);scanf("%d",&xhi.number);printf("專業:&quo
22、t;,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");returnn;voidfind(intc)/按名稱指定查找會員信息(inti;chara20;printf("n");printf(
23、"請輸入查找名稱:n");scanf("%s",a);getchar();for(i=0;i<c;i+)(if(strcmp(a,)=0)(printf("會員性別:");printf("%sn",xhi.sex);printf("會員年齡:");printf("%dn",xhi.age);printf("狀態:");printf("%sn",xhi.zhuangtai);printf("會員編號:&qu
24、ot;);printf("%dn",xhi.number);printf("專業:");printf("%sn",xhi.zhuanye);printf("院系:");printf("%sn",xhi.yuanxi);18printf("特長:");printf("%sn",xhi.techang);system("pause");getchar();insert(intc)/添加會員信息inti,j;system("cls");printf("n");printf("添加會員人數:n");scanf("%d",&j);getchar();for(i=0;i<j;i+)printf("會員名稱:",i+1);scanf("%s",);getchar();printf("會員性別:",i+1);scanf("%s&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業主裝修拆墻合同樣本
- 加盟合同解約合同標準文本
- 加盟押金合同樣本
- 辦公電腦采購合同樣本
- 個人顧問聘用合同樣本樣本
- 東莞房屋出租合同范例
- 出售農家小院合同范例
- 供貨外包合同標準文本
- 個人臨時雇傭合同樣本
- 介紹公司雇傭合同樣本
- 二年級家庭教育講座省公開課獲獎課件市賽課比賽一等獎課件
- GB/T 24008-2024環境影響及相關環境因素的貨幣價值評估
- 人教pep版小學英語三年級下冊【全冊】單元測試卷期中期末復習試卷
- 低壓配電系統運行維護操作手冊
- 2024年憲法知識競賽必考重點知識(共50個)
- 2024年江蘇省淮安市中考一模物理試題(含答案解析)
- 風電場檢查合同協議書
- 佛云學校多功能室、電教室、體育館設備采購項目招標文件
- 人教八年級上冊數學《從分數到分式》教學課件
- 烈士陵園的數字化轉型與智能服務
- 施工風險技術風險
評論
0/150
提交評論