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

下載本文檔

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

文檔簡介

1、序號(hào):20122013年春季學(xué)期學(xué)術(shù)與工程實(shí)踐(計(jì)算機(jī))課設(shè)報(bào)告課設(shè)題目: 大學(xué)生公寓系統(tǒng) 指導(dǎo)老師: 何麗 班級(jí)計(jì)12-班 學(xué)號(hào) 姓名 依力夏提江艾買爾 總成績:評(píng)語:指導(dǎo)教師簽字: 日期:目錄學(xué)術(shù)與工程實(shí)踐(計(jì)算機(jī))1課設(shè)報(bào)告11課題主要內(nèi)容介紹1大學(xué)生公寓管理系統(tǒng)12系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)32.1系統(tǒng)設(shè)計(jì)32.1.1設(shè)計(jì)原則與設(shè)計(jì)思路32.1.2功能設(shè)計(jì)32.1.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)52.2系統(tǒng)實(shí)現(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)計(jì)功能382.2.8

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

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

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

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

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

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

8、以上的宿舍個(gè)數(shù)。(3)住宿情況查詢:u 輸入一個(gè)宿舍號(hào)時(shí),查詢出此宿舍的基本信息以及當(dāng)前的入住信息。將信息以列表形式顯示。顯示內(nèi)容包括:宿舍號(hào)、宿舍類型、學(xué)生姓名、入住日期、u 輸入一個(gè)學(xué)生的姓名,查詢出此學(xué)生的基本信息及住宿安排信息。將信息以列表形式顯示。u 輸入一個(gè)學(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è)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)如下所示:typedef struct Student /學(xué)生基本信息char num10; /學(xué)號(hào)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; /公寓號(hào)char room20; /宿舍編號(hào)int bed; /床位總數(shù)int sbed; /剩余床位數(shù)char rlevel10; /宿舍級(jí)別char remark50; /備注struct Room *next

10、;ro;ro *head2,*end2;typedef struct Lodging /住宿信息char num20; /學(xué)號(hào)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; /宿舍號(hào)char score20; /衛(wèi)生成績 ,以百分制給出char dateexam20; /檢查時(shí)間char r

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

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(請(qǐng)選擇要進(jìn)行的操作:);fflush(stdin);b=getchar();switch(b)case1: xuesheng();b

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

14、getchar();exit(1);printf(n請(qǐng)輸入學(xué)生基本信息:n); printf(學(xué)號(hào):);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(班級(jí):);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ù)輸入下一個(gè)學(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出錯(cuò)!n);return; dopb=(ro *)malloc(sizeof(ro);if(!pb)printf(內(nèi)存分配失敗!n);getchar();exit(1);printf(n請(qǐng)輸入公寓基本信息:n); printf(公寓號(hào):); fflush(stdin); gets(pb-num); printf(宿舍編號(hào):); gets(pb-room); printf(床位總數(shù):);scanf(%d,&pb-bed);printf(剩余床位數(shù):);scanf(%d,&pb-sbed);pri

17、ntf(宿舍級(jí)別:);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ù)輸入下一個(gè)宿舍的信息(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出錯(cuò)!n);return; dopb=(sc *)malloc(sizeof(sc);if(!pb)printf(內(nèi)存分配失敗!n);getchar();exit(1);printf(n請(qǐng)輸入宿舍號(hào):); fflush(stdin); gets(pb-num);printf(宿舍衛(wèi)生成績:); gets(pb-score); printf(檢查時(shí)間:); 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ù)輸入下一個(gè)宿舍的信息(y/n)?);ch=getchar();fflush(stdin); while(ch=y | ch=Y);fclose(fp); 5. 界面實(shí)現(xiàn)錄入界面:繼續(xù)錄入提示提示:返回主界面:6. 使用說明

20、這模塊包括學(xué)生基本信息,公寓信息,宿舍衛(wèi)生信息,三累數(shù)據(jù)的錄入與保存,然后按選項(xiàng)返回主界面。7. 技術(shù)難點(diǎn)因?yàn)樵谥鹘缑嫦牡淖咏缑娑野ㄟx項(xiàng)所以,循環(huán)返回主界面是有點(diǎn)不好解決,而且這里調(diào)用的函數(shù)有幾類容易弄混淆所以要注意調(diào)用。2.2.2 住宿安排功能開始1. 流程圖輸出提示信息輸入住宿登記信息保存到文件文件中輸出提示信息是否繼續(xù)輸入結(jié)束2. 功能:輸入宿舍等級(jí)信息然后保存到文件中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出錯(cuò)!n);return; dopb=(lo *)malloc(sizeof(lo);if(!pb)printf(內(nèi)存分配失敗!n);getchar();exit(1);printf(n請(qǐng)輸入學(xué)生宿舍信息n); printf(學(xué)號(hào):);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ù)輸入下一個(gè)學(xué)生的信息(y/n)?);ch=getchar();fflush(stdin); while(ch=y | ch=Y);fclose(fp); 5. 界面實(shí)現(xiàn)6. 使用說明按提示操作即可。7. 技術(shù)難點(diǎn)按住宿押金分高間與普通間2.

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

24、信息為:n);printf(學(xué)生學(xué)號(hào):%sn,pa-num); printf(宿舍名稱:%sn,pa-roomname); printf(入住時(shí)間:%sn,pa-datecheck); printf(押金:%sn,pa-money); printf(備注:%sn,pa-remark);printf(是否確定退宿:1:是;2:否;請(qǐng)選擇?。?;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é)號(hào)為 %s 的學(xué)生的信息!n,num);fflush(stdin);loop123:;/*修改學(xué)生信息*/ void xiugai1() lo *emp1;char num20; /學(xué)號(hào)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é)號(hào): );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é)號(hào)為%s 的學(xué)生住宿信息!n,num);elsesavedata1(); /* 把修改后的信息保存到文件中 */4. 界面實(shí)現(xiàn)5. 使用說明按提示操作即可6. 技術(shù)難點(diǎn)這里面要用到連續(xù)幾個(gè)函數(shù)的調(diào)用,首先找到學(xué)生信息,再修改,再保存所以極易出錯(cuò)需要謹(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(請(qǐng)選擇要進(jìn)行的操作:);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請(qǐng)輸入需要?jiǎng)h除的學(xué)生姓名:);ff

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

31、此。而且調(diào)用了很多子函數(shù)2.2.3 學(xué)生退學(xué)功能1. 流程圖2. 功能描述與學(xué)退宿不同的是學(xué)生退學(xué)找出學(xué)生信息后需要?jiǎng)h除該學(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請(qǐng)輸入需要退學(xué)的學(xué)生學(xué)號(hào)!n);fflush(stdin);gets(num);printf(該學(xué)生住宿信息為:);while(pa) if

32、(strcmp(num,pa-num)=0) flag=1; printf(%sn,H);printf(學(xué)生學(xué)號(hào):%sn,pa-num); printf(宿舍名稱:%sn,pa-roomname); printf(入住時(shí)間:%sn,pa-datecheck); printf(押金:%sn,pa-money); printf(備注:%sn,pa-remark);printf(是否要退學(xué)!n);printf(是:1;否:0;請(qǐng)選擇:);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é)號(hào)為 %s 的學(xué)生的住宿信息!n,num); fflush(stdin);loop111:;4. 界面實(shí)現(xiàn)查找退宿學(xué)生:確認(rèn)刪除該學(xué)生信息:5. 使用說明按提示操作即可6. 技術(shù)難點(diǎn)技術(shù)與學(xué)生退宿相似只多了個(gè)刪除功能。刪除信息以后還要保存到文件中刪除的時(shí)候用找到要?jiǎng)h除的節(jié)點(diǎn)以后再刪除該鏈表節(jié)點(diǎn)。2.2.6 全部信息輸出功能1.流程圖2.功能描述全部信息輸出功能中包括學(xué)生信息輸出,公寓信息輸出,衛(wèi)生信息輸出,登記信息輸出等幾個(gè)功能。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(請(qǐng)選擇要進(jìn)行的操作:); 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é)號(hào):

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(班級(jí):%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、公寓號(hào):%sn,pa1-num); printf(宿舍編號(hào):%sn,pa1-room); printf(床位總數(shù):%dn,pa1-bed); printf(剩余床位數(shù):%dn,pa1-sbed); printf(宿舍級(jí)別:%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(宿舍號(hào):%sn,

38、pa3-num); printf(衛(wèi)生成績:%sn,pa3-score); printf(檢查時(shí)間:%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é)號(hào):%sn,pa2-num); printf(宿舍名稱:%sn,pa2-roomname); printf(入住時(shí)間:%sn

39、,pa2-datecheck); printf(押金:%sn,pa2-money); printf(備注:%sn,pa2-remark); pa2=pa2-next; 8. 界面實(shí)現(xiàn)選擇界面:輸出學(xué)生信息:輸出宿舍信息:輸出衛(wèi)生信息:輸出登記信息:9. 使用說明按提示操作即可10. 技術(shù)難點(diǎn)找到個(gè)數(shù)據(jù)鏈表頭,然后分類輸出各個(gè)數(shù)據(jù),再輸出之前若頭節(jié)點(diǎn)空輸出無數(shù)據(jù)信息。2.2.4 查詢統(tǒng)計(jì)功能1. 流程圖2. 功能描述根據(jù)輸入的信息進(jìn)行條件查找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請(qǐng)選擇功能(14):);ch=getchar();fflush(stdin);switch(ch)case 1:flag=check1();if (flag=0)printf(無數(shù)據(jù)記

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

42、選項(xiàng)有誤,請(qǐng)重新輸入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(宿舍號(hào):%sn,pa-num); printf(衛(wèi)生成績:%sn,pa-score); printf(檢查時(shí)間:%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é)號(hào):%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(班級(jí):%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(公寓號(hào):%sn,pa-num); printf(宿舍編號(hào):%sn,pa-room); printf(床位總數(shù):%dn,pa-bed); printf(剩余床位數(shù):%dn,pa-sbed); printf(宿舍級(jí)別:%sn,pa-r

溫馨提示

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