學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)(C語(yǔ)言).doc_第1頁(yè)
學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)(C語(yǔ)言).doc_第2頁(yè)
學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)(C語(yǔ)言).doc_第3頁(yè)
學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)(C語(yǔ)言).doc_第4頁(yè)
學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)(C語(yǔ)言).doc_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)課程設(shè)計(jì)題目:學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)班 級(jí): 計(jì) 121 學(xué) 號(hào): 120502 120504 120506 120505 姓 名:賈 文 超 楊 曉 紅 張 永 康 陸 秀 和 指導(dǎo)教師 : 劉 喜 梅 孫 強(qiáng) 范 周 瑜 2013 年 7 月 1 日北京信息工程學(xué)院信息技術(shù)教學(xué)與實(shí)驗(yàn)中心學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)功能:實(shí)現(xiàn)簡(jiǎn)單的學(xué)生宿舍基本信息管理,宿舍的基本信息包括樓號(hào)、房間號(hào)、面積、所容納人數(shù)、已入住人數(shù)等?;疽螅?.設(shè)計(jì)簡(jiǎn)單的菜單,能夠進(jìn)行系統(tǒng)功能選擇。2.實(shí)現(xiàn)信息的錄入功能。3.在已有信息的基礎(chǔ)上添加新的紀(jì)錄。4.刪除指定房間號(hào)的記錄。5.修改指定房間號(hào)的記錄。6.實(shí)現(xiàn)信息的瀏覽功能。7.按房間號(hào)查詢功能。8.按已入住人數(shù)排序功能。1.學(xué)生宿舍管理系統(tǒng)概述 4 1.1需求分析 4 1.2基本功能 42.學(xué)生宿舍管理系統(tǒng)總體設(shè)計(jì) 5 1.1管理流程圖 5 1.2管理員操作 53.模塊劃分6 1.1第一選擇模塊 6 1.2第二錄入模塊 7 1.3第三添加模塊 8 1.4第四刪除模塊 8 1.5第五修改模塊 9 1.6第六瀏覽模塊 9 1.7第七查詢模塊 10 1.8第八排序模塊 114.算法說(shuō)明115.各函數(shù)模塊功能11 1.1各自定義函數(shù)功能 116.程序測(cè)試127.結(jié)論14 1.1對(duì)調(diào)試中主要問(wèn)題進(jìn)行總結(jié)148.體會(huì)及建議14 1.1對(duì)自己設(shè)計(jì)進(jìn)行評(píng)價(jià),指出合理和不足之處,提出改進(jìn)的方案 149.學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)參與者14 1.1 小組成員信息14 1.學(xué)生宿舍管理系統(tǒng)概述1.1需求分析高校學(xué)生宿舍管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前端應(yīng)用程序的開(kāi)發(fā)則要求應(yīng)用程序能提供強(qiáng)大的數(shù)據(jù)操縱功能,界面友好、使用簡(jiǎn)單方便等特點(diǎn)。舊的手工紀(jì)錄的宿舍管理方式已經(jīng)不能適應(yīng)高速發(fā)展的信息化時(shí)代,新的宿舍管理系統(tǒng)開(kāi)發(fā)出來(lái)之后,學(xué)校的現(xiàn)有的宿舍信息管理將有很大的改觀,由過(guò)去的人工方式轉(zhuǎn)變?yōu)橛?jì)算機(jī)方式,由效率低、數(shù)據(jù)冗余、易產(chǎn)生錯(cuò)誤轉(zhuǎn)變?yōu)闄z索迅速、查找方便、可靠性高、存儲(chǔ)量大。這些優(yōu)點(diǎn)能夠極大地提高效率,也是學(xué)校科學(xué)化、正規(guī)化管理的重要條件。學(xué)生宿舍管理系統(tǒng)對(duì)于一個(gè)學(xué)校來(lái)說(shuō)是必不可少的組成部分。對(duì)于學(xué)生信息量比較龐大,需要記錄存檔的數(shù)據(jù)比較多的高校來(lái)說(shuō),人工記錄是相當(dāng)麻煩的,而且當(dāng)查找某條記錄時(shí),只能靠人工去一條條地查找,這樣不但麻煩而且效率非常低。當(dāng)今社會(huì)是飛速進(jìn)步的世界,計(jì)算機(jī)化管理正是適應(yīng)時(shí)代的產(chǎn)物。21世紀(jì)的今天,信息社會(huì)占著主流地位,計(jì)算機(jī)在各行各業(yè)中的運(yùn)用已經(jīng)得到普及。我們針對(duì)此,設(shè)計(jì)了一套學(xué)生宿舍管理系統(tǒng)。學(xué)生宿舍管理系統(tǒng)采用的是計(jì)算機(jī)化管理,系統(tǒng)做的盡量人性化,使用者會(huì)感到操作非常方便,管理人員需要做的就是將數(shù)據(jù)輸入到系統(tǒng)的數(shù)據(jù)庫(kù)中去。由于數(shù)據(jù)庫(kù)存儲(chǔ)容量相當(dāng)大,而且比較穩(wěn)定,適合較長(zhǎng)時(shí)間的保存,也不容易丟失。這無(wú)疑是為信息存儲(chǔ)量比較大的學(xué)校提供了一個(gè)方便、快捷的操作方式。本系統(tǒng)具有運(yùn)行速度快、安全性高、穩(wěn)定性好的優(yōu)點(diǎn),還具有修改功能,能夠快速的查詢學(xué)校所需的住宿信息。1.2基本功能高校學(xué)生宿舍管理系統(tǒng)的開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面,但本課題要實(shí)現(xiàn)的是前端應(yīng)用程序的開(kāi)發(fā)。在設(shè)計(jì)該系統(tǒng)時(shí),會(huì)盡可能地貼近我們學(xué)生,便于管理者操作。系統(tǒng)在實(shí)現(xiàn)上具有如下功能:1 設(shè)計(jì)簡(jiǎn)單的菜單,能夠進(jìn)行系統(tǒng)功能選擇。2 實(shí)現(xiàn)信息的錄入功能。3 在已有信息的基礎(chǔ)上添加新的記錄。4 刪除指定房間號(hào)的記錄。5 修改指定房間號(hào)的記錄6 實(shí)現(xiàn)信息的瀏覽功能7 按房間號(hào)查詢功能8 按已入住人數(shù)排序功能 2.學(xué)生宿舍管理系統(tǒng)總體設(shè)計(jì)1.1管理流程圖 對(duì)系統(tǒng)可劃分為三層流程圖: 第一層流程圖:輸入宿舍信息(房間號(hào)、樓號(hào)、容納人數(shù)、手機(jī)號(hào)等) 學(xué)生宿舍 管理系統(tǒng) 第二層流程圖: 添加 宿舍管理系統(tǒng)記錄刪除選擇操作修改 第三層流程圖:房間號(hào)對(duì)應(yīng)的宿舍信息 學(xué)生宿舍 管理系統(tǒng)選擇查詢信息原則 按已入住 人數(shù)排序 3.模塊劃分1.1選擇功能模塊圖 輸入 插入錄入存儲(chǔ) 刪除 修改主函數(shù)數(shù)據(jù)操作 查詢 統(tǒng)計(jì)輸出信息 排序 顯示1.2第二錄入模塊開(kāi)始輸入宿舍信息p-livenumberp-areap-room count2+ count3+count1+ end開(kāi)始1.3第三添加模塊 插入宿 舍信息用sort()函數(shù)排序 輸入宿 舍信息 將其入棧結(jié)束開(kāi)始1.4第四刪除模塊輸入刪除房間號(hào)for循環(huán),掃描存儲(chǔ)學(xué)生信息p-room:roomm != 刪除對(duì)應(yīng) 學(xué)生信息 結(jié)束1.5第五修改模塊開(kāi)始 輸入修改 房間號(hào)room for循環(huán),掃描 存儲(chǔ)學(xué)生信息 p-room; room = != 修改對(duì)應(yīng) 學(xué)生信息結(jié)束1.6第六瀏覽模塊(與下圖1.7類似) 開(kāi)始1.7第七查詢模塊 按宿舍 長(zhǎng)查詢 選擇查 詢方式 按宿舍號(hào)查詢 輸入要查找 宿舍長(zhǎng)姓名開(kāi)始循環(huán),掃描存儲(chǔ)的宿舍信息 輸入查找 的宿舍號(hào)p-dormitoryleader: dormitoryleaderp-room: room!=!= = =輸出宿舍信息輸出宿舍信息 結(jié)束1.8第八排序模塊 開(kāi)始開(kāi)始循環(huán),掃描存儲(chǔ)信息選出居住人數(shù)最小的宿舍與第一個(gè)宿舍交換在余下居住人數(shù)中選出最少的與第二個(gè)宿舍交換以此類推,直至排序完成 結(jié)束 4.算法說(shuō)明數(shù)據(jù)類型(整形、實(shí)型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運(yùn)算類型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增自減運(yùn)算、賦值運(yùn)算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));大程序的功能分解方法(即函數(shù)的調(diào)用與使用)等,利用數(shù)組對(duì)宿舍的記錄進(jìn)行循環(huán)輸入輸出,利用冒泡法記錄進(jìn)行排序,利用循環(huán)查找數(shù)組中某個(gè)數(shù)據(jù),對(duì)其進(jìn)行顯示,刪除,讀入和寫(xiě)入文檔等操作。 5.各函數(shù)模塊功能1.1各自定義函數(shù)功能1、void insert()(錄入系統(tǒng)所需的數(shù)據(jù);將錄入的數(shù)據(jù)存儲(chǔ)在文件中)2、void seek()(按要求對(duì)數(shù)據(jù)進(jìn)行查詢)3、void modify()(對(duì)數(shù)據(jù)進(jìn)行更新操作)4、void del()(對(duì)數(shù)據(jù)進(jìn)行刪除操作)5、void save()(對(duì)指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì)并輸出)6、void sort()(對(duì)指定數(shù)據(jù)排序并輸出)7、void reveal()(對(duì)指定數(shù)據(jù)產(chǎn)生報(bào)表輸出)8、void menu()(功能目錄) 6.程序測(cè)試顯示 請(qǐng)選擇菜單編號(hào) 請(qǐng)輸入待增加的宿舍數(shù) 請(qǐng)輸入第1個(gè)宿舍的房間號(hào) 輸入 4 1 1316請(qǐng)輸入第1個(gè)宿舍的宿舍長(zhǎng) 請(qǐng)輸入第1個(gè)宿舍的樓號(hào) 請(qǐng)輸入第1個(gè)宿舍的宿舍面積 賈文超 1 40請(qǐng)輸入第1個(gè)宿舍的房間容納人數(shù) 請(qǐng)輸入第1個(gè)宿舍的宿舍成員 6 賈文超/陸秀和/楊曉紅/張永康/李正明/偉力請(qǐng)輸入第1個(gè)宿舍的手機(jī)號(hào) 請(qǐng)輸入第1個(gè)宿舍的居住人數(shù)6錄入完畢! 請(qǐng)選擇菜單編號(hào) 6結(jié)果:所有宿舍信息為:房間號(hào) 宿舍長(zhǎng) 樓號(hào) 宿舍面積 房間容納人數(shù)1316 賈文超 1 40 6*宿舍成員 手機(jī)號(hào) 居住人數(shù)賈文超/陸秀和/楊曉紅/張永康/李正明/偉力6顯示 請(qǐng)選擇菜單編號(hào)輸入 2 -1.按房間號(hào)查詢- -2.按宿舍長(zhǎng)查詢- -3.退出本菜單-請(qǐng)選擇子菜單編號(hào): 1請(qǐng)輸入要查詢的宿舍的房間號(hào): 1316結(jié)果:房間號(hào) 宿舍長(zhǎng) 樓號(hào) 宿舍面積 房間容納人數(shù)1316 賈文超 1 40 6*宿舍成員 手機(jī)號(hào) 居住人數(shù)賈文超/陸秀和/楊曉紅/張永康/李正明/偉力6顯示 請(qǐng)選擇菜單編號(hào) 請(qǐng)輸入要修改的宿舍的房間號(hào)輸入 3 1316 - 請(qǐng)輸入新的宿舍面積 1.修改宿舍長(zhǎng) 2.修改樓號(hào) 3.修改宿舍面積 4.修改房間容納人數(shù) 5.修改宿舍成員 6.修改手機(jī)號(hào)號(hào)碼 7.修改居住人數(shù) 8.退出本菜單 - 請(qǐng)選擇子菜單編號(hào): 3 50請(qǐng)選擇子菜單編號(hào): 請(qǐng)選擇菜單編號(hào) 8 6結(jié)果:房間號(hào) 宿舍長(zhǎng) 樓號(hào) 宿舍面積 房間容納人數(shù)1316 賈文超 1 50 6*宿舍成員 手機(jī)號(hào) 居住人數(shù)賈文超/陸秀和/楊曉紅/張永康/李正明/偉力6 7.總結(jié)1.1對(duì)調(diào)試中主要問(wèn)題進(jìn)行總結(jié) 調(diào)試過(guò)程中,經(jīng)常會(huì)出現(xiàn)輸入或顯示為亂碼的情況,這往往是上下定義的數(shù)據(jù)類型不同或定義數(shù)組長(zhǎng)度不夠所造成的。有時(shí)候程序中還會(huì)出現(xiàn)錄入五個(gè)數(shù)據(jù)而只顯示四個(gè)的情況,這也往往是由于定義的結(jié)構(gòu)體數(shù)組長(zhǎng)度過(guò)低所造成的。像這類問(wèn)題只要把數(shù)據(jù)類型都定義成字符型,并且定義一個(gè)合理的數(shù)組長(zhǎng)度往往都能解決。在調(diào)試過(guò)程中我遇到最大的問(wèn)題出現(xiàn)在刪除模塊。在運(yùn)用“dormitory.txt”打開(kāi)文件并對(duì)某一數(shù)據(jù)進(jìn)行刪除后,往往顯示會(huì)多顯示一行數(shù)據(jù)。這是由于“dormitory.txt”寫(xiě)數(shù)據(jù)時(shí)只會(huì)覆蓋數(shù)據(jù)而不會(huì)清除原文件數(shù)據(jù),因此文件最后一行數(shù)據(jù)總會(huì)保留在原文件中。后來(lái)我先用“dormitory.txt”打開(kāi)文件并讀取文件中的數(shù)據(jù),然后再用“r”打開(kāi)原文件將刪除后的數(shù)據(jù)重新寫(xiě)入文件,最終檢測(cè)運(yùn)行成功。 8.體會(huì)及建議 1.1對(duì)自己設(shè)計(jì)進(jìn)行評(píng)價(jià),指出合理和不足之處,提出改進(jìn)的方案 本程序擁有很多的優(yōu)點(diǎn):第一,它具有作為一個(gè)宿舍管理系統(tǒng)的各個(gè)功能,包括錄入信息、添加信息、修改信息、刪除信息、查詢信息、統(tǒng)計(jì)信息六大主要功能。可以方便的進(jìn)行住宿學(xué)生信息的管理。第二,它的各個(gè)功能模塊在實(shí)現(xiàn)時(shí)非常方便,例如:錄入和添加學(xué)生信息可以自己控制錄入和添加的人數(shù);統(tǒng)計(jì)學(xué)生信息可以分學(xué)號(hào)、班級(jí)、專業(yè)等進(jìn)行統(tǒng)計(jì)等等。 “萬(wàn)事開(kāi)頭難”這句話在我編寫(xiě)程序的過(guò)程中得到了真正的體現(xiàn)。在最初編寫(xiě)的幾天里出現(xiàn)了這樣那樣的錯(cuò)誤一大堆,這主要是由于我對(duì)基礎(chǔ)知識(shí)掌握不扎實(shí)所造成的。但是隨后幾天里,我對(duì)課本知識(shí)進(jìn)行了回顧并不時(shí)的向老師和同學(xué)進(jìn)行請(qǐng)教,慢慢的對(duì)編寫(xiě)程序也開(kāi)始得心應(yīng)手起來(lái)。程序的編寫(xiě)總歸是一件費(fèi)時(shí)費(fèi)力的事情,但只要我們認(rèn)真編寫(xiě)和調(diào)試最后總能成功。 短短的兩周實(shí)習(xí)時(shí)間我收獲頗多,我相信經(jīng)過(guò)這次實(shí)習(xí)必將為我以后的深入學(xué)習(xí)打下扎實(shí)的基礎(chǔ)。 9.學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)參與者1.1小組成員信息 姓名 院系 班級(jí) 學(xué)號(hào) 賈文超 信息工程學(xué)院 機(jī)121 120502 陸秀和 信息工程學(xué)院 機(jī)121 120506 楊曉紅 信息工程學(xué)院 機(jī)121 120504 張永康 信息工程學(xué)院 機(jī)121 120505參考文獻(xiàn):1.軟件工程導(dǎo)論 第四版 清華大學(xué)出版 2.C#開(kāi)發(fā)實(shí)戰(zhàn)寶典 王小科 編著 清華大學(xué)出版社 3.C#開(kāi)發(fā)大全 劉麗霞 編著 清華大學(xué)出版 4.百度知道 5.C#與.net開(kāi)發(fā)網(wǎng) /net/附錄:源程序清單#include /*I/O函數(shù)*/#include /*其它說(shuō)明*/#include /*字符串函數(shù)*/#define BUFLEN 100 /* 緩沖區(qū)最大字符數(shù) */#define LEN 100 /* 房間號(hào)和宿舍長(zhǎng)最大字符數(shù),實(shí)際請(qǐng)更改 */#define N 1000 /* 最大宿舍人數(shù),實(shí)際請(qǐng)更改*/struct apartment /*結(jié)構(gòu)體*/char roomLEN+1; /* 房間號(hào) */char dormitoryleaderLEN+1; /* 宿舍長(zhǎng) */int dormitory; /* 樓號(hào) */char area3; /* 宿舍面積 */char holdLEN+1; /* 房間容納人數(shù) */char member1000; /* 宿舍成員 */char telLEN+1; /* 手機(jī)號(hào)號(hào)碼 */char livenumber30; /* 居住人數(shù) */stuN;int k=1,n,m; /* 定義全局變量 */ void readfile();/* 函數(shù)聲明 */void seek();void modify();void insert();void del();void reveal();void save();void menu(); int main() while(k)menu();system(pause);return 0; void help() printf(n0.歡迎使用宿舍系統(tǒng)幫助!n);printf(n1.進(jìn)入系統(tǒng)后,先刷新宿舍信息,再查詢;n);printf(n2.按照菜單提示鍵入數(shù)字代號(hào);n);printf(n3.增加宿舍信息后,切記保存按7;n);printf(n4.謝謝您的使用!n); void readfile()/* 建立信息 */char *p=dormitory.txt;FILE *fp;int i=0;if (fp=fopen(dormitory.txt,r)=NULL) printf(Open file %s error! Strike any key to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s,stui.room,stui.dormitoryleader,&stui.dormitory,stui.area,stui.hold,stui.member,stui.tel,stui.livenumber)=8)i+;i=i;fclose(fp);n=i;printf(錄入完畢!n); void seek() /*查找*/int i,item,flag;char s121; /* 以宿舍長(zhǎng)和房間號(hào)最長(zhǎng)長(zhǎng)度+1為準(zhǔn) */printf(-n);printf(-1.按房間號(hào)查詢-n);printf(-2.按宿舍長(zhǎng)查詢-n);printf(-3.退出本菜單-n);printf(-n);while(1)printf(請(qǐng)選擇子菜單編號(hào):);scanf(%d,&item);flag=0;switch(item)case 1:printf(請(qǐng)輸入要查詢的宿舍的房間號(hào):n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.room,s1)=0)flag=1;printf(房間號(hào) 宿舍長(zhǎng) 樓號(hào) 宿舍面積 房間容納人數(shù) n);printf(-n);printf(%0s %8s %3d %7s %11s n,stui.room,stui.dormitoryleader,stui.dormitory,stui.area,stui.hold);printf(*n);printf( 宿舍成員 手機(jī)號(hào) 居住人數(shù)n);printf(-n);printf( %0s %20s %8sn,stui.member,stui.tel,stui.livenumber);if(flag=0)printf(該房間號(hào)不存在!n); break;case 2:printf(請(qǐng)輸入要查詢的宿舍的宿舍長(zhǎng):n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.dormitoryleader,s1)=0)flag=1;printf(房間號(hào) 宿舍長(zhǎng) 樓號(hào) 宿舍面積 房間容納人數(shù) n);printf(-n);printf(%0s %8s %3d %7s %11s n,stui.room,stui.dormitoryleader,stui.dormitory,stui.area,stui.hold);printf(*n);printf( 宿舍成員 手機(jī)號(hào) 居住人數(shù)n);printf(-n);printf( %0s %20s %8sn,stui.member,stui.tel,stui.livenumber);if(flag=0)printf(該宿舍長(zhǎng)不存在!n); break;case 3:return;default:printf(請(qǐng)?jiān)?-3之間選擇n); void modify() /*修改信息*/int i,item,num;char area13,s1LEN+1,s2LEN+1; /* 以宿舍長(zhǎng)和房間號(hào)最長(zhǎng)長(zhǎng)度+1為準(zhǔn) */printf(請(qǐng)輸入要修改的宿舍的房間號(hào):n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.room,s1)=0) /*比較字符串是否相等*/num=i;printf(-n);printf(1.修改宿舍長(zhǎng)n);printf(2.修改樓號(hào)n);printf(3.修改宿舍面積n);printf(4.修改房間容納人數(shù)n);printf(5.修改宿舍成員n);printf(6.修改手機(jī)號(hào)號(hào)碼n);printf(7.修改居住人數(shù)n);printf(8.退出本菜單n);printf(-n);while(1)printf(請(qǐng)選擇子菜單編號(hào):);scanf(%d,&item);switch(item)case 1:printf(請(qǐng)輸入新的宿舍長(zhǎng):n);scanf(%s,s2);strcpy(stunum.dormitoryleader,s2); break;case 2:printf(請(qǐng)輸入新的樓號(hào):n);scanf(%d,&stunum.dormitory);break;case 3:printf(請(qǐng)輸入新的宿舍面積:n);scanf(%s,area1);strcpy(stunum.area,area1); break;case 4:printf(請(qǐng)輸入新的房間容納人數(shù):n);scanf(%s,s2);strcpy(stunum.hold,s2); break;case 5:printf(請(qǐng)輸入新的宿舍成員:n);scanf(%s,s2);strcpy(stunum.member,s2); break;case 6:printf(請(qǐng)輸入新的手機(jī)號(hào)號(hào)碼:n);scanf(%s,s2);strcpy(stunum.tel,s2); break;case 7:printf(請(qǐng)輸入新的居住人數(shù):n);scanf(%s,s2);strcpy(stunum.livenumber,s2); break;case 8:return;default:printf(請(qǐng)?jiān)?-8之間選擇n); void sort()/*按居住人數(shù)排序*/int i,j,*p,*q,s; char temp100;for(i=0;ii;j-)if(strcmp(stuj-1.livenumber,stuj.livenumber)0)strcpy(temp,stuj-1.room);strcpy(stuj-1.room,stuj.room);strcpy(stuj.room,temp);strcpy(temp,stuj-1.dormitoryleader);strcpy(stuj-1.dormitoryleader,stuj.dormitoryleader);strcpy(stuj.dormitoryleader,temp);strcpy(temp,stuj-1.area);strcpy(stuj-1.area,stuj.area);strcpy(stuj.area,temp);strcpy(temp,stuj-1.hold);strcpy(stuj-1.hold,stuj.hold);strcpy(stuj.hold,temp);strcpy(temp,stuj-1.member);strcpy(stuj-1.member,stuj.member);strcpy(stuj.member,temp);strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,stuj.tel);strcpy(stuj.tel,temp);strcpy(temp,stuj-1.livenumber);strcpy(stuj-1.livenumber,stuj.livenumber);strcpy(stuj.livenumber,temp); p=&stuj-1.dormitory; q=&stuj.dormitory; s=*q; *q=*p; *p=s; void insert() /*插入函數(shù)*/ int i=n,j,flag;printf(請(qǐng)輸入待增加的宿舍數(shù):n);scanf(%d,&m);do flag=1;while(flag)flag=0;printf(請(qǐng)輸入第 %d 個(gè)宿舍的房間號(hào):n,i+1);scanf(%s,stui.room);for(j=0;ji;j+)if(strcmp(stui.room,stuj.room)=0)printf(已有該房間號(hào),請(qǐng)檢查后重新錄入!n);flag=1;break; /*如有重復(fù)立即退出該層循環(huán),提高判斷速度*/printf(請(qǐng)輸入第 %d 個(gè)宿舍的宿舍長(zhǎng):n,i+1);scanf(%s,stui.dormitoryleader);printf(請(qǐng)輸入第 %d 個(gè)宿舍的樓號(hào):n,i+1);scanf(%d,&stui.dormitory);printf(請(qǐng)輸入第 %d 個(gè)宿舍的宿舍宿舍面積(m2):n,i+1);scanf(%s,stui.area);printf(請(qǐng)輸入第 %d 個(gè)宿舍的房間容納人數(shù):n,i+1);scanf(%s,stui.hold);printf(請(qǐng)輸入第 %d 個(gè)宿舍的宿舍成員(注:人員之間加/):n,i+1);scanf(%s,stui.member);printf(請(qǐng)輸入第 %d 個(gè)宿舍的手機(jī)號(hào):n,i+1);scanf(%s,stui.tel);printf(請(qǐng)輸入第 %d 個(gè)宿舍的居住人數(shù):n,i+1);scanf(%s,stui.livenumber);if(flag=0) i=i;i+;while(in+m);n+=m;printf(錄入完畢!nn);sort(); void del()int i,j,flag=0;char s1LEN+1;printf(請(qǐng)輸入要?jiǎng)h除宿舍的房間號(hào):n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.room,s1)=0) flag=1;for(j=i;jn-1;j+)stuj=stuj+1;if(flag=0)printf(該房間號(hào)不存在!n);if(flag=1)printf(刪除成功,顯示結(jié)果請(qǐng)選擇菜單6n);n-; void reveal() int i;printf(所有宿舍的信息為:n);printf(房間號(hào) 宿舍長(zhǎng) 樓號(hào) 宿舍面積 房間容納人數(shù) n);printf(-n);for(i=0;in;i+) printf(%0s %7s %5d %5s %9s n,

溫馨提示

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