大學(xué)生公寓管理-依力_第1頁
大學(xué)生公寓管理-依力_第2頁
大學(xué)生公寓管理-依力_第3頁
大學(xué)生公寓管理-依力_第4頁
大學(xué)生公寓管理-依力_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、序號:20122013年春季學(xué)期學(xué)術(shù)與工程實踐(計算機)課設(shè)報告課設(shè)題目: 大學(xué)生公寓系統(tǒng) 指導(dǎo)老師: 何麗 班級計12-班 學(xué)號 姓名 依力夏提江艾買爾 總成績:評語:指導(dǎo)教師簽字: 日期:目錄學(xué)術(shù)與工程實踐(計算機)1課設(shè)報告11課題主要內(nèi)容介紹1大學(xué)生公寓管理系統(tǒng)12系統(tǒng)設(shè)計與實現(xiàn)32.1系統(tǒng)設(shè)計32.1.1設(shè)計原則與設(shè)計思路32.1.2功能設(shè)計32.1.3數(shù)據(jù)結(jié)構(gòu)設(shè)計52.2系統(tǒng)實現(xiàn)72.2.1學(xué)生數(shù)據(jù)錄入功能82.2.2住宿安排功能172.2.3 退宿管理功能202.2.4 宿舍調(diào)配功能252.2.3學(xué)生退學(xué)功能282.2.6 全部信息輸出功能312.2.4查詢統(tǒng)計功能382.2.8

2、 密碼修改功能443系統(tǒng)測試和結(jié)果分析473.1宿舍人數(shù)檢測功能474課題收獲與總結(jié)484.1理論知識應(yīng)用體會484.2課題應(yīng)用軟件環(huán)境的體會484.3其它體會485參考文獻491 課題主要內(nèi)容介紹大學(xué)生公寓管理系統(tǒng)一、實訓(xùn)目的通過本實訓(xùn),學(xué)生應(yīng)具有創(chuàng)建一個命令行模式的大學(xué)生公寓管理系統(tǒng)。1、掌握結(jié)構(gòu)體類型數(shù)據(jù)的定義方法和引用方法。2、掌握有關(guān)C語言程序設(shè)計的文件打開,關(guān)閉,輸入,輸出以及定位。3、培養(yǎng)C語言程序編程規(guī)范。二、實訓(xùn)內(nèi)容及要求一.1.1.1.1 1. 項目需求通過此系統(tǒng)可以實現(xiàn)如下功能:1) 學(xué)生、宿舍、宿舍衛(wèi)生等數(shù)據(jù)信息的錄入2) 住宿安排3) 退宿管理4) 宿舍調(diào)配5) 學(xué)生

3、退學(xué)6) 全部信息輸出7) 查詢統(tǒng)計8) 修改密碼9) 退出系統(tǒng)注:大學(xué)生公寓管理系統(tǒng)系統(tǒng)作為一個用來進宿舍管理的應(yīng)用軟件,在對其進行需求分析的過程中,需要充分考慮系統(tǒng)的可用性和有效性,聯(lián)系實際應(yīng)用,從而得到合理的軟件。一.1.1.1.2 2. 設(shè)計要求1)畫出功能模塊圖。2)整個程序中不能只有main函數(shù),必須按照功能模塊圖進行功能函數(shù)編寫。功能函數(shù)不能少于10個。3)學(xué)生基本信息、宿舍基本信息、住宿登記信息、衛(wèi)生信息必須以結(jié)構(gòu)體形式儲存。4)學(xué)生基本信息、宿舍基本信息、住宿登記信息、衛(wèi)生信息必須存儲在各自文件中。對文件進行操作,實現(xiàn)增加、刪除、修改、查詢等操作。一.1.1.1.3 3. 開

4、發(fā)環(huán)境操作系統(tǒng): Windows 2000/XP開發(fā)語言: C語言2 系統(tǒng)設(shè)計與實現(xiàn)2.1 系統(tǒng)設(shè)計2.1.1 設(shè)計原則與設(shè)計思路設(shè)計原則:根據(jù)大學(xué)生公寓安排的實際情況,做出可行,可用的實用程序。設(shè)計思路:大學(xué)生公寓的安排包括各類數(shù)據(jù)的錄入和分類保存,按性別學(xué)號來住進有空余床位的宿舍。系統(tǒng)用密碼登入其中有密碼修改功能。還有住宿安排后的調(diào)宿舍和退宿舍,這是涉及到信息的查找很修改。學(xué)生退學(xué)后信息的刪除,各類按學(xué)號,宿舍號來查找宿舍的衛(wèi)生等基本情況,大致就是這些,我首先對信息分類,然后輸入,存到文件中,這里要用到鏈表和文件。數(shù)據(jù)按情況建立各類結(jié)構(gòu)體。用文件實現(xiàn)密碼登錄和修改,先輸入,保存,判斷數(shù)據(jù)的

5、可行性,再然后實現(xiàn)修改,刪除,查找,輸出等各項功能。2.1.2 功能設(shè)計大學(xué)生公寓管理系統(tǒng)學(xué)生數(shù)據(jù)錄入住宿安排退宿管理宿舍調(diào)配學(xué)生退學(xué)全部信息輸出查詢統(tǒng)計密碼修改退出系統(tǒng)根據(jù)項目需求,該程序至少要有9個功能,即如下結(jié)構(gòu)所示。系統(tǒng)功能結(jié)構(gòu)圖如下所示:下面是對程序功能設(shè)計的介紹。一.1.1.1.4 1、數(shù)據(jù)信息的錄入(1)學(xué)生信息的錄入:學(xué)號不允許重復(fù)。 錄入信息保存在student.dat文件中。(2)宿舍基本信息的錄入:錄入信息保存在room.dat文件中。(3)衛(wèi)生情況的錄入:錄入信息保存在score.dat文件中。一.1.1.1.5 2、住宿安排根據(jù)輸入的學(xué)號、宿舍號、入住日期等信息,將住

6、宿情況登記在文件lodging.dat中,同時修改宿舍信息“room.dat”文件中的剩余床位數(shù)。注意:(1)在安排宿舍時候,男生、女生的區(qū)別。(2)當(dāng)某宿舍的剩余床位數(shù)為0時,給出“人員已滿,不可安排”的提示。一.1.1.1.6 3、退宿管理根據(jù)輸入的學(xué)生姓名或者宿舍號,首先檢索出該學(xué)生的當(dāng)前住宿信息。辦理退宿手續(xù),退還住宿押金。其中,高間住宿押金為1000元,標(biāo)準(zhǔn)間押金為500元。將備注信息修改為“已退宿”,注意同時修改room.dat文件中的剩余床位數(shù)。一.1.1.1.7 4、宿舍調(diào)配宿舍調(diào)配包括修改、刪除、查詢、退出等功能。在進行宿舍調(diào)配操作前必須輸入正確的用戶密碼才能進行操作。修改操

7、作指將某個學(xué)生從一個宿舍調(diào)配到另外一個宿舍,不滿足調(diào)配條件時(如另外一個宿舍已滿),給出信息提示。一.1.1.1.8 5、 學(xué)生退學(xué)當(dāng)在student.dat中刪除一個學(xué)生信息時,自動地在lodging.dat中刪除此人的住宿信息。一.1.1.1.9 6、輸出全部信息輸出全部的學(xué)生基本信息、宿舍基本信息、住宿安排信息。一.1.1.1.10 7、查詢統(tǒng)計功能(不局限于以下3種查詢)(1)宿舍基本信息查詢輸入宿舍號或宿舍級別(可選擇),查出該宿舍或該級別宿舍的基本信息并顯示輸出。(2)衛(wèi)生情況查詢及統(tǒng)計輸入某宿舍號,查詢該宿舍的衛(wèi)生成績。輸入某檢查時間,查詢改天的所有宿舍的衛(wèi)生情況,并統(tǒng)計出90分

8、以上的宿舍個數(shù)。(3)住宿情況查詢:u 輸入一個宿舍號時,查詢出此宿舍的基本信息以及當(dāng)前的入住信息。將信息以列表形式顯示。顯示內(nèi)容包括:宿舍號、宿舍類型、學(xué)生姓名、入住日期、u 輸入一個學(xué)生的姓名,查詢出此學(xué)生的基本信息及住宿安排信息。將信息以列表形式顯示。u 輸入一個學(xué)生的姓名,查詢出該學(xué)生所住宿舍的衛(wèi)生情況。將信息以列表形式顯示。一.1.1.1.11 8、修改密碼可以修改用戶密碼。一.1.1.1.12 9、退出系統(tǒng)2.1.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計數(shù)據(jù)結(jié)構(gòu)設(shè)計如下所示:typedef struct Student /學(xué)生基本信息char num10; /學(xué)號char name10; /姓名char

9、sex10; /性別char home20; /籍貫char brithday20; /出生日期char nation10; /民族char tel20; /聯(lián)系電話char college20; /學(xué)院char team10;struct Student *next;stu;stu *head,*end;typedef struct Room /宿舍基本信息char num20; /公寓號char room20; /宿舍編號int bed; /床位總數(shù)int sbed; /剩余床位數(shù)char rlevel10; /宿舍級別char remark50; /備注struct Room *next

10、;ro;ro *head2,*end2;typedef struct Lodging /住宿信息char num20; /學(xué)號char roomname20; /宿舍名稱char datecheck20; /入住日期char money20; /住宿押金 高間1000,標(biāo)準(zhǔn)間500char remark50; /備注struct Lodging *next;lo;lo *head3,*end3;typedef struct Score /宿舍衛(wèi)生成績信息char num20; /宿舍號char score20; /衛(wèi)生成績 ,以百分制給出char dateexam20; /檢查時間char r

11、emark50; /備注struct Score *next;sc;sc *head4,*end4;學(xué)生基本信息文件:student.dat宿舍基本信息文件:room.dat宿舍等級信息文件:lodging.dat宿舍衛(wèi)生信息文件:score.dat2.2 系統(tǒng)實現(xiàn)2.2.1 學(xué)生數(shù)據(jù)錄入功能1. 學(xué)生信息錄入流程圖N 錯誤開始結(jié)束輸出提示信息輸入錄入信息選返回數(shù)字、日期、重復(fù)性檢查提示錯誤信息寫入文件Y 正確2. 功能描述輸入學(xué)生信息,公寓信息,宿舍衛(wèi)生信息然后保存到文件3. 通過提示信息使用者將信息錄入到系統(tǒng)中,錄入后系統(tǒng)對數(shù)字信息和日期信息進行合法性檢測,然后對編號進行重復(fù)性檢測,若無問

12、題則將文件寫入文件中,若有問題則提示使用者重新輸入,最后選返回,回到主界面, 4. 源代碼void xueshengshuju()char b;void xuesheng();void sushe();void weisheng();doprintf(-n);printf(n (1)學(xué)生信息的錄入nn);printf( (2)公寓基本信息的錄入nn);printf( (3)衛(wèi)生情況的錄入nn);printf( (4)返回nn);printf(-n);printf(請選擇要進行的操作:);fflush(stdin);b=getchar();switch(b)case1: xuesheng();b

13、reak;case2: sushe();break;case3: weisheng();break;case4: goto top00;default:printf(輸入錯誤請重新輸入!);while(1);top00:;/*學(xué)生基本信息錄入*/void xuesheng()stu *pb;FILE *fp; char ch;if(fp=fopen(student.dat,ab)=NULL) /*追加模式打開*/ printf(打開文件student.dat出錯!n);return; dopb=(stu *)malloc(sizeof(stu);if(!pb)printf(內(nèi)存分配失敗!n);

14、getchar();exit(1);printf(n請輸入學(xué)生基本信息:n); printf(學(xué)號:);fflush(stdin); gets(pb-num); printf(姓名:); gets(pb-name);printf(性別:);gets(pb-sex);printf(籍貫:); gets(pb-home);printf(生日:); gets(pb-brithday);printf(民族:); gets(pb-nation);printf(聯(lián)系電話:); gets(pb-tel);printf(學(xué)院:); gets(pb-college);printf(班級:);gets(pb-te

15、am);printf(-n);pb-next=NULL;/* 把新記錄插入鏈表中 */if(head=NULL)head=pb;end=pb;else end-next=pb;end=pb;fwrite(pb,sizeof(stu),1,fp); /* 把新記錄插入文件中 */printf(n繼續(xù)輸入下一個學(xué)生的信息(y/n)?);ch=getchar();fflush(stdin); while(ch=y | ch=Y);fclose(fp); /*宿舍基本信息錄入*/void sushe()ro *pb;FILE *fp; char ch;int i=0;intt=0;if(fp=fope

16、n(room.dat,ab)=NULL) /*追加模式打開*/ printf(打開文件room.dat出錯!n);return; dopb=(ro *)malloc(sizeof(ro);if(!pb)printf(內(nèi)存分配失敗!n);getchar();exit(1);printf(n請輸入公寓基本信息:n); printf(公寓號:); fflush(stdin); gets(pb-num); printf(宿舍編號:); gets(pb-room); printf(床位總數(shù):);scanf(%d,&pb-bed);printf(剩余床位數(shù):);scanf(%d,&pb-sbed);pri

17、ntf(宿舍級別:);fflush(stdin); gets(pb-rlevel);printf(備注:); gets(pb-remark);printf(-n);pb-next=NULL;/* 把新記錄插入鏈表中 */if(head2=NULL)head2=pb;end2=pb;else end2-next=pb;end2=pb;fwrite(pb,sizeof(ro),1,fp); /* 把新記錄插入文件中 */printf(n繼續(xù)輸入下一個宿舍的信息(y/n)?);ch=getchar();fflush(stdin); while(ch=y | ch=Y);fclose(fp); /*宿

18、舍衛(wèi)生情況錄入*/void weisheng()sc *pb;FILE *fp; char ch;if(fp=fopen(score.dat,ab)=NULL) /*追加模式打開*/ printf(打開文件score.dat出錯!n);return; dopb=(sc *)malloc(sizeof(sc);if(!pb)printf(內(nèi)存分配失敗!n);getchar();exit(1);printf(n請輸入宿舍號:); fflush(stdin); gets(pb-num);printf(宿舍衛(wèi)生成績:); gets(pb-score); printf(檢查時間:); gets(pb-d

19、ateexam); printf(備注:); gets(pb-remark); printf(-n);pb-next=NULL;/* 把新記錄插入鏈表中 */if(head4=NULL)head4=pb;end4=pb;else end4-next=pb;end4=pb;fwrite(pb,sizeof(sc),1,fp); /* 把新記錄插入文件中 */printf(n繼續(xù)輸入下一個宿舍的信息(y/n)?);ch=getchar();fflush(stdin); while(ch=y | ch=Y);fclose(fp); 5. 界面實現(xiàn)錄入界面:繼續(xù)錄入提示提示:返回主界面:6. 使用說明

20、這模塊包括學(xué)生基本信息,公寓信息,宿舍衛(wèi)生信息,三累數(shù)據(jù)的錄入與保存,然后按選項返回主界面。7. 技術(shù)難點因為在主界面夏的子界面而且包括選項所以,循環(huán)返回主界面是有點不好解決,而且這里調(diào)用的函數(shù)有幾類容易弄混淆所以要注意調(diào)用。2.2.2 住宿安排功能開始1. 流程圖輸出提示信息輸入住宿登記信息保存到文件文件中輸出提示信息是否繼續(xù)輸入結(jié)束2. 功能:輸入宿舍等級信息然后保存到文件中3. 描述:先按提示輸入然后再按提示選擇是否繼續(xù)輸入4. 源代碼*住宿情況錄入*/void zhusuanpai() lo *pb;char ch;int b=1;int i=0;FILE *fp; if(fp=fop

21、en(lodging.dat,ab)=NULL) /*追加模式打開*/ printf(打開文件lodging.dat出錯!n);return; dopb=(lo *)malloc(sizeof(lo);if(!pb)printf(內(nèi)存分配失敗!n);getchar();exit(1);printf(n請輸入學(xué)生宿舍信息n); printf(學(xué)號:);fflush(stdin); gets(pb-num); printf(宿舍名稱:); gets(pb-roomname);printf(入住日期:);fflush(stdin);gets(pb-datecheck);printf(住宿押金:);g

22、ets(pb-money);printf(備注:);gets(pb-remark);pb-next=NULL;/* 把新記錄插入鏈表中 */if(head3=NULL)head3=pb;end3=pb;else end3-next=pb;end3=pb;fwrite(pb,sizeof(lo),1,fp); /* 把新記錄插入文件中 */printf(n繼續(xù)輸入下一個學(xué)生的信息(y/n)?);ch=getchar();fflush(stdin); while(ch=y | ch=Y);fclose(fp); 5. 界面實現(xiàn)6. 使用說明按提示操作即可。7. 技術(shù)難點按住宿押金分高間與普通間2.

23、2.3 退宿管理功能1. 流程圖開始按提示輸入需要退宿的學(xué)生號輸出該生住宿信息確認(rèn)是否退宿修改原先信息結(jié)束2. 功能描述按學(xué)號查找住宿信息然后輸出信息,按提示操作,確認(rèn)是否退宿管,修改原先住宿信息3. 源代碼/*退宿管理*/void tuisuguanli()char num10;lo *pa;void xiugai1();int flag=0;int i;pa=head3;printf(請輸入要退宿的學(xué)生學(xué)號:);gets(num);fflush(stdin);while(pa)if(strcmp(num,pa-num)=0)flag=1; printf(%sn,H);printf(該生住宿

24、信息為:n);printf(學(xué)生學(xué)號:%sn,pa-num); printf(宿舍名稱:%sn,pa-roomname); printf(入住時間:%sn,pa-datecheck); printf(押金:%sn,pa-money); printf(備注:%sn,pa-remark);printf(是否確定退宿:1:是;2:否;請選擇!:);scanf(%d,&i);if(i=1) xiugai1();fflush(stdin);printf(修改結(jié)束!);goto loop123;else goto loop123; pa=pa-next;if (flag=0)fflush(stdin);p

25、rintf(n在鏈表中未找到學(xué)號為 %s 的學(xué)生的信息!n,num);fflush(stdin);loop123:;/*修改學(xué)生信息*/ void xiugai1() lo *emp1;char num20; /學(xué)號char roomname20; /宿舍名稱char datecheck20; /入住日期char money20; /住宿押金 高間1000,標(biāo)準(zhǔn)間500char remark50; /備注void shanchu1(char* num);void savedata1();int check3();int flag=0;flag=check3();printf(n輸入要修改的學(xué)生

26、學(xué)號: );fflush(stdin);gets(num);printf(n輸入要修改的宿舍名稱: );gets(roomname);printf(n輸入要修改的入住日期: );gets(datecheck);printf(n輸入要修改的住宿押金: );gets(money);printf(n輸入要修改的備注: );gets(remark);emp1=head3;while(emp1)if(strcmp(num,emp1-num)=0) flag=1;strcpy(emp1-num,num);strcpy(emp1-roomname,roomname);strcpy(emp1-datechec

27、k,datecheck);strcpy(emp1-money,money);strcpy(emp1-remark,remark);emp1=emp1-next;if (flag=0)printf(n在鏈表中未找到 學(xué)號為%s 的學(xué)生住宿信息!n,num);elsesavedata1(); /* 把修改后的信息保存到文件中 */4. 界面實現(xiàn)5. 使用說明按提示操作即可6. 技術(shù)難點這里面要用到連續(xù)幾個函數(shù)的調(diào)用,首先找到學(xué)生信息,再修改,再保存所以極易出錯需要謹(jǐn)慎。2.2.4 宿舍調(diào)配功能1.流程圖2.功能描述宿舍調(diào)配中包括原來宿舍信息的修改,刪除,查詢,增加等功能3.源代碼/*宿舍調(diào)配*/v

28、oid sushetiaopei() void zengjia(); char ch,name10; int check(); void xiugai1(); void shanchu(char *name); void chaxun(char *name); void readdata(void); void readdata2(void); void readdata3(void); void readdata4(void); void search(char *name); void student_shuju(); void tuichu(); int flag=0;doprintf(

29、-n); printf( (1)修改n); printf( (2)刪除n); printf( (3)查詢n); printf( (4)增加n); printf( (5)返回n); printf(-n); printf(請選擇要進行的操作:);fflush(stdin);ch=getchar();switch(ch)case1: flag=check3(); if(flag=0)printf(無數(shù)據(jù)記錄n);elsexiugai1(); break;case2:flag=check();if (flag=0)printf(無數(shù)據(jù)記錄n);elseprintf(n請輸入需要刪除的學(xué)生姓名:);ff

30、lush(stdin);gets(name); shanchu(name); break;case3:flag=check();if (flag=0)printf(無數(shù)據(jù)記錄n);elseprintf(n請輸入查找姓名:);fflush(stdin); gets(name); chaxun(name); break;case4:zengjia();break; case5: goto top01; break;default:printf(n輸入選項有誤,請重新輸入);while(1);top01:;4.界面實現(xiàn)5.使用說明按提示操作即可6.技術(shù)難點宿舍調(diào)配用了switch選擇語句,跟主界面類

31、此。而且調(diào)用了很多子函數(shù)2.2.3 學(xué)生退學(xué)功能1. 流程圖2. 功能描述與學(xué)退宿不同的是學(xué)生退學(xué)找出學(xué)生信息后需要刪除該學(xué)生的所有信息并退還押金。3. 源代碼void xueshengtuixue()/ char num10; int flag=0; int i; void shanchu1(char *num); lo *pa; pa=head3; flag=check3();if (flag=0)printf(無數(shù)據(jù)記錄n);elseprintf(n請輸入需要退學(xué)的學(xué)生學(xué)號!n);fflush(stdin);gets(num);printf(該學(xué)生住宿信息為:);while(pa) if

32、(strcmp(num,pa-num)=0) flag=1; printf(%sn,H);printf(學(xué)生學(xué)號:%sn,pa-num); printf(宿舍名稱:%sn,pa-roomname); printf(入住時間:%sn,pa-datecheck); printf(押金:%sn,pa-money); printf(備注:%sn,pa-remark);printf(是否要退學(xué)!n);printf(是:1;否:0;請選擇:);scanf(%d,&i);fflush(stdin);if(i=1)shanchu1(num);printf(退學(xué)成功!住宿信息已刪除。n);goto loop11

33、1;else goto loop111; pa=pa-next;if (flag=0) fflush(stdin); printf(n在鏈表中未找到學(xué)號為 %s 的學(xué)生的住宿信息!n,num); fflush(stdin);loop111:;4. 界面實現(xiàn)查找退宿學(xué)生:確認(rèn)刪除該學(xué)生信息:5. 使用說明按提示操作即可6. 技術(shù)難點技術(shù)與學(xué)生退宿相似只多了個刪除功能。刪除信息以后還要保存到文件中刪除的時候用找到要刪除的節(jié)點以后再刪除該鏈表節(jié)點。2.2.6 全部信息輸出功能1.流程圖2.功能描述全部信息輸出功能中包括學(xué)生信息輸出,公寓信息輸出,衛(wèi)生信息輸出,登記信息輸出等幾個功能。7. 源代碼vo

34、id quanbuxinxi()/ void chu1();void chu2(); void chu3(); void chu4(); char ch; int flag=0; do printf(-n); printf( (1)輸出學(xué)生全部信息n); printf( (2)輸出宿舍全部信息n); printf( (3)輸出宿舍衛(wèi)生全部信息n); printf( (4)輸出宿舍登記全部信息n); printf( (5)返回n); printf(-n); printf(請選擇要進行的操作:); fflush(stdin); ch=getchar();fflush(stdin); switch(

35、ch) case1: chu1(); break; case2: chu2(); break; case3: chu3(); break; case4: chu4(); break; case5: goto top010; break; while(1);top010: fflush(stdin); ;void chu1() stu *pa; int flag=0; pa=head; flag=check(); if(flag=0) printf(無數(shù)據(jù)記錄!n); else while(pa) printf(%sn,H); printf(姓名:%sn,pa-name); printf(學(xué)號:

36、%sn,pa-num); printf(性別:%sn,pa-sex); printf(生日:%sn,pa-brithday); printf(民族:%sn,pa-nation); printf(聯(lián)系電話:%sn,pa-tel); printf(學(xué)院:%sn,pa-college); printf(班級:%sn,pa-team); pa=pa-next;void chu2() ro *pa1; pa1=head2; int flag=0; flag=check1(); if(flag=0) printf(無數(shù)據(jù)記錄!n); elsewhile(pa1) printf(%sn,H);printf(

37、公寓號:%sn,pa1-num); printf(宿舍編號:%sn,pa1-room); printf(床位總數(shù):%dn,pa1-bed); printf(剩余床位數(shù):%dn,pa1-sbed); printf(宿舍級別:%sn,pa1-rlevel); printf(備注:%sn,pa1-remark); pa1=pa1-next;void chu3() sc *pa3; pa3=head4; int flag=0;flag=check2(); if(flag=0) printf(無數(shù)據(jù)記錄!n); else while(pa3) printf(%sn,H); printf(宿舍號:%sn,

38、pa3-num); printf(衛(wèi)生成績:%sn,pa3-score); printf(檢查時間:%sn,pa3-dateexam); printf(備注:%sn,pa3-remark); pa3=pa3-next; void chu4() lo *pa2; pa2=head3; int flag=0; flag=check3(); if(flag=0) printf(無數(shù)據(jù)記錄!n); else while(pa2) printf(%sn,H); printf(學(xué)生學(xué)號:%sn,pa2-num); printf(宿舍名稱:%sn,pa2-roomname); printf(入住時間:%sn

39、,pa2-datecheck); printf(押金:%sn,pa2-money); printf(備注:%sn,pa2-remark); pa2=pa2-next; 8. 界面實現(xiàn)選擇界面:輸出學(xué)生信息:輸出宿舍信息:輸出衛(wèi)生信息:輸出登記信息:9. 使用說明按提示操作即可10. 技術(shù)難點找到個數(shù)據(jù)鏈表頭,然后分類輸出各個數(shù)據(jù),再輸出之前若頭節(jié)點空輸出無數(shù)據(jù)信息。2.2.4 查詢統(tǒng)計功能1. 流程圖2. 功能描述根據(jù)輸入的信息進行條件查找3. 源代碼void chaxuntongji()/ void search(char *room); void search1(char *num); v

40、oid search2(char *name); char ch; char room10; char num10; char name10; int flag=0;do fflush(stdin);printf(%sn,H);printf(1-宿舍基本信息查詢n);printf(2-衛(wèi)生基本數(shù)據(jù)查詢n);printf(3-住宿情況查詢n);printf(4-返回n);printf(%sn,H);printf(n請選擇功能(14):);ch=getchar();fflush(stdin);switch(ch)case 1:flag=check1();if (flag=0)printf(無數(shù)據(jù)記

41、錄n);elseprintf(n請輸入查找宿舍編號:);gets(room);search(room);break;case 2:flag=check2();if (flag=0)printf(無數(shù)據(jù)記錄n);elseprintf(n請輸入查找宿舍號:);gets(num);search1(num);break;case 3: flag=check();if (flag=0)printf(無數(shù)據(jù)記錄n);elseprintf(n請輸入查找學(xué)生姓名:);gets(name);search2(name);break;case 4:goto top;break;default :printf(n輸入

42、選項有誤,請重新輸入n);while(1);top:; void search1(char *num) sc *pa;int flag=0;pa=head4;while(pa)if(strcmp(num,pa-num)=0)flag=1; printf(%sn,H);printf(宿舍號:%sn,pa-num); printf(衛(wèi)生成績:%sn,pa-score); printf(檢查時間:%sn,pa-dateexam); printf(備注:%sn,pa-remark); pa=pa-next;if (flag=0)printf(n在鏈表中未找到宿舍 %s 衛(wèi)生信息!n,num);void

43、 search2(char *name) stu *pa;int flag=0;pa=head;while(pa)if(strcmp(name,pa-name)=0)flag=1; printf(%sn,H); printf(姓名:%sn,pa-name);printf(學(xué)號:%sn,pa-num); printf(性別:%sn,pa-sex); printf(生日:%sn,pa-brithday); printf(民族:%sn,pa-nation); printf(聯(lián)系電話:%sn,pa-tel); printf(學(xué)院:%sn,pa-college); printf(班級:%sn,pa-team); pa=pa-next;if (flag=0)printf(n在鏈表中未找到 %s 的信息!n,name);void search(char *room)ro *pa;int flag=0;pa=head2;while(pa)if(strcmp(room,pa-room)=0)flag=1; printf(%sn,H);printf(公寓號:%sn,pa-num); printf(宿舍編號:%sn,pa-room); printf(床位總數(shù):%dn,pa-bed); printf(剩余床位數(shù):%dn,pa-sbed); printf(宿舍級別:%sn,pa-r

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論