欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      宿舍管理系統(tǒng)設(shè)計(jì)(合集五篇)

      時(shí)間:2019-05-14 15:04:05下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《宿舍管理系統(tǒng)設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《宿舍管理系統(tǒng)設(shè)計(jì)》。

      第一篇:宿舍管理系統(tǒng)設(shè)計(jì)

      宿舍管理系統(tǒng)設(shè)計(jì)

      1.引言

      1.1 項(xiàng)目背景

      本系統(tǒng)開(kāi)發(fā)的主要目的是采用信息化和網(wǎng)絡(luò)化的方式,用于對(duì)學(xué)校宿舍進(jìn)行管理,方便管理員對(duì)宿舍進(jìn)行管理以及對(duì)同學(xué)們宿舍生活需求提供相應(yīng)的幫助和記錄,達(dá)到及時(shí)、有效的掌握學(xué)生信息以及處理寢室問(wèn)題的目的。

      1.2 文檔概述

      該文檔編寫(xiě)的主要目的是為了定義系統(tǒng)索要實(shí)現(xiàn)的功能, 以及實(shí)現(xiàn)的方法和流程.同時(shí)進(jìn)一步規(guī)范開(kāi)發(fā)流程, 提高開(kāi)發(fā)質(zhì)量。

      1.3定義 1.零報(bào)

      無(wú)論宿舍有無(wú)異常情況都必須在每天的規(guī)定時(shí)間上報(bào)給寢室管理員。如果有學(xué)生異常情況的出現(xiàn),則相關(guān)負(fù)責(zé)人應(yīng)作出相應(yīng)的處理,若學(xué)生沒(méi)有出現(xiàn)異常事件,則只需在系統(tǒng)中提醒無(wú)異常即可。

      2.異常情況

      如果宿舍出現(xiàn)有同學(xué)在規(guī)定時(shí)間內(nèi)沒(méi)有回宿舍,或在宿舍突發(fā)疾病等異常情況,則有寢室長(zhǎng)報(bào)告給宿舍管理員,由宿舍管理員填寫(xiě)報(bào)告并幫助解決問(wèn)題

      3.待處理

      當(dāng)出現(xiàn)異常情況時(shí),若事件尚未解決,則狀態(tài)為“待處理”狀態(tài),表明此事件需要由相應(yīng)的管理員進(jìn)行處理解決。

      4.已處理

      當(dāng)異常事件被處理之后,該事件被標(biāo)明“已處理”狀態(tài),則表明該事件已被處理。

      2.任務(wù)概述

      2.1 目標(biāo)

      根據(jù)《宿舍管理需求分析報(bào)告》編寫(xiě)此文檔,用于指導(dǎo)開(kāi)發(fā)人員根據(jù)客戶(hù)功能需求進(jìn)行相應(yīng)的程序開(kāi)發(fā)。

      2.2 系統(tǒng)網(wǎng)絡(luò)配置及構(gòu)架方案

      宿舍管理系統(tǒng)依托于湖北文理學(xué)院官網(wǎng)平臺(tái)構(gòu)建,邏輯結(jié)構(gòu)為環(huán)型拓?fù)浣Y(jié)構(gòu),如圖一 所示,學(xué)校學(xué)工處管理員通過(guò)網(wǎng)絡(luò)平臺(tái)可以發(fā)送消息,每一位宿舍管理員,學(xué)生,學(xué)生教師都能看到。宿舍管理員也可以通過(guò)官網(wǎng)發(fā)送宿舍管理情況到服務(wù)器,學(xué)校管理員,學(xué)生等都可以登錄查看。

      宿舍管理系統(tǒng)網(wǎng)絡(luò)邏輯架構(gòu)圖服務(wù)器宿舍管理員學(xué)生學(xué)工處管理員學(xué)生教師

      圖一:網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D

      2.3 系統(tǒng)架構(gòu)圖

      宿舍管理系統(tǒng)???湖北文理學(xué)院官網(wǎng)???學(xué)生教師學(xué)生教師???學(xué)校管理員宿舍管理員???學(xué)生

      圖二:系統(tǒng)構(gòu)架圖

      2.4 條件與限制

      系統(tǒng)使用用戶(hù)主要為宿舍管理員、宿舍住宿學(xué)生、學(xué)生教師、學(xué)校管理員,因此,系統(tǒng)因?qū)儆趯W(xué)校應(yīng)用系統(tǒng)的范疇內(nèi),運(yùn)行在學(xué)校的內(nèi)部網(wǎng)站中。信息系統(tǒng)運(yùn)行的前提和假設(shè)如下:

      (1)學(xué)生基本信息以及宿舍各種活動(dòng)信息(包括學(xué)生的姓名、學(xué)號(hào)、寢室號(hào)、所在班級(jí)等信息)已經(jīng)給定。

      (2)學(xué)生進(jìn)出宿舍以及各種生活需求的相關(guān)信息有學(xué)校的內(nèi)部存儲(chǔ)機(jī)制進(jìn)行存儲(chǔ),學(xué)生采用刷卡式。

      (3)學(xué)生宿舍的信息每24小時(shí)進(jìn)行一次統(tǒng)計(jì),統(tǒng)計(jì)時(shí)間為每天23:00,并建立相關(guān)的通報(bào)機(jī)制,及時(shí)將學(xué)生的信息變更報(bào)告給寢室管理員,對(duì)于個(gè)別信息(如學(xué)生晚歸寢室等)及時(shí)報(bào)告給學(xué)校以及學(xué)生教師。

      (4)信息的反饋與通報(bào)由相應(yīng)的寢室管理員為基礎(chǔ),向相應(yīng)的學(xué)生教師反映,再由學(xué)生教師向?qū)W校反映。

      (5)系統(tǒng)用戶(hù)僅限學(xué)校學(xué)工處統(tǒng)一管理,不對(duì)外提供公眾訪問(wèn)。(6)進(jìn)入系統(tǒng)的歷史記錄均要求保存。

      3.總體設(shè)計(jì)

      3.1 需求概述

      系統(tǒng)宿舍管理情況要求每日在規(guī)定時(shí)間內(nèi)上報(bào)給寢室管理員,一旦發(fā)現(xiàn)異常情況立即上報(bào),并通知相關(guān)負(fù)責(zé)人來(lái)處理。上報(bào)可采取電話,傳真,網(wǎng)絡(luò)等方式。比較重大事件就采取先電話上報(bào),涉及到相關(guān)人員或有必要需在網(wǎng)絡(luò)上通知一下。一般情況下,寢室管理員,學(xué)工處管理員,學(xué)生教師可以在網(wǎng)絡(luò)上發(fā)布消息。其他人登陸網(wǎng)站后可以接收到消息。學(xué)生可以反饋信息給寢室管理員。

      3.2 功能分配

      本系統(tǒng)主要包含了零報(bào)和學(xué)生宿舍異常處理模塊、學(xué)生基本信息管理模塊、學(xué)生日常進(jìn)出寢室活動(dòng)模塊、學(xué)生寢室故障登記模塊、學(xué)生寢室測(cè)評(píng)模塊、信息通報(bào)模塊、學(xué)生卡消費(fèi)信息模塊、學(xué)生宿舍安全模塊。

      各模塊的簡(jiǎn)要功能說(shuō)明如下:

      1.零報(bào)和學(xué)生宿舍異常處理模塊:主要對(duì)學(xué)生宿舍出現(xiàn)的一些問(wèn)題進(jìn)行記錄。如果當(dāng)天出現(xiàn)學(xué)生晚歸、學(xué)生宿舍設(shè)施故障、學(xué)生安全問(wèn)題等,則對(duì)其進(jìn)行相應(yīng)的信息記錄,當(dāng)天如果出現(xiàn)異常情況,則進(jìn)行通報(bào),若沒(méi)有,則零報(bào)。對(duì)于異常事件,若已經(jīng)解決,則顯示為“已處理”,未經(jīng)解決,則顯示“未處理”。

      2.學(xué)生基本信息管理模塊:對(duì)學(xué)生的基本信息進(jìn)行管理,如學(xué)生姓名、學(xué)號(hào)、電話、所在班級(jí)、學(xué)生教師、寢室號(hào)等信息進(jìn)行存儲(chǔ)記錄,以便以后出現(xiàn)問(wèn)題進(jìn)行查詢(xún)解決。

      3.學(xué)生日常進(jìn)出寢室活動(dòng)模塊:記錄學(xué)生進(jìn)出寢室的時(shí)間,以及學(xué)生貴重物品攜帶的情況,學(xué)生刷卡進(jìn)出寢室,若帶有物品需在相應(yīng)的機(jī)器上登記并判斷,來(lái)限定學(xué)生進(jìn)出寢室,并予以記載。

      4. 學(xué)生寢室故障登記模塊:學(xué)生寢室出現(xiàn)各種故障,如斷水?dāng)嚯?、設(shè)施損壞等,均可上網(wǎng)登記。

      5.學(xué)生寢室測(cè)評(píng)模塊:對(duì)學(xué)生寢室進(jìn)行相應(yīng)的測(cè)評(píng),如衛(wèi)生測(cè)評(píng)、五星級(jí)寢室測(cè)評(píng)、文明寢室測(cè)評(píng)等記錄。

      6.信息通報(bào)模塊:對(duì)宿舍發(fā)生的新聞、寢室測(cè)評(píng)結(jié)果、異常情況處理、通報(bào)寢室及學(xué)生等信息進(jìn)行發(fā)布,以便學(xué)生了解宿舍情況,7.學(xué)生卡消費(fèi)信息模塊:宿舍采用校園卡進(jìn)行宿舍使用水電、洗衣機(jī)等設(shè)備的費(fèi)用支付,學(xué)生可在網(wǎng)上進(jìn)行學(xué)生卡的充值、查詢(xún)使用金額和剩余金額、使用的地方等。

      8.學(xué)生宿舍安全模塊:對(duì)于一些基本的安全問(wèn)題進(jìn)行指導(dǎo)說(shuō)明,并對(duì)近期發(fā)生的安全事故進(jìn)行通報(bào)分析,以便同學(xué)們提早做出防范。

      4.模塊設(shè)計(jì)

      4.1 零報(bào)和學(xué)生宿舍異常處理模塊

      4.1.1 模塊描述

      ? 零報(bào)登記表錄入項(xiàng)目包括:

      錄入宿舍號(hào): 零報(bào)樓棟號(hào)和宿舍號(hào)。

      錄入人姓名及聯(lián)系方式:錄入人的姓名,聯(lián)系方式。填報(bào)時(shí)間:由系統(tǒng)自動(dòng)獲取服務(wù)器時(shí)間。

      填寫(xiě)完上述信息后,點(diǎn)擊提交按鈕系統(tǒng)提示用戶(hù)檢查所填信息,并提問(wèn)用戶(hù)是否確認(rèn)提交所填零報(bào)。如果確認(rèn),則提交零報(bào),提交成功后提示零報(bào)已經(jīng)提交成功。失敗的話給出失敗提示。如果當(dāng)天已經(jīng)填寫(xiě)過(guò)零報(bào)或可疑情況登記表則提示零報(bào)已經(jīng)提交,或已經(jīng)填寫(xiě)過(guò)可疑情況登記表,不能在提交零報(bào)。

      ? 異常情況登記表錄入項(xiàng)目包括:

      錄入宿舍號(hào):發(fā)生異常情況的具體樓棟號(hào)和宿舍號(hào)。

      學(xué)生姓名:發(fā)生安全情況或晚歸等情況的學(xué)生姓名。選填。提示如果是發(fā)生宿舍設(shè)備故障情況就不用填寫(xiě)。

      性別:學(xué)生性別,要求同上。默認(rèn)女。采用radio單選框。年齡:學(xué)生年齡,要求同上。

      家長(zhǎng)號(hào)碼:如果有出現(xiàn)晚歸的學(xué)生,或者出現(xiàn)安全情況,則需要聯(lián)系寢室長(zhǎng)或班長(zhǎng)記錄學(xué)生電話號(hào)碼和家長(zhǎng)電話號(hào)碼,情況嚴(yán)重時(shí)需和家長(zhǎng)聯(lián)系。

      異常情況說(shuō)明:這個(gè)必須要寫(xiě)明是什么異常情況,例如如果是晚歸(情況惡劣)的學(xué)生,則需要受到相應(yīng)處分。

      填報(bào)時(shí)間:由系統(tǒng)自動(dòng)獲取服務(wù)器時(shí)間。4.1.2 功能概述

      該模塊主要包括兩個(gè)功能,一個(gè)是零報(bào)錄入,如果該地區(qū)當(dāng)天未發(fā)現(xiàn)可疑情況,只需填寫(xiě)零報(bào),一天只許填寫(xiě)一次零報(bào)。一個(gè)是異常情況登記錄入。若有異常情況,須立即填寫(xiě)異常情況登記表,不可再填寫(xiě)零報(bào)。

      4.2 學(xué)生基本信息管理模塊

      4.2.1 模塊描述

      表格每一行基本信息是學(xué)生姓名和學(xué)號(hào),后面為更多,點(diǎn)進(jìn)去為另一個(gè)表格,包括學(xué)生姓名、學(xué)號(hào)、電話、所在班級(jí)、學(xué)生教師、寢室號(hào)等信息,以便以后出現(xiàn)問(wèn)題進(jìn)行查詢(xún)解決。

      表格如下面這種形式:

      更多: 4.2.2 功能概述

      該模塊主要記錄了學(xué)生信息,如果學(xué)生有異議,可以來(lái)查詢(xún)。可以根據(jù)學(xué)號(hào)來(lái)查詢(xún)異常情況一欄里也有詳細(xì)的備注信息。

      4.3 學(xué)生進(jìn)出寢室活動(dòng)模塊

      4.3.1 模塊描述

      記錄學(xué)生進(jìn)出寢室的時(shí)間,以及學(xué)生貴重物品攜帶的情況,學(xué)生刷卡進(jìn)出寢室,若帶有物品需在相應(yīng)的機(jī)器上登記并判斷,來(lái)限定學(xué)生進(jìn)出寢室,并予以記載。

      與4.2.1的表格類(lèi)似。點(diǎn)擊更多就可以看到進(jìn)出時(shí)間以及攜帶物品情況。更多表格如下:

      4.3.2 功能概述

      記錄學(xué)生進(jìn)出寢室的時(shí)間,以及學(xué)生貴重物品攜帶的情況,方便查詢(xún)。

      4.4 學(xué)生寢室故障登記模塊

      4.4.1 模塊描述

      此模塊用來(lái)管理學(xué)生提交的維修報(bào)告。維修人員可以修 改報(bào)告的是否修好的狀態(tài)。任何人不能刪除維修報(bào)告。學(xué)生只能查看自己提交的維修報(bào)告。管理員可以查看具體報(bào)告內(nèi)容和報(bào)告的其它一些統(tǒng)計(jì)信息。維修人員只能查看屬于他自己維修類(lèi)型的報(bào)告刪除操作隨學(xué)生信息的刪除而級(jí)聯(lián)自動(dòng)刪除。學(xué)生寢室出現(xiàn)各種故障,如斷水?dāng)嚯?、設(shè)施損壞等,均可上網(wǎng)登記。這個(gè)模塊由學(xué)生向宿舍管理員報(bào)告,管理員確認(rèn)后登記。表格內(nèi)容包括:

      故障:說(shuō)明發(fā)生故障情況,斷水或斷電或者水龍頭壞了等 宿舍號(hào):記錄發(fā)生故障的宿舍號(hào)。記錄時(shí)間:由系統(tǒng)自動(dòng)獲取服務(wù)器時(shí)間。4.4.2 功能描述

      記錄宿舍故障情況,如果故障太頻繁,應(yīng)該檢查一下哪里出了問(wèn)題。4.5 學(xué)生寢室測(cè)評(píng)模塊

      4.5.1 模塊描述

      此模塊用來(lái)管理學(xué)生宿舍衛(wèi)生情況。學(xué)生只能查詢(xún)屬于自己寢室的衛(wèi)生情況,如果該學(xué)生換過(guò)寢室,也將他當(dāng)時(shí)所住寢室的衛(wèi)生信息顯示出來(lái),即顯示全部該學(xué)生的衛(wèi)生情況(包括以前住過(guò)的寢室)。院系錄入情況后,不能刪除和修改衛(wèi)生情況。只有報(bào)告到校級(jí)管理員,由校級(jí)管理員自己修改。

      4.5.2功能描述

      學(xué)生組織定期對(duì)學(xué)生宿舍進(jìn)行檢查,由宿舍管理員匯總測(cè)評(píng)并上報(bào),校學(xué)工處對(duì)測(cè)評(píng)結(jié)果進(jìn)行通報(bào)審核。4.6學(xué)生卡消費(fèi)模塊

      4.6.1模塊描述

      此模塊用來(lái)描述學(xué)生卡的使用以及充值情況,你的卡在刷卡機(jī)上每刷一次都會(huì)有記錄,同時(shí)也會(huì)顯示你的余額,如果學(xué)生每天的消費(fèi)超過(guò)卡的限定額卡在刷卡機(jī)上就會(huì)警告,如果卡上沒(méi)錢(qián)了刷卡機(jī)上也會(huì)顯示。

      4.6.2功能描述

      學(xué)生使用學(xué)生卡進(jìn)行消費(fèi),扣除相應(yīng)的金額,如果卡上沒(méi)錢(qián)可由網(wǎng)上進(jìn)行學(xué)生卡充值。4.7信息通報(bào)模塊

      4.7.1模塊描述

      此模塊用來(lái)描述宿舍管理員與校學(xué)工處對(duì)于一些日常信息的通報(bào)與查看,同時(shí)還有老師以及學(xué)生自己對(duì)一些信息的查看,比如學(xué)生的作息時(shí)間、寢室的規(guī)章制度、以及某寢室被通報(bào)的信息等。4.7.2功能描述

      對(duì)于一些日常信息,校學(xué)工處和宿舍管理員可進(jìn)行通報(bào)和查看,學(xué)生和教師可對(duì)信息進(jìn)行查看來(lái)了解最近的宿舍動(dòng)態(tài)。4.8用戶(hù)管理

      4.8.1模塊描述

      此模塊用來(lái)描述教師、學(xué)生、宿舍管理員對(duì)自己信息的創(chuàng)建(申請(qǐng)用戶(hù):最好用學(xué)號(hào)),創(chuàng)建好了以便于后面的的對(duì)自己信息的查詢(xún)(比如你的個(gè)人信息、寢室信息等),和修改個(gè)人資料寢室資料,以及系統(tǒng)管理員對(duì)里面成員的管理,同時(shí)也以便于校學(xué)工處對(duì)那些違反寢室規(guī)章制度學(xué)生的查找。

      4.8.2功能描述

      系統(tǒng)管理員可以對(duì)所有用戶(hù)進(jìn)行管理,可創(chuàng)建、查詢(xún)、修改和刪除用戶(hù),以及教師、學(xué)生、校學(xué)工處和宿舍管理員在該系統(tǒng)中創(chuàng)建賬號(hào),并進(jìn)行訪問(wèn)以及信息的修改。

      5.安全保密設(shè)計(jì)

      根據(jù)系統(tǒng)用戶(hù)

      第二篇:宿舍管理系統(tǒng)

      附件B:宿舍管理系統(tǒng)源代碼

      #include “stdio.h” #include “stdlib.h”

      #define SIZE 1000

      char grade;

      typedef struct StuNode{

      char num[11];

      char name[20];

      char sex[2];

      char birth[11];

      char hometn[13];

      char dorNum[7];

      char dorTel[8];

      struct StuNode *next;}StuNode,*StuList;

      int readToList(StuList sl,FILE *fp){

      StuList p;

      int i=0;

      while(1){

      p=(StuList)malloc(sizeof(StuNode));

      if(fread(p,sizeof(StuNode),1,fp)!=1)break;

      p->next=sl->next;

      sl->next=p;

      i++;

      }

      fclose(fp);

      return i;}

      void addNode(){

      FILE *fp;

      StuList sl,p,q;

      if((fp=fopen(“stu_list”,“rb”))==NULL){ /*the file doesn't exist*/

      p=(StuList)malloc(sizeof(StuNode));

      printf(“Please enter the student's information:n”);

      scanf(“%s%s%s%s%s%s%s”,&p->num,&p->name,&p->sex,&p->birth,&p->hometn,&p->dorNum,&p->dorTel);

      getchar();

      p->next=NULL;

      if((fp=fopen(“stu_list”,“wb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      else{

      if(fwrite(p,sizeof(StuNode),1,fp)!=1){

      printf(“file write errorn”);

      return;

      }

      }

      fclose(fp);

      }

      else{

      sl=(StuList)malloc(sizeof(StuNode));

      sl->next=NULL;

      readToList(sl,fp);

      p=(StuList)malloc(sizeof(StuNode));

      printf(“Please enter the student's information:n”);

      scanf(“%s%s%s%s%s%s%s”,&p->num,&p->name,&p->sex,&p->birth,&p->hometn,&p->dorNum,&p->dorTel);

      getchar();

      q=sl->next;

      while(q){

      if(strcmp(q->num,p->num)==0){

      printf(“This student %s existed!Press Enter to continue....”,p->num);

      getchar();

      clrscr();

      return;

      }

      else q=q->next;

      }

      p->next=sl->next;

      sl->next=p;

      p=sl->next;

      if((fp=fopen(“stu_list”,“wb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      else{

      while(p){

      if(fwrite(p,sizeof(StuNode),1,fp)!=1){

      printf(“file write errorn”);

      return;

      }

      p=p->next;

      }

      }

      fclose(fp);

      }

      printf(“nSuccess!

      Press Enter to continue....”);

      getchar();

      clrscr();}

      void delNode(){

      FILE *fp;

      StuList sl,p,q;

      char num[11];

      int flag=1;

      printf(“Please enter the student's num:”);

      scanf(“%s”,&num);

      getchar();

      sl=(StuList)malloc(sizeof(StuNode));

      sl->next=NULL;

      if((fp=fopen(“stu_list”,“rb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      readToList(sl,fp);

      p=sl;

      while(p){

      q=p->next;

      if(strcmp(q->num,num)==0){

      p->next=q->next;

      free(q);

      flag=0;

      }

      else p=p->next;

      }

      if(flag==1){

      printf(“Not exist this student--%s!Press Enter to continue....”,num);

      getchar();

      clrscr();

      return;

      }

      else if((fp=fopen(“stu_list”,“wb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      else{

      p=sl->next;

      while(p){

      if(fwrite(p,sizeof(StuNode),1,fp)!=1){

      printf(“file write errorn”);

      return;

      }

      p=p->next;

      }

      fclose(fp);

      }

      printf(“nSuccess!

      Press Enter to continue....”);

      getchar();

      clrscr();}

      void editNode(){

      FILE *fp;

      StuList sl,p;

      char num[11];

      int flag=1;

      printf(“Please enter the student's num:”);

      scanf(“%s”,&num);

      getchar();

      sl=(StuList)malloc(sizeof(StuNode));

      sl->next=NULL;

      if((fp=fopen(“stu_list”,“rb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      readToList(sl,fp);

      p=sl->next;

      while(p){

      if(strcmp(num,p->num)==0){

      printf(“nThe student's old information is:n%s %s %s %s %s %s %snPlease enter the student's new information:n”,p->num,p->name,p->sex,p->birth,p->hometn,p->dorNum,p->dorTel);

      scanf(“%s%s%s%s%s%s%s”,&p->num,&p->name,&p->sex,&p->birth,&p->hometn,&p->dorNum,&p->dorTel);

      getchar();

      flag=0;

      break;

      }

      else p=p->next;

      }

      if(flag){

      printf(“Not exist this student--%s!Press Enter to continue....”,num);

      getchar();

      clrscr();

      return;

      }

      else if((fp=fopen(“stu_list”,“wb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      else{

      p=sl->next;

      while(p){

      if(fwrite(p,sizeof(StuNode),1,fp)!=1){

      printf(“file write errorn”);

      return;

      }

      p=p->next;

      }

      fclose(fp);

      }

      printf(“nSuccess!

      Press Enter to continue....”);

      getchar();

      clrscr();}

      void sort(StuList sl[],int n,char key[]){

      int i,j,k;

      if(strcmp(key,“num”)==0){

      for(i=1;i

      k=i;

      for(j=i+1;j<=n;j++)

      if(strcmp(sl[j]->num,sl[k]->num)<0)k=j;

      if(k!=i){

      sl[0]=sl[i];

      sl[i]=sl[k];

      sl[k]=sl[0];

      }

      }

      }

      if(strcmp(key,“name”)==0){

      for(i=1;i

      k=i;

      for(j=i+1;j<=n;j++)

      if(strcmp(strlwr(sl[j]->name),strlwr(sl[k]->name))<0)k=j;

      if(k!=i){

      sl[0]=sl[i];

      sl[i]=sl[k];

      sl[k]=sl[0];

      }

      }

      }

      if(strcmp(key,“dorNum”)==0){

      for(i=1;i

      k=i;

      for(j=i+1;j<=n;j++)

      if(strcmp(sl[j]->dorNum,sl[k]->dorNum)<0)k=j;

      if(k!=i){

      sl[0]=sl[i];

      sl[i]=sl[k];

      sl[k]=sl[0];

      }

      }

      } }

      void scan(char key[]){

      FILE *fp;

      StuList sortary[SIZE],sl,p;

      int i,n;

      sl=(StuList)malloc(sizeof(StuNode));

      sl->next=NULL;

      if((fp=fopen(“stu_list”,“rb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      n=readToList(sl,fp);

      p=sl->next;

      for(i=1;i<=n;i++){

      sortary[i]=p;

      p=p->next;

      }

      sort(sortary,n,key);

      printf(“n

      num

      name

      sex

      birth

      hometown

      dorNum dorTeln”);

      printf(“---------------n”);

      for(i=1;i<=n;i++){

      printf(“%-11s %-19s%-2s %-11s %-13s %-7s %-8sn”,sortary[i]->num,sortary[i]->name,sortary[i]->sex,sortary[i]->birth,sortary[i]->hometn,sortary[i]->dorNum,sortary[i]->dorTel);

      }

      printf(“---------------n”);

      printf(“Press Enter to continue...”);

      getchar();}

      void search(char key[],char value[]){

      FILE *fp;

      StuList sortary[SIZE],sl,p;

      int i,n,low,high,mid,flag=1;

      sl=(StuList)malloc(sizeof(StuNode));

      sl->next=NULL;

      if((fp=fopen(“stu_list”,“rb”))==NULL){

      printf(“cannot open filen”);

      return;

      }

      n=readToList(sl,fp);

      p=sl->next;

      for(i=1;i<=n;i++){

      sortary[i]=p;

      p=p->next;

      }

      sort(sortary,n,key);

      low=1;high=n;

      while(low<=high){

      mid=(low+high)/2;

      if(strcmp(value,sortary[mid]->num)==0){

      printf(“The student's information is:n”);

      printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel);

      flag=0;

      break;

      }

      else if(strcmp(strlwr(value),strlwr(sortary[mid]->name))==0){

      printf(“Result set:n”);

      printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel);

      for(i=mid+1;strcmp(strlwr(value),strlwr(sortary[i]->name))==0;i++)

      printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel);

      for(i=mid-1;strcmp(strlwr(value),strlwr(sortary[i]->name))==0;i--)

      printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel);

      flag=0;

      break;

      }

      else if(strcmp(value,sortary[mid]->dorNum)==0){

      printf(“Result set:n”);

      printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel);

      for(i=mid+1;strcmp(value,sortary[i]->dorNum)==0;i++)

      printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[i]->num,sortary[i]->name,sortary[i]->sex,sortary[i]->birth,sortary[i]->hometn,sortary[i]->dorNum,sortary[i]->dorTel);

      for(i=mid-1;strcmp(value,sortary[i]->dorNum)==0;i--)

      printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[i]->num,sortary[i]->name,sortary[i]->sex,sortary[i]->birth,sortary[i]->hometn,sortary[i]->dorNum,sortary[i]->dorTel);

      flag=0;

      break;

      }

      else if((strcmp(key,“num”)==0)&&(strcmp(value,sortary[mid]->num)<0))high=mid-1;

      else if((strcmp(key,“name”)==0)&&(strcmp(strlwr(value),strlwr(sortary[mid]->name))<0))high=mid-1;

      else if((strcmp(key,“dorNum”)==0)&&(strcmp(value,sortary[mid]->dorNum)<0))high=mid-1;

      else low=mid+1;

      }

      if(flag)printf(“No result!n”);

      printf(“Press Enter to continue...”);

      getchar();

      clrscr();}

      void printMenu(){

      printf(“

      *********************< MENU >*********************n”);

      printf(“

      1.Add one student's record.n”);

      printf(“

      2.Delete one student's record.n”);

      printf(“

      3.Edit one student's record.n”);

      printf(“

      4.Scan all records ordered by num.n”);

      printf(“

      5.Scan all records ordered by name.n”);

      printf(“

      6.Scan all records ordered by dorNum.n”);

      printf(“

      7.Search one student's record.n”);

      printf(“

      8.Exit.n”);

      printf(“

      **************************************************n”);

      printf(“Please enter your choice(1~8):”);

      grade=getchar();

      getchar();}

      void main(){

      char key[7],value[20];

      while(1){

      printMenu();

      switch(grade){

      case'1':addNode();break;

      case'2':delNode();break;

      case'3':editNode();break;

      case'4':clrscr();scan(“num”);break;

      case'5':clrscr();scan(“name”);break;

      case'6':clrscr();scan(“dorNum”);break;

      case'7':clrscr();

      printf(“Please enter the key and value(eg:num 0606054230/name ZhangSan/dorNum 030615):n”);

      scanf(“%s%s”,&key,&value);

      while((strcmp(key,“num”)!=0)&&(strcmp(key,“name”)!=0)&&(strcmp(key,“dorNum”)!=0)){

      printf(“Wrong key!It must be num/name/dorNum:n”);

      scanf(“%s%s”,&key,&value);

      getchar();

      }

      getchar();

      clrscr();

      search(key,value);

      break;

      case'8':exit(0);

      default:clrscr();

      printf(“n Have no this choice--%c!Press Enter to continue...”,grade);

      getchar();

      clrscr();

      }

      } }

      第三篇:宿舍智慧用電管理系統(tǒng)

      宿舍安全用電---一個(gè)亟待解決的問(wèn)題因此各高校在制定規(guī)章制度明令禁止學(xué)生在宿舍使用熱得塊、電爐、電飯鍋、電熨斗、電磁爐、電熱杯、電水壺、暖手寶、電熱毯及其他易發(fā)生火災(zāi)及觸電事故的電器、嚴(yán)禁亂拉亂接電線和私自安裝插座等的同時(shí),還不定期的進(jìn)行安全檢查,一旦發(fā)現(xiàn)違規(guī)電器立刻采取沒(méi)收、處罰甚至于焚燒等傳統(tǒng)的管理措施。但是隨著學(xué)生用電需求的多樣化以及“以人為本”管理要求的提出,以往的單一化用電管理辦法已經(jīng)不能滿(mǎn)足時(shí)代要求了。學(xué)生的用電設(shè)備越來(lái)越多,安全隱患問(wèn)題也越來(lái)越嚴(yán)重。如何應(yīng)用科學(xué)手段進(jìn)行科學(xué)管理,是高校管理者們所提出的管理需求,也是一個(gè)急待解決的問(wèn)題。北京市教委做出明確要求并發(fā)表在《北京日?qǐng)?bào)》上:所有沒(méi)有安裝帶有惡性負(fù)載識(shí)別裝置的學(xué)生宿舍都要求安裝相關(guān)設(shè)備,加強(qiáng)安全用電管理。次日,北京市教委再次重申決定并發(fā)表在〈新京報(bào)〉上,再次強(qiáng)調(diào):各高校要抓緊時(shí)間安裝帶有惡性負(fù)載識(shí)別的裝置。

      2009年12月7日,中華人民共和國(guó)教育部和中華人民共和國(guó)公安部聯(lián)合發(fā)出了第28號(hào)令——《高等學(xué)校消防安全管理規(guī)定》,文件中對(duì)高?;馂?zāi)隱患的整改措施有明確的要求:

      第三十二條 對(duì)不能及時(shí)消除的火災(zāi)隱患,隱患單位應(yīng)當(dāng)及時(shí)向?qū)W校及相關(guān)單位的消防安全責(zé)任人或者消防安全工作主管領(lǐng)導(dǎo)報(bào)告,提出整改方案,確定整改措施、期限以及負(fù)責(zé)整改的部門(mén)、人員,并落實(shí)整改資金。

      TW-SG1000系列宿舍用電智能管理系統(tǒng)概述

      一、系統(tǒng)簡(jiǎn)介:

      TW-SG1000系列宿舍用電智能管理系統(tǒng)是北京泰文科技有限公司集多位資深專(zhuān)家精心設(shè)計(jì)出的新一代多功能智能用電管理系統(tǒng)。該系統(tǒng)應(yīng)用微電子技術(shù)精確計(jì)量電量,采用專(zhuān)用大規(guī)模集成電路與最新的單片處理器及外圍芯片技術(shù)設(shè)計(jì)制造。TW-SG1000宿舍用電智能管理系統(tǒng)組成:宿舍智能管理模塊(DDEb2-20A/2~4x16A)、數(shù)據(jù)網(wǎng)關(guān)(TW-Port2)、管理終端機(jī)(TW-SG100)、宿舍管理數(shù)據(jù)中心機(jī)(TW-SG100A)、系統(tǒng)軟件(TW-SG1000R)。具有安全用電、節(jié)能管理、精確計(jì)量等功能。

      二、網(wǎng)絡(luò)組成:

      TW-SG1000系列宿舍用電智能管理系統(tǒng)網(wǎng)絡(luò)組成:宿舍智能管理模塊(DDEb2-20A/2~4x16A)與數(shù)據(jù)網(wǎng)關(guān)(TW-Port2)之間為RS485總線(MOD-BUS協(xié)議),采用雙絞屏蔽線穿鋼管敷設(shè)手拉手連接;數(shù)據(jù)網(wǎng)關(guān)(TW-Port2)與管理終端機(jī)(TW-SG100)等設(shè)備均為超五類(lèi)網(wǎng)線以太網(wǎng)連接,放射式組網(wǎng)。

      三、模塊簡(jiǎn)介

      1、宿舍智能管理模塊:DDEb2-20A/2~4x16A,為一路220V 20A交流電源輸入,2~4路16A開(kāi)關(guān)輸出的綜合智能管理模塊。

      2、數(shù)據(jù)網(wǎng)關(guān):TW-Port2,是實(shí)現(xiàn)RS485轉(zhuǎn)換為以太網(wǎng)傳輸?shù)木W(wǎng)絡(luò)附件。

      3、管理終端機(jī):TW-SG100,是宿舍管理員管理操作終端設(shè)備,設(shè)置在管理員處,具備管理員權(quán)限;可以實(shí)現(xiàn)開(kāi)關(guān)燈、售電、違章用電處罰等操作。

      4、宿舍管理數(shù)據(jù)中心機(jī):TW-SG100A,是中心處理機(jī),設(shè)置在學(xué)生管理處,具備管理員權(quán)限、程序員權(quán)限等高級(jí)權(quán)限;可以實(shí)現(xiàn)入住開(kāi)戶(hù)、開(kāi)關(guān)燈、售電、退售、違章用電處罰、畢業(yè)銷(xiāo)戶(hù)、與學(xué)校相關(guān)管理部門(mén)數(shù)據(jù)交換等操作。

      四、功能簡(jiǎn)介

      1、惡性負(fù)載識(shí)別功能

      模塊具備惡性負(fù)載識(shí)別功能:禁止電爐、熱得快、電磁爐、微波爐、電熱毯、電吹風(fēng)機(jī)等大功率或易引起接觸火災(zāi)的負(fù)載使用,同時(shí)允許1.2KW~1.5KW的空調(diào)正常使用;其技術(shù)基礎(chǔ)區(qū)別于傳統(tǒng)功率限制為主的負(fù)載識(shí)別技術(shù),傳統(tǒng)負(fù)載識(shí)別技術(shù)在限制了惡性負(fù)載使用的同時(shí),把功率大于其設(shè)定識(shí)別起始功率的空調(diào)負(fù)載也限制了。

      2、模塊靈活的管理功能

      一路輸入、二~四路輸出,可以方便的實(shí)現(xiàn)宿舍的管理要求,其輸出分別對(duì)應(yīng)照明、插座、空調(diào)、衛(wèi)生間的供電回路;通過(guò)管理系統(tǒng)實(shí)現(xiàn)分時(shí)或分季節(jié)對(duì)照明、插座、空調(diào)、衛(wèi)生間的供電;比如:晚上11時(shí)統(tǒng)一關(guān)燈,在需要用空調(diào)的季節(jié)把電扇和空調(diào)的電源不關(guān)斷;在可能無(wú)人在宿舍的時(shí)間段統(tǒng)一關(guān)掉全部電源;在有衛(wèi)生間的宿舍,在夜間關(guān)燈后可以統(tǒng)一轉(zhuǎn)入夜間照明模式;同時(shí)對(duì)于需要限制插座用電的宿舍可以單獨(dú)限制其插座的電源;不需要使用空調(diào)電扇的季節(jié)統(tǒng)一關(guān)掉所有的空調(diào)電源;同時(shí)該模塊也可以當(dāng)樓控模塊使用,用來(lái)控制公共照明燈等電源。

      3、精確計(jì)量功能

      1)模塊具備計(jì)量功能:5(20)A,1.0級(jí) 內(nèi)部考核計(jì)量用。2)具有預(yù)付費(fèi)功能及免費(fèi)基礎(chǔ)電量設(shè)置功能。

      3、能累計(jì)計(jì)量,支持后付費(fèi)。

      4、具有低電量報(bào)警功能:可設(shè)置報(bào)警電量,當(dāng)用戶(hù)剩余電量低于報(bào)警值時(shí),模塊報(bào)警,提示用戶(hù)購(gòu)電。具有零度斷電功能。

      5、管理中心主機(jī)通過(guò)通訊網(wǎng)絡(luò)采集各分散式安全模塊的數(shù)據(jù)信息并進(jìn)行計(jì)算、查詢(xún)、統(tǒng)計(jì)、打印及參數(shù)設(shè)定,從而實(shí)現(xiàn)中心管理的電費(fèi)計(jì)量、預(yù)售電管理及安全用電控制等功能。

      6、具有實(shí)時(shí)功率顯示功能,可實(shí)時(shí)顯示用戶(hù)的用電負(fù)荷

      7、能計(jì)量正負(fù)兩個(gè)方向的電能,雙方向能累計(jì),有效防止了偷漏電現(xiàn)象。

      8、能監(jiān)控電流、電壓、頻率、有功功率、累計(jì)用電量、剩余電量等。

      4、功能強(qiáng)大的上位機(jī)軟件(TW-SG1000R),1、電腦遠(yuǎn)程寫(xiě)電,支持退費(fèi),費(fèi)率可設(shè)定;

      2、開(kāi)關(guān)燈管理;

      3、實(shí)時(shí)監(jiān)控;

      4、模塊參數(shù)可設(shè)定;

      5、支持?jǐn)?shù)據(jù)庫(kù);

      6、支持定制,可以根據(jù)客戶(hù)需求改變軟件界面,和增加功能;

      7、可以集成水表、別的電表等,幫業(yè)主實(shí)現(xiàn)節(jié)能管理;

      8、支持校園網(wǎng)WEB查詢(xún),學(xué)生可以遠(yuǎn)程查看本宿舍的電量及違規(guī)用電情況;

      9、支持權(quán)限登錄;權(quán)限管理;

      10、支持分時(shí)段自動(dòng)控制,最多每路一天8個(gè)時(shí)段(默認(rèn)4個(gè));

      11、與一卡通系統(tǒng)數(shù)據(jù)對(duì)接后可以實(shí)現(xiàn)一卡通系統(tǒng)自動(dòng)售電;

      五、安裝維修方便

      采用微斷式的模數(shù)設(shè)計(jì),二路、三路輸出的模塊為3P(54mm)模數(shù);四路輸出的模塊為4P(72mm)模數(shù),35mm導(dǎo)軌安裝;可分散安裝于每間宿舍配電箱內(nèi), 也可集中安裝于樓層總配電箱內(nèi);維修時(shí)普通電工簡(jiǎn)單培訓(xùn)后均可完成,只需要把故障模塊從導(dǎo)軌上取下,同時(shí)換上備用模塊,調(diào)整模塊地址,插上通訊線和強(qiáng)電線就完成維修。

      第四篇:塔里木大學(xué)宿舍管理系統(tǒng)

      塔里木大學(xué)宿舍管理系統(tǒng)

      1.系統(tǒng)簡(jiǎn)介

      假設(shè)學(xué)校共有20幢宿舍樓,每幢大約135個(gè)宿舍,每個(gè)宿舍有6個(gè)人。每幢宿舍有兩個(gè)宿管阿姨或大伯,負(fù)責(zé)本宿舍樓的日常管理。學(xué)校又設(shè)置后勤處管理全校的宿管阿姨或大伯。而輔導(dǎo)員和班主任可以通過(guò)后勤處了解本院、系、班級(jí)的宿舍情況。(例如:學(xué)生住在哪個(gè)樓,宿舍號(hào),衛(wèi)生評(píng)比等等。)宿管針對(duì)新生入?;蚣倨陂_(kāi)學(xué)后的學(xué)生入校及畢業(yè)生離校做登記,保證宿舍的正常運(yùn)轉(zhuǎn),尤其是新生還要做好物品領(lǐng)取登記。檢查記錄宿舍的財(cái)產(chǎn)如椅子,桌子,柜子等。(事實(shí)數(shù)據(jù))宿舍東西壞了,比如燈壞了,暖氣不熱,則有宿舍長(zhǎng)上報(bào)給宿管,填寫(xiě)維修申請(qǐng)表(那幢樓,宿舍號(hào),什么壞了,原因,時(shí)間)再有宿管將表交給后勤處。(作業(yè)級(jí)信息)后勤處收到各種表,登記表,維修表,要進(jìn)行存儲(chǔ)。并派相關(guān)人員去處理解決問(wèn)題。(戰(zhàn)術(shù)級(jí)信息)有時(shí)發(fā)生偶然事件職責(zé)需向輔導(dǎo)員及時(shí)轉(zhuǎn)達(dá),比如學(xué)生夜不歸宿,打架斗毆,發(fā)生意外等。(戰(zhàn)術(shù)級(jí)信息)

      2.技術(shù)要求和限制條件

      (1)本系統(tǒng)的數(shù)據(jù)存儲(chǔ)至少包括:入宿離校登記表(新生入?;蚣倨陂_(kāi)學(xué)后生入校及畢業(yè)生離校時(shí)要做詳細(xì)登記包括姓名,班級(jí),專(zhuān)業(yè),宿舍號(hào)等),維修申請(qǐng)表(那幢樓,宿舍號(hào),什么壞了,原因,時(shí)間),值班表(宿管換班時(shí)間,值班人,輔導(dǎo)員和班主任也會(huì)輪流值班),賣(mài)水表(某個(gè)宿管在某個(gè)時(shí)段所賣(mài)礦泉水的桶數(shù))宿舍設(shè)施管理責(zé)任表(登記宿舍所有的財(cái)產(chǎn),如果人為的破壞了其中任何東西,學(xué)生就要進(jìn)行相應(yīng)賠償),新生物品領(lǐng)取表(暖瓶,被褥,洗臉盆,洗腳盆)

      (2)簡(jiǎn)化,假設(shè)學(xué)校所有宿舍情況一致。

      第五篇:宿舍管理系統(tǒng)課程設(shè)計(jì)報(bào)告

      青島農(nóng)業(yè)大學(xué) 理學(xué)與信息科學(xué)學(xué)院

      高級(jí)語(yǔ)言課程設(shè)計(jì)報(bào)告

      設(shè) 計(jì) 題 目 宿舍管理系統(tǒng)

      學(xué)生專(zhuān)業(yè)班級(jí)班

      學(xué)生姓名(學(xué)號(hào))

      設(shè)計(jì)小組其他同學(xué)姓名(學(xué)號(hào))

      指 導(dǎo) 教 師

      完 成 時(shí) 間

      設(shè) 計(jì) 地 點(diǎn)

      2016年12月06日

      一、課程設(shè)計(jì)目的和任務(wù)

      《高級(jí)語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)是計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的主要實(shí)踐性教學(xué)環(huán)節(jié)。其目的在于加深對(duì)高級(jí)語(yǔ)言程序設(shè)計(jì)理論和基本知識(shí)的理解,掌握使用C語(yǔ)言進(jìn)行面向過(guò)程設(shè)計(jì)的基本方法,提高運(yùn)用面向過(guò)程知識(shí)解決實(shí)際問(wèn)題的能力。為畢業(yè)設(shè)計(jì)和以后的工程實(shí)踐打下良好的基礎(chǔ)。

      宿舍管理系統(tǒng):用C語(yǔ)言為學(xué)生宿舍管理人員編寫(xiě)一個(gè)宿舍管理軟件。設(shè)某宿舍有:101,102,201,202四個(gè)房間,每個(gè)房間可住學(xué)生<=4人,存儲(chǔ)結(jié)構(gòu):學(xué)號(hào)、姓名、房間號(hào),按房間號(hào)有序,實(shí)現(xiàn)學(xué)生的入住、退房和查詢(xún),按給定學(xué)號(hào)、姓名、房號(hào)查詢(xún)。

      二、分析與設(shè)計(jì)

      1.程序的基本功能:(1).實(shí)現(xiàn)新生入住登記(2).修改入住學(xué)生信息(3)實(shí)現(xiàn)退房

      (4)實(shí)現(xiàn)以姓名查詢(xún)學(xué)生信息(5)實(shí)現(xiàn)以學(xué)號(hào)查詢(xún)學(xué)生信息(6)實(shí)現(xiàn)以寢室號(hào)查詢(xún)學(xué)生信息(7)實(shí)現(xiàn)按照寢室號(hào)從小到大排序(8)實(shí)現(xiàn)按學(xué)號(hào)從小到大排序(9)實(shí)現(xiàn)顯示所有學(xué)生信息(10)實(shí)現(xiàn)退出程序并保存數(shù)據(jù) 2.定義的函數(shù)及說(shuō)明:

      此程序由11個(gè)函數(shù)構(gòu)成。

      Add----------添加學(xué)生信息函數(shù)(姓名、學(xué)號(hào)、宿舍號(hào)、班級(jí))Alter----------修改學(xué)生信息函數(shù) Delete--------刪除學(xué)生信息函數(shù)

      Display_All--------顯示所有學(xué)生信息函數(shù)

      Query_S_name---------查詢(xún)函數(shù)以姓名為關(guān)鍵字進(jìn)行查詢(xún) Query_S_number-------查詢(xún)函數(shù)以學(xué)號(hào)為關(guān)鍵字進(jìn)行查詢(xún) Query_D_number------查詢(xún)函數(shù)以寢室號(hào)為關(guān)鍵字進(jìn)行查詢(xún) Save-----存儲(chǔ)函數(shù)

      Judge_Save----退出程序時(shí)判斷是否保存函數(shù) Menu--菜單 Main---主函數(shù)

      3.系統(tǒng)總框圖:

      三、系統(tǒng)實(shí)施

      1.源程序代碼:

      #include #include #include #include int dirty=0;//用來(lái)判斷是否已保存操作 //定義一個(gè)存儲(chǔ)學(xué)生相關(guān)信息的結(jié)構(gòu)體 typedef struct { char S_name[10];//學(xué)生姓名 char S_number[10];//學(xué)生學(xué)號(hào)

      int D_number;//學(xué)生所在寢室的宿舍號(hào) char S_class1[10];//班級(jí)

      int Total;//學(xué)生總數(shù) }Student[16];int sushehao[4]={101,102,201,202};int count[4]={0};//判斷學(xué)號(hào)是否與表中所存學(xué)號(hào)重復(fù) void S_number_Judge(Student S,int t){ int i;for(i=1;i<=(S->Total)-1;i++)

      while(strcmp(S[i].S_number,S[t].S_number)==0)//strcmp字符串比較函數(shù),兩個(gè)字符逐個(gè)比較,相等返回值為

      {

      printf(“學(xué)號(hào)輸入失敗,該學(xué)號(hào)已存在,請(qǐng)重新輸入學(xué)號(hào)!n”);

      printf(“請(qǐng)輸入學(xué)生的學(xué)號(hào)(10個(gè)字符以?xún)?nèi)):”);scanf(“%s”,S[t].S_number);

      getchar();

      i=1;

      } } //添加學(xué)生信息函數(shù) void Add(Student S){ int j;int flag=1;printf(“請(qǐng)輸入學(xué)生姓名(10個(gè)字符以?xún)?nèi)):”);scanf(“%s”,S[++(S->Total)].S_name);getchar();//獲取換行符

      printf(“請(qǐng)輸入學(xué)生的學(xué)號(hào)(10個(gè)字符以?xún)?nèi)):”);scanf(“%s”,S[S->Total].S_number);getchar();S_number_Judge(S,S->Total);//判斷輸入的學(xué)號(hào)是否與表中所存在的學(xué)號(hào)重復(fù)

      while(flag){ printf(“請(qǐng)輸入宿舍號(hào)碼:”);

      scanf(“%d”,&S[S->Total].D_number);for(j=0;j<4;j++){

      if(S[S->Total].D_number==sushehao[j] && count[j]<4)

      {

      count[j]++;

      flag=0;

      break;

      }

      if(S[S->Total].D_number==sushehao[j]&&count[j]==4)

      {

      printf(“該宿舍已滿(mǎn),請(qǐng)重新輸入n”);

      break;

      } } } getchar();printf(“請(qǐng)輸入所在班級(jí):”);scanf(“%s”,S[S->Total].S_class1);getchar();printf(“添加成功!nn”);

      }//修改學(xué)生信息函數(shù) void Alter(Student S){ int i;int flag=0;//用來(lái)判斷表中是否存在所要修改的學(xué)生的信息

      char number[10];printf(“請(qǐng)輸入你要修改學(xué)生的學(xué)號(hào):”);scanf(“%s”,number);getchar();for(i=1;i<=S->Total;i++)

      if(strcmp(S[i].S_number,number)==0)

      flag=i;if(!flag)

      printf(“你所要修改的學(xué)生信息在表中不存在!n”);else {

      printf(“新信息如下:n”);

      printf(“請(qǐng)輸入學(xué)生姓名(10個(gè)字符以?xún)?nèi)):”);

      scanf(“%s”,S[flag].S_name);

      getchar();

      printf(“請(qǐng)輸入學(xué)生的學(xué)號(hào)(10個(gè)字符以?xún)?nèi)):”);

      scanf(“%s”,S[flag].S_number);

      getchar();

      S_number_Judge(S,flag);

      printf(“請(qǐng)輸入宿舍號(hào):”);

      scanf(“%d”,&S[flag].D_number);

      getchar();printf(“請(qǐng)輸入床鋪號(hào)碼:”);scanf(“%s”,&S[S->Total].S_bednum);getchar();printf(“請(qǐng)輸入所在班級(jí):”);scanf(“%s”,&S[S->Total].S_class1);getchar();

      dirty=1;

      printf(“修改成功!n”);} putchar('n');} //刪除學(xué)生信息

      void Delete(Student S){ int i,j;int flag=0;//用來(lái)判斷表中是否存在所要?jiǎng)h除的學(xué)生的信息

      char number[10];printf(“請(qǐng)輸入你要?jiǎng)h除學(xué)生的學(xué)號(hào):”);scanf(“%s”,number);getchar();for(i=1;i<=S->Total;i++)

      if(strcmp(S[i].S_number,number)==0)

      flag=i;if(!flag)

      printf(“你所要?jiǎng)h除的學(xué)生在表中不存在!”);else { for(i=flag;iTotal;i++){

      j=i+1;

      strcpy(S[i].S_name,S[j].S_name);//字符串拷貝函數(shù),格式:符數(shù)組名,字符數(shù)組名),賦值給

      strcpy(S[i].S_number,S[j].S_number);

      字 strcpy(S[i].D_number=S[j].D_number;

      strcpy(S[i].S_bednum,S[j].S_bednum);

      strcpy(S[i].S_class1,S[j].S_class1);}

      (S->Total)--;

      dirty=1;

      printf(“刪除成功!”);} printf(“nn”);} //顯示所有學(xué)生信息函數(shù)

      void Display_All(Student S){ int i;printf(“全體學(xué)生信息如下:n”);printf(“--------------------n”);/*格式頭*/ printf(“ 房間號(hào)床位號(hào)學(xué)號(hào)姓名班級(jí) n”);printf(“--------------------n”);for(i=1;i<=S->Total;i++)

      printf(“ %-10d%-10s%-10s%-10s%-10sn”,S[i].D_number,S[i].S_bednum,S[i].S_number,S[i].S_name,S[i].S_class1);

      putchar('n');} //查詢(xún)函數(shù)以姓名為關(guān)鍵字進(jìn)行查詢(xún)(順序查找)void Query_S_name(Student S){ int i,j=0;char name[10];printf(“請(qǐng)輸入你要查找的學(xué)生的姓名(10個(gè)字符以?xún)?nèi)):”);scanf(“%s”,name);getchar();printf(“所查找學(xué)生信息如下:n”);printf(“tt-----------------n”);/*格式頭*/ printf(“tt房間號(hào)床位號(hào)學(xué)號(hào)姓名班級(jí) n”);printf(“tt-----------------n”);for(i=1;i<=S->Total;i++)

      if(strcmp(name,S[i].S_name)==0)

      {

      printf(“tt%-10d%-10s%-10s%-10s%-10sn”,S[i].D_number,S[i].S_bednum,S[i].S_number,S[i].S_name,S[i].S_class1);j=1;

      } if(!j)

      printf(“n查找失敗,表中不存在該學(xué)生的信息!nn”);} //查詢(xún)函數(shù)以學(xué)號(hào)為關(guān)鍵字進(jìn)行查詢(xún)(折半查找)void Query_S_number(Student S){ int i,j=0;char number[10];printf(“請(qǐng)輸入你要查找的學(xué)生的學(xué)號(hào)(10個(gè)字符以?xún)?nèi)):”);scanf(“%s”,number);getchar();printf(“所查找學(xué)生信息如下:n”);printf(“tt-----------------n”);/*格式頭*/ printf(“tt房間號(hào)床位號(hào)學(xué)號(hào)姓名班級(jí) n”);printf(“tt-----------------n”);for(i=1;i<=S->Total;i++)

      if(strcmp(number,S[i].S_number)==0)

      {

      printf(“tt%-10d%-10s%-10s%-10s%-10sn”,S[i].D_number,S[i].S_bednum,S[i].S_number,S[i].S_name,S[i].S_class1);j=1;

      } if(!j)

      printf(“n查找失敗,表中不存在該學(xué)生的信息!nn”);} //查詢(xún)函數(shù)以寢室號(hào)為關(guān)鍵字進(jìn)行查詢(xún)(折半查找)void Query_D_number(Student S){ int i,j,m,n,base,top,mid;j=0;base=1;top=S->Total;printf(“請(qǐng)輸入你要查詢(xún)的寢室號(hào):”);scanf(“%d”,&i);getchar();Sort_D_number(S);//將表中原數(shù)據(jù)按照寢室號(hào)從小到大排序

      printf(“所查找寢室信息如下:n”);printf(“tt-----------------n”);/*格式頭*/ printf(“tt房間號(hào)床位號(hào)學(xué)號(hào)姓名班級(jí) n”);printf(“tt-----------------n”);if(i>=S[1].D_number&&i<=S[S->Total].D_number){

      while(base<=top)

      {

      mid=(base+top)/2;

      if(i==S[mid].D_number)

      {

      m=mid;n=mid-1;

      while(S[m].D_number==i)

      {

      printf(“tt%-10d%-10s%-10s%-10s%-10sn”,S[m].D_number,S[m].S_bednum,S[m].S_number,S[m].S_name,S[m].S_class1);m++;

      if(m>S->Total)

      break;

      }

      if(n>0)

      {

      while(S[n].D_number==i)

      {

      printf(“tt%-10d%-10s%-10s%-10s%-10sn”,S[n].D_number,S[n].S_bednum,S[n].S_number,S[n].S_name,S[n].S_class1);n--;

      if(n<1)

      break;

      }

      }

      j=1;

      putchar('n');

      break;

      }

      else if(i>S[mid].D_number)

      base=mid+1;

      else

      top=mid-1;

      } } if(!j)

      printf(“n查找失敗,表中不存在該寢室的信息!nn”);} //存儲(chǔ)函數(shù)

      void Save(Student S){ int i=0;FILE *fp;/*定義文件指針*/ char filename[100];/*定義文件名*/ printf(“tt輸入文件名:”);/*輸入文件名*/ scanf(“tt%s”,&filename);if((fp=fopen(filename,“w”))==NULL)/*打開(kāi)文件*/ { printf(“tt無(wú)法打開(kāi)該文件n”);system(“pause”);return;} fprintf(fp,“%dn”,S->Total);/*循環(huán)寫(xiě)入數(shù)據(jù)*/ while(i<(S->Total)){

      fprintf(fp,“%-10d%-10s%-10s%-10s%-10sn”,S[i].D_number,S[i].S_bednum,S[i].S_number,S[i].S_name,S[i].S_class1);i++;} fclose(fp);/*關(guān)閉文件*/ printf(“寫(xiě)入成功!n”);/*返回成功信息*/ } //退出程序時(shí)判斷是否保存函數(shù)

      void Judge_Save(int i,Student S){ char ch;if(i){

      printf(“表中數(shù)據(jù)已改變,是否保存后再退出(Y/N)?:”);

      ch=getchar();

      getchar();

      while(ch!='n'&&ch!='N'&&ch!='y'&&ch!='Y')

      {

      printf(“請(qǐng)輸入N(n)或者Y(y):”);

      ch=getchar();

      getchar();

      }

      if(ch=='y'||ch=='Y')

      Save(S);} } //菜單

      void Menu(){ system(“cls”);/*運(yùn)行前清屏*/ printf(“n”);printf(“

      青島農(nóng)業(yè)大學(xué)學(xué)生宿舍管理系統(tǒng)nn”);

      printf(“ n”);printf(“ 作者:明偉、李善虎、胡蒙亨n”);printf(“n”);printf(“tt=============學(xué)生宿舍管理系統(tǒng)===========n”);/*菜單選擇*/ printf(“tt n”);

      printf(“tt 1.新生入住 n”);printf(“tt 2.修改入住學(xué)生信息 n”);printf(“tt 3.退房服務(wù) n”);printf(“tt 4.以姓名查詢(xún)學(xué)生信息 n”);printf(“tt 5.以學(xué)號(hào)查詢(xún)學(xué)生信息 n”);printf(“tt 6.以寢室號(hào)查詢(xún)學(xué)生信息 n”);

      printf(“tt 7.查詢(xún)?nèi)繉W(xué)生信息 n”);printf(“tt 0.退出程序 n”);printf(“tt=========================================n”);} int main(){ int i;Student S;S->Total=0;do {

      Menu();

      printf(“請(qǐng)選擇您要運(yùn)行的選項(xiàng)按(0-9):”);

      scanf(“%d”,&i);

      getchar();//獲取換行符

      putchar('n');

      switch(i)

      {

      case 1:Add(S);

      system(“pause”);

      break;

      case 2:Alter(S);

      system(“pause”);

      break;

      case 3:Delete(S);

      system(“pause”);

      break;

      case 4:Query_S_name(S);

      system(“pause”);

      break;

      case 5:Query_S_number(S);

      system(“pause”);

      break;

      case 6:Query_D_number(S);

      system(“pause”);

      break;

      case 7:Display_All(S);system(“pause”);

      break;

      case 0:Judge_Save(dirty,S);

      exit(0);

      break;

      default:printf(“選擇錯(cuò)誤:請(qǐng)?jiān)谶x項(xiàng)到之間選擇!nn”);

      break;

      } }while(i!=10);}(注:黑體部分為我負(fù)責(zé)的部分)2.程序運(yùn)行說(shuō)明(包括結(jié)果說(shuō)明)程序運(yùn)行說(shuō)明

      運(yùn)行程序后,出現(xiàn)主菜單界面,按照主菜單上的編號(hào)進(jìn)行操作即可,每輸入一個(gè)編號(hào)后按回車(chē)即進(jìn)入該子程序,然后按照提示輸入或查詢(xún)信息。結(jié)果說(shuō)明:

      3.存在的問(wèn)題

      本程序在新生入住時(shí)將宿舍號(hào)限定在101,,12,201,202.當(dāng)輸入的宿舍號(hào)不符合要求時(shí)只是重復(fù)出現(xiàn)“請(qǐng)輸入宿舍號(hào)”而沒(méi)有明確的文字提示。而且在修改入住學(xué)生信息時(shí)對(duì)宿舍號(hào)沒(méi)有限制。還需進(jìn)一步完善。

      四、總結(jié)與體會(huì)

      當(dāng)看到課程設(shè)計(jì)任務(wù)時(shí),完全找不著頭緒,由于對(duì)C語(yǔ)言的認(rèn)識(shí)和了解只是停留在表面,所以不知道從何下手。后來(lái)在不停的復(fù)習(xí)課本,在老師和同學(xué)的幫助下,逐漸找到了方向,也對(duì)設(shè)計(jì)中需要用到的方法和結(jié)構(gòu)有所了解和認(rèn)識(shí),學(xué)會(huì)了如何使用,之后的一次課又經(jīng)過(guò)仔細(xì)的思考了解了這個(gè)程序的基本框架,確定了程序的流程圖,為程序的完成奠定了基礎(chǔ),接下來(lái)在寫(xiě)代碼的過(guò)程中仍然遇到了很多問(wèn)題,經(jīng)過(guò)不斷的查閱課本和網(wǎng)絡(luò),逐步解決了代碼問(wèn)題,在實(shí)現(xiàn)整個(gè)程序功能方面,有些結(jié)構(gòu)和方法不會(huì)用,最后在老師的幫助下才得以順利解決。做出來(lái)的程序在執(zhí)行過(guò)程中仍然有一些問(wèn)題,比如在上述“存在的問(wèn)題”中提到的。設(shè)計(jì)過(guò)程確實(shí)讓我認(rèn)識(shí)到了自己技術(shù)上的不足,在以后的學(xué)習(xí)中應(yīng)該加強(qiáng)這方面的學(xué)習(xí)和重視。為以后的畢業(yè)設(shè)計(jì)和就業(yè)做準(zhǔn)備。

      下載宿舍管理系統(tǒng)設(shè)計(jì)(合集五篇)word格式文檔
      下載宿舍管理系統(tǒng)設(shè)計(jì)(合集五篇).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        第6組總結(jié)報(bào)告-宿舍管理系統(tǒng)

        總結(jié)報(bào)告:宿舍管理系統(tǒng) 組長(zhǎng):丁晶 組員:熊立春,郭錚,楊承銘,李曉瑋 小組分工: 技術(shù)人員:楊承銘 資料收集:李曉瑋、郭錚 總結(jié):熊立春 此系統(tǒng)可以實(shí)現(xiàn)管理員通過(guò)帳號(hào)和密碼登陸管理頁(yè)......

        高校宿舍管理系統(tǒng)用戶(hù)需求簡(jiǎn)單描述

        用戶(hù)需求描述: 1.問(wèn)題提出: 宿舍管理也就成為學(xué)校日常管理的重中之中了,宿舍管理的方式也在不斷的改進(jìn)。隨著電腦的普及與使用,現(xiàn)在的管理也提升了一個(gè)檔次,漸漸實(shí)現(xiàn)了無(wú)紙化辦公......

        宿舍管理系統(tǒng)需求規(guī)格說(shuō)明書(shū)

        需求規(guī)格說(shuō)明書(shū) 1.引言 1.1編寫(xiě)目的 本學(xué)生宿舍分配系統(tǒng)以公寓房間、入住學(xué)生為基礎(chǔ)信息源,可以對(duì)房間和床位分配,可以使教務(wù)處、學(xué)生處、保衛(wèi)處、公寓管理中心、財(cái)務(wù)處等學(xué)......

        客戶(hù)關(guān)系管理系統(tǒng)設(shè)計(jì)

        中文摘要 前言第一章 緒論 1.1 客戶(hù)關(guān)系管理系統(tǒng)概述 客戶(hù)關(guān)系管理(CRM)是利用信息科學(xué)技術(shù),實(shí)現(xiàn)市場(chǎng)營(yíng)銷(xiāo)、銷(xiāo)售、服務(wù)等活動(dòng)自動(dòng)化,使企業(yè)能更高效地為客戶(hù)提供滿(mǎn)意、周到的......

        高校宿舍管理(考勤)系統(tǒng)白皮書(shū)201804

        數(shù)字校園系列軟件產(chǎn)品 高校宿舍管理(考勤)系統(tǒng) 功能白皮書(shū) 宿舍管理系統(tǒng)功能白皮書(shū) 目錄 1 2 產(chǎn)品概述 ..................................................................

        宿舍管理

        員工宿舍管理制度 第一章 總則 第一條 為加強(qiáng)員工宿舍的管理,保證宿舍的安全、文明、整潔,使員工有一個(gè)良好的生活環(huán)境,以提高工作效率,特制訂本制度 第二條 適用范圍:本制度適用......

        宿舍管理

        生活區(qū)職工宿舍管理制度 1、 室內(nèi)布置要合理化,有明確的衛(wèi)生輪流值日制度。 2、 室內(nèi)嚴(yán)禁使用熱得快、電爐等違規(guī)電器。如有使用一經(jīng)發(fā)現(xiàn)將沒(méi)收并處以100元罰款。 3、 室內(nèi)嚴(yán)......

        宿舍管理(本站推薦)

        基礎(chǔ)工程學(xué)院宿管部工作計(jì)劃 基礎(chǔ)工程學(xué)院學(xué)生會(huì)宿管部是一個(gè)為所有學(xué)生營(yíng)造一個(gè)舒適安全的學(xué)生生活環(huán)境而成立的服務(wù)性部門(mén),在新學(xué)期、新形勢(shì)下,院宿管部將加大監(jiān)管力度,采取......