-【優(yōu)秀文檔資料】C語言課程設計報告6651680(打印版)_第1頁
-【優(yōu)秀文檔資料】C語言課程設計報告6651680(打印版)_第2頁
-【優(yōu)秀文檔資料】C語言課程設計報告6651680(打印版)_第3頁
-【優(yōu)秀文檔資料】C語言課程設計報告6651680(打印版)_第4頁
-【優(yōu)秀文檔資料】C語言課程設計報告6651680(打印版)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、湖t謬介経儕學it電子信息工程學部c語言程序設計課程設計(報告)題 目宿舍管理系統(tǒng)姓 名 學 號 班 級 學 部電氣與信息工程學院指導教師 2010年12月目錄第一章緒論41.1弓i言41.2系統(tǒng)模塊41.3設計思想41.4系統(tǒng)框架4第二章 課程設計題目描述和要求52系統(tǒng)功能分析52.2可行性分析52. 2. 1技術可行性分析52. 2. 2經濟可行性分析52.3系統(tǒng)需求分析62. 3. 1傳統(tǒng)學校宿舍管理62. 3. 2系統(tǒng)優(yōu)點62. 3. 3性能需求62.4系統(tǒng)模塊圖62.5課程設計目的72.6課程設計題目描述和要求72.7系統(tǒng)功能流程圖82.8主界面92.81前臺主界面92. 82后臺登

2、錄界面9第三章詳細設計103關鍵模塊設計103.2主要存儲結構103.2. 1主要結構體(順序存儲結構)103. 2. 2代碼實現(xiàn)103.3自動分寢室模塊界而設計113. 3.1程序運行自動分寢室123. 3.2自動分寢室界面代碼123.4自動分寢室功能函數詳細設計143.4.1杳看、檢杳文件中總共人數143.4.2新增人員信息163. 4. 34男/女生自動分配寢室183.4.5 幫助213.4.6 退出22第四章總結23參考書目:25宿舍管理系統(tǒng)第一章緒論1.1引言該系統(tǒng)是有管理員通過系統(tǒng)管理學生信息,能根據學生學號、院系、寢室號 等來查詢學生的其他和關信息,新生入住能錄入新生的住宿信息,

3、能杳詢房間的 信息如入住人數、人員等。學生遇畢業(yè)退學等原因能刪除其住宿信息.系統(tǒng)采用c語言編寫,利用功能強大的microsoft visual c+ 6.0, ucdit32 為開發(fā)工具,用數據存儲在文件中,所以,它具備數據永久保存的功能。1.2系統(tǒng)模塊 用戶登錄模塊 用戶注冊模塊 信息查詢模塊 信息刪除模塊 自動分寢模塊 娛樂模塊1.3設計思想根據初步對宿舍相關信息的了解進行設計1.4系統(tǒng)框架基于dos下的窗體模型,作為系統(tǒng)框架,在microsoft visual c+ 6. 0 開發(fā)環(huán)境中,利用各種庫函數,進行相關模塊的設計,在系統(tǒng)中對需耍用到的文 件屮的數據進行一些基本操作。第二章 課程

4、設計題目描述和要求2. 1系統(tǒng)功能分析宿舍管理系統(tǒng)主要是對學生宿舍信息的管理,具體包描以下兒點:1、對學生 個人基本信息的查詢、刪除;2、對學生個人基本信息能作相應規(guī)則的排序;3、 在學生個人基本信息發(fā)生變更能及時進行更新;4、在宿舍增加成員工時能止確 地插入學生的個人基本信息。2. 2可行性分析管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,學校要發(fā)展,要更加高效率地把學 生有機地組織起來,就必須加強學校對學生宿舍的管理,即加強對學校內部的齊 個宿舍的管理,建立相適應的信息管理系統(tǒng)。學生宿舍管理系統(tǒng)的技術不斷向前發(fā)展,學校需求也在發(fā)生變化,因此學生 宿舍管理系統(tǒng)的設計與實施應考慮到將來可擴展的實際需要

5、,亦即可靈活增減 或更新各個子系統(tǒng),滿足不同時期的需要,保持長時間領先地位,成為智能建 筑的典范。學生宿舍管理系統(tǒng)設計時,對需要實現(xiàn)的功能進行了合理配置,并口這種配置 是可以改變的,設置其至在程序完成后,這種配置的改變也是可能的和方便的。2. 2. 1技術可行性分析本系統(tǒng)是運用了 c語言編程語言寫的,c語言具有有效性、靈活性、便于移植 等特點,可方便地構造出模擬現(xiàn)實問題的實體和操作;編寫出的程序具冇結構清 晰、易于擴充等優(yōu)良特性,適合于各種應用軟件、系統(tǒng)軟件的程序設計。用c 語言編寫的程序可讀性好,生成的代碼質量高,運行效率優(yōu)良。2. 2. 2經濟可行性分析1、本系統(tǒng)的開發(fā)成本包描開發(fā)時間,軟

6、件,碩件。2、開發(fā)時間為一個月,由本組人員利用課余的時間完成3、軟件成本為現(xiàn)有軟件,已經網上找到的免費開發(fā)工具,完全可以勝任開發(fā) 要求。4、碩件成本是已有的兩臺筆記本電腦、一臺臺式機,相關現(xiàn)有的外圍設備。 開發(fā)本系統(tǒng)的經濟條件具備,可以開發(fā)。2. 3系統(tǒng)需求分析2. 3. 1傳統(tǒng)學校宿舍管理一宜以來人們是使用傳統(tǒng)的人式管理用戶和數據,這種管理方式存在著許多 缺點,女口:效率低、保密性差,也不夠方便、靈活,另外隨著數據的不斷更新, 其管理的工作量也將大大壇加,這必然增加了管理人員的工作量和勞動強度,同 吋將產生大量的文件和數據,這給信息的查找、更新和維護都帶來了不少困難。2. 3. 2系統(tǒng)優(yōu)點人

7、工管理學校學生的個人基木信息實在存在很大的問題,而且浪費太多的人 力,物力。計算機一點一丁的入侵人類的生活,計算機管理代替人工管理是不可 避免的,學生信息管理這類不要求在管理上創(chuàng)新,機械般管理更加完美的詢提下, 使用計算機來管理可以大大提高工作效率。2. 3. 3性能需求1、cpu:奔騰166以上,內存:32m以上,顯示器色彩解析度:256色以上;2、硬盤可用空間:100m以上;3、操作系統(tǒng):wtn 2000/wtn xp/wtn 2003/wtn 7。2. 4系統(tǒng)模塊圖整個系統(tǒng)的框架結構與各個模塊的接口設計與簡介如圖1. 1所示。圖1. 1系統(tǒng)功能圖2. 5課程設計冃的11、熟練掌握c語言課

8、程屮所學的理論知識。1.2、通過綜合c語言的基本知識來解決實際問題。13、加強分析和解決問題的能力。2.6課程設計題目描述和要求1、系統(tǒng)設管理員一名,以菜單方式工作,密碼方式登陸。2、學生登錄,新生注冊。3、寢室成員信息的錄入功能(增加數據)。用結構體數據類型賦初值的方法 把成員信息送到各個結構體屮(但注意長度在定義范圍內),然后把它們存入 student2. txt 文本中。4、信息的刪除(刪除數據)。任意輸入一個寢室成員的名字,它能從文本中 刪除。5、寢室成員信息的查詢功能(查找數據),包括單一查詢和復合查詢。單一杳詢,任意選擇成員信息的一個關鍵字輸入,程序會找到、顯示并統(tǒng)計相應的數 據,

9、程序能反復查找;復合查詢,通過成員信息的年齡和寢室號查詢并顯示相應 的數據。6、寢室成員的口動分寢功能。將任意兩個成員分入寢室,能實現(xiàn)隨機分寢。7、娛樂功能。為了給系統(tǒng)增添趣味性,加入了一個簡單的游戲。2. 7系統(tǒng)功能流程圖系統(tǒng)功能流程如圖1. 2所示。登錄畀面圖1.2系統(tǒng)流程圖功能j完成j/判斷/j結束用戶登錄界面中用戶名選項和密碼為文件中已經存在的用戶和密碼,所以用 戶只需要選擇相應的用戶名和相應的密碼即口j。if (numo = ' 1' && numl = * i && num2 = ' n, && num3二二&

10、#39;u && num4 = 's' && mimao = '4' && mimal = '5' && mima2 = '2' && mima3 = '3' && mima4 = '2' && mima5二二'3') gotoxy(34, 15);printf (/z登錄成功n);while(zhu jie mian() ;else gotoxy (2& 15);

11、printf (,z登錄失敗,請重新輸入! n);getch();zhujiemian() ;2. 8主界面2. 81前臺主界而界而如圖13所示圖1.3前臺登陸圖2. 82后臺登錄界面界面如圖1.4所示圖14登錄后臺界面圖第三章詳細設計3.1關鍵模塊設計此次設計的宿舍管理系統(tǒng)主要包描兩大模塊主函數模塊、相應功能實現(xiàn)模 塊。主函數模塊主要實現(xiàn)調用各功能了函數,以及系統(tǒng)提示界面的顯示;和關功 能實現(xiàn)模塊主要實現(xiàn)用戶要求進行的相關的功能,女山 查詢、刪除、修改等。3. 2主要存儲結構3.2. 1主要結構體(順序存儲結構)主要用于在程序運行中實現(xiàn)臨時存儲學生的基本信息,其中變量flag為標 志域,當f

12、lag值為0時,表示該學生是離職或該員工信息被刪除;當flag值為 1吋,表示該員工基木信息口前為有效狀態(tài)。變量data作用為定位,主要用于 查詢、插入、刪除數據等的定位操作。3. 2. 2代碼實現(xiàn)struct student_type/未分配寢室的結構體charname10;姓名cheirsex4;/性別charage 4;/年齡charcla14;/學部班級cheirtel14;/電話stud_2all;struct deng_lu/個人登錄信息char zhang_hao20; cheir mi_ma7;yong_hu, stud;賬號/密碼struct yonghu /個人注冊信息&a

13、mp;&已分配好寢室學生信息char name10;/姓名char sex 4;性別cheir age 4;/年齡char cla14;/學部班級char tel14;電話int qins;/寢室號student, stud5, stud4,studlsize;#define m 1000sincludc "time, h#dcfinc size 100define num 2#dcfinc all 10000handle hconsolc; int n二all;/每個寢室的人數預定總人數3.3自動分寢室模塊界面設計宿舍管理系統(tǒng)口動分寢板塊界面主要實現(xiàn)顯示提示信息,方便用戶選

14、擇功能 序號。當用戶選擇相關功能序號后便執(zhí)行對應子功能函數。3. 3.1程序運行口動分寢室界面如圖3. 1所示:c:宿舍管理票統(tǒng)debug宿舍管悪統(tǒng).exe"歡迎來到自動分寢室模塊!12 3 4 5 0mwwd生助回 杳_新男女幫返自心配配刀室室請輸入你的選擇圖3.1白動分寢室板塊界面3. 3.2自動分寢室界面代碼1. 自動分寢室主代碼:void rnd_f ()system (cls);n=ren_s () ;/從文件中給n賦值。找到總人數!caid ();2. 界面設計代碼:void caid ()int nchoice;doprintf(*nnn);printf (/zttt

15、|printf cttt|歡迎來到自動分寢室模塊!丨);printf ("ttt|=|n);printf (,zttt 11 _ 查看總人數 printf cttt | 2 _新增人員信息 printf (,zttt | 3 _男生自動分配寢室printf (,zttt | 4 _女生自動分配寢室printf (ttt|5 _ 幫助n);n);n);n);n);/*xicru_f () */*save() */*outm_f () */*outw_f () */*help_f () */printf czttt|o _ 返回n);printf (t請輸入你的選擇:nz,);gotox

16、y (24, 14);seanf ("%d", &nchoice);ilandlechoice_f (nchoice);in);/*接受用戶的選擇*/while (nchoicc!=0);/*重復顯示主菜單直到用戶選擇退出*/i丿3. 功能調用代碼void ilandlechoice_f (int nchoice)switch (nchoice)case 1: xicru_f (); break;case 2: save (); break;case 3:outm_f (); break;case 4:outw_f ();break;case 5: hclp_f (

17、); break;case 0: gong_ncng_qu (); break;default:printf (z,nntt 錯誤選項! nnnn,z); system("pause");systcm("cls");break;3.4自動分寢室功能函數詳細設計3. 4.1杳看、檢杳文件中總共人數1. 界面如圖3. 2所示*c:宿舍苣理累統(tǒng)debug宿舍管湮至統(tǒng).exh請輸入你的選擇 1聯(lián)系電話12345678912 45612345678 7894651231214789748024 65432197821 3219874561

18、2 321654874565h青按任意鍵繼續(xù) 別男男女男女女女女性87 聰春有 總添議糸八 姓能"盧曹0天 彩忌掏 機 ®氣氣氣r齡 00099909 年 22211121室室s極 息配配 曙八s刀 b人自自 一生助回 查新男女幫返圖3. 2查看總人數2. 實現(xiàn)代碼int ren_s 0/察看總人數函數file *fp;char chall;int zon=0, i;int n2,n3;if (! (fp = fopen(file. txt", "a+")printfc打開文件出錯! );fseek(fp, ol, seek_end);n2 =

19、 ftell(fp);fseek(fp, ol, seek.set) ; /* 定位到文件開頭 */n3 二 n2 / (sizeof (student);zon二n3+1;return (zon);設計原理:利用文件指針得到file, txt的總長度n2=ftell(fp)o再利用 nl=sizeof (student)得到單個結構體占用的長度,用n2/nl即可得到文件中所包 含的總人數!void xieru_f ()/*查看總人數*/file *fp;int i;if (! (fp = fopencfile.txt", "eib+)printfc打開文件出錯! rt);

20、return ;printf (z,nn姓名 性別年齡學部班級聯(lián)系電話n);for(i=0; i<n; i+)if(frcad(&stud_2i, (sizcof(struct student_typc)+l),1, fp) != 1) printfc讀取文件出錯! );for(i=0; i<n; i+)printf (z,%-10s %-4s %-4s %-14s %-14snz,, stud_2i. name, stud_2i. sex, stud_2i. age, stud_2i. cla, stud_2i. tel);printf (總共有%d 人! nnnnz,,

21、 n);fclosc(fp);system ("pause");system ("cis");3. 設計原理:利用上一段代碼返回的人數n,對file, txt進行讀取操作(讀取到結構體): if(frcad(&stud_2i, (sizcof(struct student_typc)+l), 1, fp) != 1) printfc讀取文件出錯! );再利用for循壞對結構體進行顯示。3.4.2新增人員信息1. 界面如圖3.3所示c:宿舍莒理票統(tǒng)debug宿舍歡迎來到自動分寢室模塊!ywwl生助回 杳_新男女幫返 - 12 3 4 5 0八x刀

22、人員動動 03室室20技照丄姓名. 議往轟首閃(姓豹觀了嚮的翥/蠡亀需 依次輸入! 惴昆男2®曲氣112圖3. 3新增人員信息:2依次輸入!2. 實現(xiàn)代碼void savc()/*結構體保存到文件新增*/int i, a;file *fp;if (! (fp = fopen(file. txt", "ab+")/file, txt為未好寢室的人員的信息存儲文件! !printf c不能打開文件! rt);rcturn;printf (請輸入你想添加的人數:);scanf ("%d,&a);for (i=l;i<=a;i+)prin

23、tf (nt請輸入你耍添加的第%d個人員的信息n按照(姓名、性 別、年齡、學部、電話號碼)依次輸入! n,i);scanf("%s%s%s%s%s, stud_2iname, &stud_2i. sex, &stud_2i age, stud_2i. cla, stud_2i. tel);if(fwritc(&stud_2i, sizeof(struct studcnt_typc), 1, fp) != 1) printfc寫入文件出錯! n);fprintf(fp, "n");fclose(fp);system (,pausc,/);sy

24、stcm ("cis");3. 設計原理:新增人員信息為管理人員提供了增加新入學的暫時沒有分配寢室的人員信 息。主要是由 scanf (s%s%s%s%s, stud_2i name, &stud_2i sex, &stud_2i age, stud_2i. cla, stud_2i. tel);得到輸入的信息,用 if(fwritc(&stud_2i, sizeof(struct student_typc), 1, fp) != 1) printf ("寫入文件出錯! n);寫入至!j file, txt中。3. 4. 34男/女生口動分

25、配寢室1. 界面如圖3. 4、3. 5所示12 3 4 5 0室室 息配配刀05 -<nnsnn生助回 杳薪男女幫返請輸入你的選擇:3聯(lián)系電話1234567891245612345678雄傘 性別年齡 曜啟聘 男20 蘆添曲 男 20 電氣二亠二二以上2個同學被勞配到101寢室寢室號101101肓110以王2個同學被分配到102寢室102102請按任意鍵繼續(xù).圖3. 4男??趧臃峙鋵嬍覉Dli c:舍管理系統(tǒng)debug宿舍管湮系統(tǒng).ex*sib室室 ws 配配 來刀 動動 二二 0請輸入你的選擇 4姓去 性別年齡賈新林 女 20楊柳 女19以上2個同學被分配到個1

26、寢室圧級聯(lián)系電話7894651231214789748024101101電氣65432197821付良春 女 20 訐算機32198745612以上2個同學被夯配到個2寢室102102彭娟女 19 計算機3216548745651032.實現(xiàn)代碼 void outm f ()圖3. 5 a*生自動分配寢室圖/按男生自動分配好寢室file *fp;int i=0, k=101, j=0;if(!(fp = fopen("file, txt", "ab+")printf (,z不能打開文件! n);return;for(i=0; i<n; i+)if(

27、fread(&stud_2i, (sizeof(struct student_type)+l), 1, fp) !=1) printfc讀取文件出錯! );fclosc(fp);if (! (fp = fopen(student2txt", "ab+")printf (,z不能打開文件! n);return;for (i=0;i<n;i+)strcpy (studli namc, stud_2i name);strcpy (studli sex, stud_2i sex);strcpy (studli age, stud_2i age);strcpy

28、 (studli cla, stud_2i cla);strcpy (studli. tel, stud_2i. tel);printf cznn姓名 性別年齡學部班級聯(lián)系電話寢室號);for (i=0;i<n;i+)if (strcmp(stud_2i sex,"男)=0)studli qins二k;if(fwritc(&studli, sizeof(struct yonghu), 1, fp) != 1) printfc寫入文件出錯! );fprintf(fp, "n");j+;printf(tos %-4s %-4s %t4s %t4s %dn

29、", studl i name , studl i. sex , stud 1i age , studli cla, studli tel, studli qins);if (j二二num)j=0;printf (“以上%d個同學被分配到(1寢室nn,num, k);printf (n);k+;if (k-28)%100=0)k-二27;k+二100;fclosc(fp);printf (nnrt);system (,pausc,z);system ("cis");3.設計原理木段代碼主要先從me. txt中讀取數據到stud_2i結構體中,再利用 strepy

30、(studl i. name, stud_2i name);語句將 stud_2i中的數據復制至!j studl i中,利用 for (i=0; i<n; i+)if (strcmp(stud_2i. sex,,z男")=0)進行全體判斷,如果性別為男,則studl i. qins=k;把k賦值給結構體中 的qins再寫入到student2. txt中方便其他板塊使用。同時標志j+,到j (人 數)達到了預定的num時,j=0將標志清空,寢室號k+,但考慮到寢室中只能 從101-128, 201-228,于是加入if (k-28)%100=0)k-二27;k+二100;進行判定

31、!3.4.5幫助1. 界面如圖3. 6所示2. 實現(xiàn)代碼void hclp_f ()printf("請按照選項選擇相應的板塊,在實現(xiàn)自動分寢室前,請先確定 木路徑下有人員信息文件! nnr);system (,pausc,/);system ("cis");3. 設計原理為了方便管理人員使用此板塊,故設定次功能,沒什么技術含量,就一 printf ()函數!歡迎來到自動分寢室模塊!請按任意鍵繼續(xù) 請按照選貴舔勰騙拭 在實現(xiàn)自動分寢室前,請先確定本路徑下有人員信息文件!c:宿舍管理漿統(tǒng)debug宿舍昔裁統(tǒng).exe圖3. 6幫助界面圖室室 息配配 刀05 -<n

32、nsnn生助回 查新男女幫返12 3 4 5 03.4.6退出1.實現(xiàn)代碼在菜單函數中的:case 0:gong_ncng_qu ();break;2. 設計原理為了方便管理人員切換到其他板塊進行其他操作,故設定次菜單!也沒什么 技術含量。第四章總結管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,學校要發(fā)展,要更加高效率地把 學生冇機地組織起來,就必須加強學校對學生宿舍的管理,即加強對學校內部的 齊個宿舍的管理,建立相適應的信息管理系統(tǒng)。學生宿舍管理系統(tǒng)的技術不斷向前發(fā)展,學校需求也在發(fā)生變化,因此學 生宿舍管理系統(tǒng)的設計與實施應考慮到將來可擴展的實際需要,亦即可靈活增 減或更新各個子系統(tǒng),滿足不同時期

33、的需要,保持長時間領先地位,成為智能 建筑的典范。學生宿舍管理系統(tǒng)設計時,對需要實現(xiàn)的功能進行了合理配置,并且這種配 置是口j以改變的,設置甚至在程序完成后,這種配置的改變也是口j能的和方便的。在設計宿舍管理系統(tǒng)屮也自然會有遇到很多的怵i難、挫折,突然間的卡殼, 不過在我們的努力下問題被一個個的解決,如果要問我從這次課程設計中學到了 什么,好的,我告訴你,從剛開始大家都不清楚文件操作的種種規(guī)則到現(xiàn)在的熟 練運用,這就是收獲,這就是進步。比如剛開始遇到的一個問題經過兩次改正的一個現(xiàn)在算的上是完美的一段 代碼,問題是這樣的,在我們的file, txt 有很多學生的信息,而且是還未分 配寢室的,我們要做的是判定其中的總人數,因為下面我

溫馨提示

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

評論

0/150

提交評論