范文為教學(xué)中作為模范的文章,也常常用來指寫作的模板。常常用于文秘寫作的參考,也可以作為演講材料編寫前的參考。寫范文的時候需要注意什么呢?有哪些格式需要注意呢?以下是我為大家搜集的優(yōu)質(zhì)范文,僅供參考,一起來看看吧
制作選課系統(tǒng)篇一
一、需求分析...................................................................................................................................2 1.1 編寫目的:.......................................................................................................................2 1.2 項(xiàng)目背景:.......................................................................................................................2 1.3系統(tǒng)使用對象:................................................................................................................3 1.4 功能需求:.......................................................................................................................3 1.4.1 業(yè)務(wù)流程圖:.......................................................................................................3 1.4.2 功能模塊圖:.......................................................................................................4 1.4.3 功能介紹:...........................................................................................................4 1.4.4問題域描述:........................................................................................................5 1.5 性能要求:.......................................................................................................................5 1.6 運(yùn)行環(huán)境:.......................................................................................................................6
二、系統(tǒng)詳細(xì)設(shè)計...........................................................................................................................6 2.1系統(tǒng)總體設(shè)計....................................................................................................................6 2.1.1 運(yùn)行環(huán)境...............................................................................................................6 2.1.2 系統(tǒng)流程...............................................................................................................6 2.1.3 系統(tǒng)結(jié)構(gòu)...............................................................................................................7 2.2系統(tǒng)接口的概要設(shè)計........................................................................................................8 2.2.1 用戶接口...............................................................................................................8 2.3 數(shù)據(jù)庫概要設(shè)計...............................................................................................................9 2.3.1 物理結(jié)構(gòu)設(shè)計.......................................................................................................9
三、系統(tǒng)實(shí)現(xiàn).................................................................................................................................10 3.1 系統(tǒng)開發(fā)環(huán)境.................................................................................................................10 3.2 系統(tǒng)實(shí)現(xiàn).........................................................................................................................11 3.2.1 客戶端系統(tǒng)實(shí)現(xiàn).................................................................................................11
一、需求分析
1.1 編寫目的:
庫存管理工作如由人工完成,主要依靠個人經(jīng)驗(yàn)和厚重的資料簿,查詢工作繁瑣而且質(zhì)量不高,容易出錯。如果利用計算機(jī)的高速計算能力和廣泛的普及應(yīng)用,則能利用判斷條件,更快地找出所要查詢的庫存產(chǎn)品。庫存管理系統(tǒng)是一套對貨品入庫、出庫、庫存進(jìn)行全面管理的系統(tǒng)。
1.2 項(xiàng)目背景:
由于市場競爭的需要,如何吸引和留住人才,激發(fā)員工的創(chuàng)造行、工作責(zé)任感和工作熱情已經(jīng)成為關(guān)系企業(yè)興衰的重要因素,人才已成為企業(yè)最重要的資產(chǎn)之一?!肮⒐?、合理”的企業(yè)管理理念和企業(yè)管理水平的提高,是社會對庫存管理系統(tǒng)有了更高的需求;同時由于個人電腦的普及,數(shù)據(jù)庫技術(shù)、客戶/服務(wù)器技術(shù),特別是internet/intranet技術(shù)的發(fā)展,使的三代庫存管理系統(tǒng)的出現(xiàn)才成為必然。庫存管理系統(tǒng)的特點(diǎn)是從物品管理的角度出發(fā),用集中的數(shù)據(jù)庫將幾乎所有與物品相關(guān)的數(shù)據(jù)統(tǒng)一管理起來,形成了集成的信息源。有好的用戶界面,強(qiáng)有力的報表生成工具、分析工具和信息的共享使得物品管理人員得以擺脫繁重的日常工作,集中精力從戰(zhàn)略的角度來考慮企業(yè)物品規(guī)劃和政策。
企業(yè)的庫存物資管理往往是很復(fù)雜、很繁瑣的。由于所掌握的物資種類眾多,訂貨、管理、發(fā)放的渠道各有差異,各個企業(yè)之間的管理體制不盡相同,各類統(tǒng)計報表繁多,因此倉庫的庫存管理必須編制一套庫存管理信息系統(tǒng),實(shí)現(xiàn)計算機(jī)化操作,而且必須根據(jù)企業(yè)的具體情況制定相應(yīng)的方案。
1.3系統(tǒng)使用對象:
本軟件提供了完備的銷售業(yè)務(wù)管理功能,包括銷售管理(銷售訂單、銷售出貨、銷售退貨、收款登記)、基本信息(公司基本資料、客戶資料、貨品資料、員工檔案、其他基礎(chǔ)設(shè)置)、單據(jù)查詢(訂貨單查詢、收貨單查詢、付款單查詢)、系統(tǒng)維護(hù)(操作權(quán)限、數(shù)據(jù)備份及恢復(fù)、數(shù)據(jù)壓縮、數(shù)據(jù)清理)等功能。
1.4 功能需求:
1.4.1 業(yè)務(wù)流程圖:
1.4.2 功能模塊圖:
1.4.3 功能介紹: 庫存管理:包括貨品信息管理、貨品庫存管理、短線貨品管理、超儲貨品管理。
入庫管理:包括入庫登記管理、貨品入庫期間統(tǒng)計、供貨單位期間供貨統(tǒng)計和供貨單位期間供貨金額統(tǒng)計。
出庫管理:包括出庫登記管理、貨品期間出庫統(tǒng)計、收貨單位期間收貨統(tǒng)計和收貨單位期間收貨金額統(tǒng)計。
盤存管理:包括盤存數(shù)據(jù)錄入和盤存表。綜合管理:包括貨品出入庫期間匯總等。
附項(xiàng)分類:包括經(jīng)辦人員管理、供貨單位管理、倉庫信息管理及數(shù)據(jù)處理記錄。
歷史數(shù)據(jù)管理:包括歷史庫存管理、歷史入庫管理和歷史出庫管理等。1.4.4問題域描述:
貨物是否能被管理員找到,貨物必要有唯一的貨號;倉庫對應(yīng)唯一管理員,管理員必要有唯一工號,性別,姓名等屬性;每個入庫貨物對應(yīng)一張入庫單,入庫單號碼必須與貨號唯一對應(yīng);每個出庫貨物對應(yīng)一張出庫單,出庫單號碼必須與貨號唯一對應(yīng);管理人員存放貨物根據(jù)存放規(guī)則在倉庫內(nèi)存放貨物;管理人員根據(jù)提貨規(guī)則從倉庫內(nèi)提取貨物。
1.5 性能要求:
全局特征:
系統(tǒng)可用性是:全天候可用、可靠性:除了不可計錯誤,一般不會崩潰。安全性和保密性:只有專業(yè)的工作人員才能運(yùn)行,可以設(shè)置權(quán)限。
1.6 運(yùn)行環(huán)境:
硬件環(huán)境:pentiumⅱ 或同檔次以上微機(jī); 32mb以上內(nèi)存或更高;4.2g以上硬盤;1.44m
光驅(qū);24速以上光驅(qū);
針打或激光打印機(jī)一臺
軟件環(huán)境:中文 windows95 /
二、系統(tǒng)詳細(xì)設(shè)計
2.1系統(tǒng)總體設(shè)計
2.1.1 運(yùn)行環(huán)境 操作系統(tǒng):windows all 安裝mysql tomcat myeclipse 2.1.2 系統(tǒng)流程 本課題的系統(tǒng)流程圖如下
/we/ 2000操作系統(tǒng)。
2.1.3 系統(tǒng)結(jié)構(gòu)
本課題的功能模塊設(shè)計圖如下
2.2系統(tǒng)接口的概要設(shè)計
2.2.1 用戶接口 首頁(用戶登錄界面)
用戶操作界面(如圖)頭部和其他部位的內(nèi)容一樣
左側(cè)部分為當(dāng)用戶登錄成功后將顯示用戶操作的功能菜單 右側(cè)部分則根據(jù)用戶選擇的操作顯示相應(yīng)內(nèi)容
2.3 數(shù)據(jù)庫概要設(shè)計
2.3.1 物理結(jié)構(gòu)設(shè)計
本課題目前為數(shù)據(jù)庫建立了9 個表 category:id,name,description;
goods:id,name,description,inprice,outprice,category_id,supplier;instock:id,quantity,intime,price,description,goods_id,uear_id;outstock:id,quantity,outtime,description,price,user_id,goods_id;privilege:id,name,description stock:goods_id,quantity,outprice,inprice supplier:id,name,linkman,cellphone,description user:id,username,password user_privilege:user_id,privilege_id
三、系統(tǒng)實(shí)現(xiàn)
3.1 系統(tǒng)開發(fā)環(huán)境
系統(tǒng):microsoft windows 7 編程環(huán)境:myeclipse 開發(fā)語言:java 數(shù)據(jù)庫:mysql
3.2 系統(tǒng)實(shí)現(xiàn)
3.2.1 客戶端系統(tǒng)實(shí)現(xiàn) 登錄界面(如下圖)
庫存管理成果信息頁面(如圖)
用戶管理
權(quán)限管理
供應(yīng)商管理
類別管理
商品管理
入庫管理
庫存管理
出庫管理
制作選課系統(tǒng)篇二
“選課注冊管理系統(tǒng)”課程設(shè)計指導(dǎo)書
課題名稱:選課注冊管理系統(tǒng)
設(shè)計目標(biāo):按照軟件工程的規(guī)范,以sql server或oracle為后臺數(shù)據(jù)庫,以visual c++、delphi等為前端開發(fā)工具,模擬高等學(xué)校的選課情況,設(shè)計并實(shí)現(xiàn)一個學(xué)生選課注冊管理系統(tǒng)。
需求描述:
1.系統(tǒng)用戶
本系統(tǒng)的用戶是學(xué)校的學(xué)生、教師和管理員。學(xué)生使用本系統(tǒng)查詢新學(xué)期將開設(shè)的課程和授課教師的情況,選擇自己要學(xué)習(xí)的課程,并進(jìn)行登記注冊。教師使用本系統(tǒng)查詢新學(xué)期將開設(shè)的課程、參加聽課的學(xué)生情況。教學(xué)管理員使用本系統(tǒng)進(jìn)行教學(xué)管理,包括課程管理和新學(xué)期的課程選課注冊管理。
2.系統(tǒng)功能
本系統(tǒng)負(fù)責(zé)新學(xué)期的課程選課注冊工作;應(yīng)提供的服務(wù)功能如下:
(1)錄入與生成新學(xué)期課程表:教學(xué)管理員在新學(xué)期開始前錄入新學(xué)期課程,打印將開設(shè)的課程目錄表,供師生參考選擇。若某課程的實(shí)際選課學(xué)生少于10人,則停開該課程,把該課程從課程目錄表中刪除;若某課程的選課學(xué)生多于30人,則停止選課。
(2)學(xué)生選課注冊:新學(xué)期開始前一周為選課注冊時間,在此期間學(xué)生可以選
課注冊,并且允許改變或取消注冊申請。
(3)查詢:可以查詢課程信息、學(xué)生選課信息和學(xué)生、教師信息。
(4)選課注冊信息的統(tǒng)計與報表生成:教學(xué)管理員對學(xué)生的選課注冊信息進(jìn)行
統(tǒng)計(按課程、按學(xué)生、按班級)。
3.系統(tǒng)結(jié)構(gòu)
假定在學(xué)校的計算中心有功能強(qiáng)大的工作站機(jī)器,在各系、各部門、圖書館、學(xué)生宿舍都有臺式pc機(jī),學(xué)校的全部計算機(jī)已經(jīng)聯(lián)網(wǎng)。本系統(tǒng)將采用客戶機(jī)/服務(wù)器結(jié)構(gòu)建立,應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器設(shè)置在學(xué)校計算中心的工作站。學(xué)生、教師和教學(xué)管理員可以在各系、各部門、圖書館、學(xué)生宿舍的臺式pc機(jī)上使用本系統(tǒng)。結(jié)果形式:
提交課程設(shè)計報告、源程序和可演示的軟件
課程設(shè)計報告要求:詳見課程設(shè)計模板
課程設(shè)計參考思路:
(1)熟悉數(shù)據(jù)庫和開發(fā)工具,掌握開發(fā)工具與本地數(shù)據(jù)庫的連接方法。
(2)理解系統(tǒng)的信息需求,進(jìn)行合理的數(shù)據(jù)庫設(shè)計,建立各數(shù)據(jù)庫表。
(3)理解系統(tǒng)的功能需求,設(shè)計應(yīng)用軟件。結(jié)合delphi 或vc++進(jìn)行系統(tǒng)界面(窗
體、菜單以及相應(yīng)控制按鈕)的設(shè)計、連接與操縱數(shù)據(jù)庫方案的設(shè)計,編寫程序。
(4)系統(tǒng)運(yùn)行、調(diào)試并完善。
(5)撰寫設(shè)計報告。
制作選課系統(tǒng)篇三
題目
一、學(xué)生選課管理系統(tǒng)
第一部分:課程設(shè)計名稱、目的、要求
第二部分:程序總體設(shè)計思路
第三部分:程序功能劃分、圖示及流程圖
第四部分:程序設(shè)計數(shù)據(jù)、運(yùn)行結(jié)果
第五部分:程序的優(yōu)缺點(diǎn)
第六部分:心得體會
第七部分:附錄(源程序)
第八部分:附錄(參考文獻(xiàn))
目錄
..............................................................................第一部分:課程設(shè)計名稱、目的、要求
名稱:學(xué)生選修課程系統(tǒng)設(shè)計
目的:運(yùn)用c語言提高解決實(shí)際問題的能力 實(shí)驗(yàn)環(huán)境:microsoft visual c++ 6.0 內(nèi)容:
假定有n門課程,每門課程有課程編號,課程名稱,課程性質(zhì),總學(xué)時,授課學(xué)時,實(shí)驗(yàn)或上機(jī)學(xué)時,學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課?!竟δ堋?/p>
系統(tǒng)以菜單方式工作?
課程信息錄入功能(課程信息用文件保存)--輸入? 課程信息瀏覽功能--輸出?
查詢功能:(至少一種查詢方式)--算法? 按學(xué)分查詢? 按課程性質(zhì)查詢? 學(xué)生選修課程(可選項(xiàng))?
第二部分:程序總體設(shè)計思路
由于c語言是面對過程的語言,故我的設(shè)計思路是根據(jù)目標(biāo)程序運(yùn)行的過程來編寫的。
具體的設(shè)計思路如下:
程序的要求是設(shè)計學(xué)生選修課管理系統(tǒng),對選修課程能夠進(jìn)行錄入和修改操作等,要求有菜單界面和退出功能。首先,考慮到程序的數(shù)據(jù)輸入,可以設(shè)置一個管理員登陸選項(xiàng),通過該選項(xiàng)進(jìn)入管理員界面,進(jìn)行選修課的錄入和修改操作,最后將錄入的課程保存到相應(yīng)的文件中。然后定義各種函數(shù)的功能包括查看,查詢,刪除等。另一個為學(xué)生登陸界面,該界面學(xué)生可以進(jìn)行課程選擇和瀏覽查詢等操作。在進(jìn)行該操作之前需要對管理員保存的文件進(jìn)行讀取,然后對其中的內(nèi)容進(jìn)行查詢等,在學(xué)生選好課程以后,可以將其選好的課程保存于相應(yīng)的文件中,以便下次進(jìn)行修改。通過函數(shù)的層層調(diào)用來實(shí)現(xiàn)程序的邏輯結(jié)構(gòu)。中間通過文件的打開和關(guān)閉實(shí)現(xiàn)對文件內(nèi)部所包含的數(shù)據(jù)的操作。
整個程序的設(shè)計思路到此結(jié)束。
第三部分:程序功能劃分、圖示及流程圖
【功能模塊劃分及其流程圖】
本程序功能模塊根據(jù)程序設(shè)計的需求,綜合程序的實(shí)用性、人性化、智能化的考慮,將程序劃分為6個部分分別編寫,程序主體功能將由這9個部分來完成。這9個部分依次是:
1.登錄界面函數(shù);void login()2.學(xué)生登錄界面據(jù)函數(shù):void stu_login()3.管理員登錄界面函數(shù):void man_login()4.退出界面函數(shù):void bye_sys()
5.課程選擇函數(shù):void c_select()6.課程瀏覽函數(shù):void c_view()7.課程查詢函數(shù):void c_search()8.課程增加函數(shù):void c_add()9.課程刪除函數(shù):void c_delete()10.菜單函數(shù):void index()11.主函數(shù)部分; main()
總體設(shè)計:
學(xué)生選課系統(tǒng)管理員登錄學(xué)生登錄新增課程刪除課程課程瀏覽查詢課程學(xué)生選課課程瀏覽課程查詢c_add函數(shù)c_delete函數(shù)c_view函數(shù)c_search函數(shù)c_select函數(shù)c_view函數(shù)c_search函數(shù)
系統(tǒng)功能模塊圖
部分函數(shù)流程圖:
1、課程選擇函數(shù):
開始輸入要選擇的課程的編號j=0;j
2、課程查詢函數(shù)
開始輸入要查詢的課程的編號j=0;j
3、課程增加函數(shù)
開始輸入要增加的課程的編號j=0;j
4、課程刪除函數(shù)
開始輸入要刪除的課程的編號nj=0;j
本程序是一款應(yīng)用軟件,故數(shù)據(jù)設(shè)計、程序運(yùn)行結(jié)果應(yīng)在程序的
運(yùn)用中得以體現(xiàn),現(xiàn)在通過一個程序的運(yùn)用事例來對程序運(yùn)行結(jié)果進(jìn)行演示與實(shí)現(xiàn)?!拒浖\(yùn)用舉例】
1、程序開始界面如下:
選擇某個選項(xiàng),如進(jìn)行管理員登錄,進(jìn)行課程的增加 進(jìn)入管理員界面:
2、再選擇所要進(jìn)行的操作,如進(jìn)行課程增加,結(jié)果如下:
下面可以進(jìn)行繼續(xù)增加課程或者退出:
3、選擇課程瀏覽,可以分頁查看相應(yīng)的課程信息: 第一頁:
第二頁:
4、課程查詢
查找結(jié)果:
4、管理員課程刪除操作:
刪除后可以進(jìn)行瀏覽,觀察刪除后的結(jié)果:
可見刪除后只有一條記錄。刪除操作完成正確。下面進(jìn)行學(xué)生操作的使用方法:
1、學(xué)生登陸界面:
2、選擇學(xué)生選課選項(xiàng):
3、學(xué)生登陸也可進(jìn)行課程瀏覽和查詢函數(shù),其結(jié)果與管理員登陸相同,不再演示。
第五部分:程序的優(yōu)缺點(diǎn)
【程序的優(yōu)點(diǎn)】
算法是程序的靈魂,程序的優(yōu)點(diǎn)首先表現(xiàn)在算法上的優(yōu)點(diǎn),其次才是功能上的。
[算法上的優(yōu)點(diǎn)]主要體現(xiàn)在以下三點(diǎn):
1.程序采用main主函數(shù)方式設(shè)計,程序的主體的功能大都由該功能
完成。程序如此設(shè)計有利于程序的進(jìn)一步改進(jìn)及有助于程序執(zhí)行效率的提高。
2.程序?qū)ξ募?shù)據(jù)的讀寫采用了fread和fwrite塊讀寫函數(shù),能夠?qū)⑽募械臄?shù)據(jù)完全讀出,然后賦到定義的數(shù)組中,再在相應(yīng)的數(shù)組中進(jìn)行一系列操作,最終再寫入文件。
3.插入操作在本程序中將課程信息直接插入數(shù)組最后一個節(jié)點(diǎn),從而減少了數(shù)據(jù)的相互移動,節(jié)省了時間。
[功能上的優(yōu)點(diǎn)] 主要體現(xiàn)在以下兩點(diǎn):
1. 簡潔明了的程序菜單。程序主要采用了層次不同的菜單,相互獨(dú)立又相互聯(lián)系,巧妙相接,符合用戶的使用習(xí)慣與思維。2. 人性化的程序提示語言,程序提示語言較人性化,不僅大多為祈使語句、疑問句,而且提示明確,具有較強(qiáng)的明確的指導(dǎo)作用。程序提示不僅層次分明,提示方式多樣,而且提示信息井然有序,更加有利于用戶順利、準(zhǔn)確地看懂程序并進(jìn)行操作。
【程序的缺點(diǎn)】 主要表現(xiàn)在以下兩點(diǎn):
1、本程序沒有進(jìn)行相應(yīng)的密碼操作,所以對于使用者來說可能存在比較大的不保密性。需要改善。
2、本程序沒有使用文本讀寫函數(shù)fscanf和fprintf,所以的到的課程文件和選課文件都是二進(jìn)制形式。
第六部分:心得體會
選課系統(tǒng)程序比起通訊錄程序來講好寫一些,由于本程序用到了數(shù)組,對于數(shù)組的操作掌握的比較熟練,所以在編寫程序的時候困難沒有那么多。
本程序在編寫的過程中用到了許多通訊錄中的模塊化設(shè)計和函數(shù)互相調(diào)用的思想,使得編寫比較方便和好用。
通過該系統(tǒng)的課程設(shè)計分析,我掌握了模塊化設(shè)計的方法,理解和運(yùn)用了結(jié)構(gòu)化程序設(shè)計的思想和方法,掌握和提高了運(yùn)用c語言進(jìn)行程序設(shè)計的能力。
程序設(shè)計的過程,實(shí)際上是確定解決問題的詳細(xì)步驟,而這個步驟通常叫做流程,在程序設(shè)計過程中理清楚整個問題的流程很重要,然后采取逐步細(xì)化的方法實(shí)現(xiàn)整個程序。
對于一個較大的應(yīng)用程序,一般不可能一次就設(shè)計出一個很完善的系統(tǒng)。通常要先設(shè)計滿足基本要求的系統(tǒng),然后再測試或者在使用的過程中不斷完善,慢慢地做成一個功能很完善選修課程管理系統(tǒng)。所以在進(jìn)行調(diào)試的時候需要對許多變量理解和掌握其變化規(guī)律等,這對于我更好的掌握visual c中調(diào)試的工具有很大的幫助。
總之經(jīng)過這次課程設(shè)計,我對c語言的使用和理解都有了很大的加深,對于編程的思想也有了很多新的理解和感受。
第七部分:附錄
一、參考文獻(xiàn):
1、李麗娟主編,c語言程序設(shè)計教程(第二版),人民郵電出版社
2、嚴(yán)蔚敏主編,數(shù)據(jù)結(jié)構(gòu)(c語言),清華大學(xué)出版社
3、崔單主編,c語言程序設(shè)計案例精粹,電子工業(yè)出版社
4、譚浩強(qiáng)主編,程序設(shè)計(第三版),清華大學(xué)出版社
二、源程序
#include“stdio.h” #include“stdlib.h” #include“windows.h” #include“string.h”
void index();//首頁 void login();void bye_sys();//退出界面
void stu_login();//學(xué)生登錄菜單
void c_select();void c_view();//課程瀏覽
void c_add();//增加課程 void c_delete();void c_searchs();//學(xué)生查詢函數(shù) void c_searchm();//管理員查詢函數(shù) void c_viewm();//管理員瀏覽函數(shù) void c_views();//學(xué)生瀏覽函數(shù)
struct course//定義課程結(jié)構(gòu)體
{
int c_num;
char c_name[20];
int c_score;
int c_nelepeo;//課程已選人數(shù)
int c_melepeo;//課程人數(shù)上限 };struct student { char s_number[10];
char s_password[10];};struct manager { char m_name[10];char m_password[10];};
void index()//首頁 {
char input;
printf(“nnttt*****************************n”);
printf(“ttt
湖南大學(xué)學(xué)生選課系統(tǒng)n”);
printf(“ttt*****************************nnn”);
printf(“ttt*****************************nnn”);
printf(“ttt*****************************nnn”);
printf(“ttt*****************************nnn”);
printf(“ttt**********設(shè)計者:劉曉斌******nnn”);
input=getchar();
system(“cls”);} void login()//登陸界面
{
void stu_login();
void man_login();
void bye_sys();
int input;
do
{
system(“cls”);
printf(“nnnt1.學(xué)生登錄n”);
printf(“t2.管理員登陸n”);
printf(“t3.退出本系統(tǒng)n”);
printf(“t請選擇服務(wù)類別:”);
scanf(“%d”,&input);
if(input!=1&&input!=2&&input!=3)//輸入數(shù)不等于選項(xiàng)的時候打印畫面
{
printf(“nt輸入出錯!請重新選擇~n”);
printf(“nt按任意鍵返回選擇頁面~nt”);
getchar();getchar();
system(“cls”);
}
if(input==3)//如果輸入3退出系統(tǒng)
{
bye_sys();
}
}while(input!=1&&input!=2&&input!=3);
switch(input)
{
case 1:stu_login();break;
case 2:man_login();break;
} }
void bye_sys()//退出界面 { exit(0);}
void man_login(){
void c_add();
void c_delete();
void c_view();
void c_searchm();
int in;
do
{
system(“cls”);
printf(“nnt1.新增課程n”);
printf(“t2.刪除課程n”);
printf(“t3.課程瀏覽n”);
printf(“t4.課程查詢n”);
printf(“t5.退出n”);
printf(“nnt請選擇服務(wù)種類:”);
scanf(“%d”,∈);
if(in!=1&∈!=2&∈!=3&∈!=4&∈!=5)
{
printf(“nt沒有這項(xiàng)服務(wù)t按任意重新選擇”);
getchar();getchar();
}
}while(in!=1&∈!=2&∈!=3&∈!=4&∈!=5);
switch(in)
{
case 1:c_add();break;
case 2:c_delete();break;
case 3:c_viewm();break;
case 4:c_searchm();break;
case 5:login();break;
} }
void stu_login()//學(xué)生登錄菜單
{
void c_select();
void c_view();
void c_searchs();
void login();
int input;
do
{
system(“cls”);
printf(“nnnt--學(xué)生登陸--”);
printf(“nnt1.學(xué)生選課n”);
printf(“t2.課程瀏覽n”);
printf(“t3.課程查詢n”);
printf(“t4.退出n”);
scanf(“%d”,&input);
if(input!=1&&input!=2&&input!=3&&input!=4)
{
printf(“nt沒有這項(xiàng)服務(wù)~n”);
printf(“t按任意鍵重新選擇”);
getchar();
getchar();
}
}while(input!=1&&input!=2&&input!=3&&input!=4);
switch(input)
{
case 1:c_select();break;
case 2:c_views();break;
case 3:c_searchs();break;
case 4:login();break;
} }
void c_select(){
int n,in,i=0,j;int flag=0;
file *fp;
file *fp1;
char input;
struct course courses[10];
if((fp=fopen(“”,“rb”))==null)//判斷是否存在課程
{
printf(“nnnt課程不存在nn”);
printf(“t<按任意鍵返回管理菜單>nt”);
input=getchar();
input=getchar();
stu_login();//進(jìn)入學(xué)生登陸菜單
}
else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部
{
do
{
fread(&courses[i],sizeof(struct course),1,fp);
i=i+1;
}
while(!feof(fp));
fclose(fp);//文件讀完后關(guān)閉
}
printf(“nntt請輸入你要選課程的編號:”);
scanf(“%d”,&n);
if((fp1=fopen(“”,“rb”))==null)
{
fp1=fopen(“”,“wb”);
}
else
{
fclose(fp1);
fp1=fopen(“”,“ab”);
}
for(j=0;j
if(courses[j].c_num==n)
flag++;
if(flag==0)
{
printf(“nntt不存在對應(yīng)課程n”);
printf(“nntt繼續(xù)選課請按1,退出請按2:n”);
scanf(“%d”,∈);
switch(in)
{
case 1:c_select();break;
case 2:stu_login();break;
default:
printf(“輸入錯誤,將返回登錄界面!n”);
login();break;
}
}
else
{
fwrite(&courses[j],sizeof(struct course),1,fp1);
fclose(fp1);
printf(“nntt選課成功t請選擇:”);
printf(“nntt1.繼續(xù)選課”);
printf(“nntt2.退出,返回登錄界面!”);
scanf(“%d”,∈);
switch(in)
{
case 1:c_select();break;
case 2:stu_login();break;
default:break;
}
} }
void c_viewm()//課程瀏覽
{
void stu_login();
void c_view();
int
inp,i=0,n=0;
file *fp;
char input;
struct course courseview[10];
if((fp=fopen(“”,“rb”))==null)//判斷是否存在課程
{
system(“cls”);
printf(“nnnt課程不存在nn”);
printf(“t<按任意鍵返回管理菜單>nt”);
getchar();getchar();
stu_login();//進(jìn)入學(xué)生登陸菜單
}
else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部
{
do
{
fread(&courseview[i],sizeof(struct course),1,fp);
i=i+1;
}
while(!feof(fp));
fclose(fp);//文件讀完后關(guān)閉
do
{
system(“cls”);
if(i==1)
{
printf(“nnnttt沒有記錄!n”);
getchar();getchar();
man_login();
}
else
{
printf(“nt------共有%d條記錄-------”,i-1);
printf(“nnt課程編號: %dn”,courseview[n].c_num);
printf(“nnt課程名字: %sn”,courseview[n].c_name);
printf(“nnt課程學(xué)分: %dn”,courseview[n].c_score);
printf(“nnt課程已選人數(shù): %dn”,courseview[n].c_nelepeo);
printf(“nnt課程人數(shù)上限: %dn”,courseview[n].c_melepeo);
printf(“nnt1.上一頁t2.下一頁t3.回目錄”);
printf(“n請選擇:”);
scanf(“%d”,&inp);
switch(inp)
{
case 1:
{
if(n==0)
{
printf(“nt已到達(dá)首頁 t按任意鍵返回”);
input=getchar();
input=getchar();
}
else
{
n=n-1;
}
break;
}
case 2:
{
if(n==i-2)
{
printf(“nt已到達(dá)尾頁t按人意見返回”);
input=getchar();
input=getchar();
}
else
{
n=n+1;
}
break;
}
case 3:{man_login();break;}
default:
{
printf(“nt操作錯誤t按任意鍵返回”);
getchar();getchar();
break;
}
}
}
}while(inp!=3);
} }
void c_views()//課程瀏覽
{
void stu_login();
void c_view();
int
inp,i=0,n=0;
file *fp;
char input;
struct course courseview[10];
if((fp=fopen(“”,“rb”))==null)//判斷是否存在課程
{
system(“cls”);
printf(“nnnt課程不存在nn”);
printf(“t<按任意鍵返回管理菜單>nt”);
getchar();getchar();
stu_login();//進(jìn)入學(xué)生登陸菜單
}
else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部
{
do
{
fread(&courseview[i],sizeof(struct course),1,fp);
i=i+1;
}
while(!feof(fp));
fclose(fp);//文件讀完后關(guān)閉
do
{
system(“cls”);
if(i==1)
{
printf(“nnnttt沒有記錄!n”);
getchar();getchar();
stu_login();
}
else
{
printf(“nt------共有%d條記錄-------”,i-1);
printf(“nnt課程編號: %dn”,courseview[n].c_num);
printf(“nnt課程名字: %sn”,courseview[n].c_name);
printf(“nnt課程學(xué)分: %dn”,courseview[n].c_score);
printf(“nnt課程已選人數(shù): %dn”,courseview[n].c_nelepeo);
printf(“nnt課程人數(shù)上限: %dn”,courseview[n].c_melepeo);
printf(“nnt1.上一頁t2.下一頁t3.回目錄”);
printf(“n請選擇:”);
scanf(“%d”,&inp);
switch(inp)
{
case 1:
{
if(n==0)
{
printf(“nt已到達(dá)首頁 t按任意鍵返回”);
input=getchar();
input=getchar();
}
else
{
n=n-1;
}
break;
}
case 2:
{
if(n==i-2)
{
printf(“nt已到達(dá)尾頁t按人意見返回”);
input=getchar();
input=getchar();
}
else
{
n=n+1;
}
break;
}
case 3:{stu_login();break;}
default:
{
printf(“nt操作錯誤t按任意鍵返回”);
getchar();getchar();
break;
}
}
}
}while(inp!=3);
} }
void c_searchs(){
void stu_login();
void c_searchs();
int id,i=0,j,inp,k;
int flag=0;
file *fp;
struct course coursesear[10];
if((fp=fopen(“”,“rb”))==null)
//判斷課程信息是否存在 {
system(“cls”);
printf(“nnt課程不存在t按任意鍵返回”);
getchar();getchar();
stu_login();
}
else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部
{
do
{
fread(&coursesear[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
}
system(“cls”);
printf(“nnttt請輸入你要查詢的課程編號:”);
scanf(“%d”,&id);
do//檢查輸入是否符合要求
{
for(j=0;j
{
if(id==coursesear[j].c_num)
{
flag++;
k=j;
}
}
if(flag==1)
{
system(“cls”);
printf(“nnt課程編號:%dn”,coursesear[k].c_num);
printf(“nnt課程名字:%sn”,coursesear[k].c_name);
printf(“nnt課程學(xué)分:%dn”,coursesear[k].c_score);
printf(“nnt課程已選人數(shù):%dn”,coursesear[k].c_nelepeo);
printf(“nnt課程人數(shù)上限:%dn”,coursesear[k].c_melepeo);
getchar();getchar();
printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);
printf(“請選擇:”);
scanf(“%d”,&inp);
switch(inp)
{
case 1:c_searchs();
case 2:stu_login();
default:
{
printf(“nt沒有這項(xiàng)服務(wù)t請按任意鍵重新輸入”);
getchar();getchar();
}
}
}
else
{
system(“cls”);
printf(“nnt不存在對應(yīng)記錄n”);
printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);
printf(“請選擇:”);
scanf(“%d”,&inp);
switch(inp)
{
case 1:c_searchs();
case 2:stu_login();
default:
{
printf(“nt沒有這項(xiàng)服務(wù)t請按任意鍵重新輸入”);
getchar();getchar();
}
}
}
}while(inp!=1);
}
void c_searchm(){
void stu_login();
void c_searchm();
int id,i=0,j,inp,k;
int flag=0;
file *fp;
struct course coursesear[10];
if((fp=fopen(“”,“rb”))==null)
//判斷課程信息是否存在 {
system(“cls”);
printf(“nnt課程不存在t按任意鍵返回”);
getchar();getchar();
stu_login();
}
else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部
{
do
{
fread(&coursesear[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
}
system(“cls”);
printf(“nnttt請輸入你要查詢的課程編號:”);
scanf(“%d”,&id);
do//檢查輸入是否符合要求
{
for(j=0;j
{
if(id==coursesear[j].c_num)
{
flag++;
k=j;
}
}
if(flag==1)
{
system(“cls”);
printf(“nnt課程編號:%dn”,coursesear[k].c_num);
printf(“nnt課程名字:%sn”,coursesear[k].c_name);
printf(“nnt課程學(xué)分:%dn”,coursesear[k].c_score);
printf(“nnt課程已選人數(shù):%dn”,coursesear[k].c_nelepeo);
printf(“nnt課程人數(shù)上限:%dn”,coursesear[k].c_melepeo);
getchar();getchar();
printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);
printf(“請選擇:”);
scanf(“%d”,&inp);
switch(inp)
{
case 1:c_searchm();
case 2:man_login();
default:
{
printf(“nt沒有這項(xiàng)服務(wù)t請按任意鍵重新輸入”);
getchar();getchar();
}
}
}
else
{
system(“cls”);
printf(“nnt不存在對應(yīng)記錄n”);
printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);
printf(“請選擇:”);
scanf(“%d”,&inp);
switch(inp)
{
case 1:c_searchm();
case 2:man_login();
default:
{
printf(“nt沒有這項(xiàng)服務(wù)t請按任意鍵重新輸入”);
getchar();getchar();
}
}
}
}while(inp!=1);}
void c_add()//增加課程 {
void c_add();
void man_login();
int i=0,j,inp;
file *fp;
struct course course_new;
struct course courses[10];
system(“cls”);
printf(“nntt請輸入課程信息”);
printf(“nntt1.課程編號:”);
scanf(“%d”,&course_new.c_num);
printf(“nntt2.課程名字:”);
scanf(“%s”,course_new.c_name);
printf(“nntt3.課程學(xué)分:”);
scanf(“%d”,&course_new.c_score);
printf(“nntt4.課程已選人數(shù):”);
scanf(“%d”,&course_new.c_nelepeo);
printf(“nntt5.課程人數(shù)上限:”);
scanf(“%d”,&course_new.c_melepeo);
if((fp=fopen(“”,“rb”))!=null)
{
do
{
fread(&courses[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
for(j=0;j<=i-1;j++)
if(course_new.c_num==courses[j].c_num)
{
system(“cls”);
printf(“nnttt對不起,這個編號已經(jīng)使用過nntt按任意鍵返回管理菜單”);
getchar();getchar();
man_login();
break;
}
}
if((fp=fopen(“”,“rb”))==null)
{
fp=fopen(“”,“wb”);
}
else
{
fclose(fp);
fp=fopen(“”,“ab”);
}
fwrite(&course_new,sizeof(struct course),1,fp);
fclose(fp);
printf(“nntt信息輸入完畢t按任意鍵繼續(xù)”);
getchar();getchar();
do
{
system(“cls”);
printf(“nntt1.繼續(xù)輸入”);
printf(“nntt2.返回管理菜單”);
printf(“nntt請選擇”);
scanf(“%d”,&inp);
if(inp!=1&&inp!=2)
{
printf(“輸入不符合要求t按任意鍵重新選擇”);
getchar();getchar();
}
}while(inp!=1&&inp!=2);
switch(inp)
{
case 1:c_add();break;
case 2:man_login();break;
} }
void c_delete()//查詢后刪除 {
file *fp;
int i=0,j,n,k,flag=0;
struct course courses[10];
void c_delete();
void man_login();
printf(“nntt請輸入你要刪除的課程編號:”);
scanf(“%d”,&n);
if((fp=fopen(“”,“rb”))!=null)
{
do
{
fread(&courses[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
}
else
{
printf(“nntt不存在任何課程t按任意鍵返回”);
getchar();getchar();
man_login();
}
for(j=0;j
{
if(courses[j].c_num==n)
{
flag=1;
fp=fopen(“”,“wb”);
for(k=0;k
fwrite(&courses[k],sizeof(struct course),1,fp);
fclose(fp);
fp=fopen(“”,“ab”);
for(k=j+1;k
{
fwrite(&courses[k],sizeof(struct course),1,fp);
}
printf(“nntt記錄已刪除!t按任意鍵返回ntt”);
getchar();getchar();
man_login();
fclose(fp);
}
}
if(flag==0)
{
printf(“nntt不存在對應(yīng)的課程t按任意鍵返回”);
getchar();getchar();
man_login();
} // printf(“nntt記錄已刪除!t按任意鍵返回ntt”);
}
int main(){
index();login();return 0;}
制作選課系統(tǒng)篇四
“成績管理系統(tǒng)”課程設(shè)計指導(dǎo)書
課題名稱:學(xué)生成績管理系統(tǒng)
設(shè)計目標(biāo):按照軟件工程的規(guī)范,以sql server或oracle為后臺數(shù)據(jù)庫,以visual c++、delphi等為前端開發(fā)工具,設(shè)計并實(shí)現(xiàn)一個能模擬高等學(xué)校學(xué)生成績管理的系統(tǒng)。
需求描述:
學(xué)生成績管理系統(tǒng)中:
1.系統(tǒng)用戶
系統(tǒng)的用戶是學(xué)校的學(xué)生、教師和管理員。學(xué)生使用本系統(tǒng)查詢自己的成績。教師使用本系統(tǒng)錄入和查詢自己所授課程的考試成績。教學(xué)管理員可以查詢所有課程成績,并使用本系統(tǒng)進(jìn)行成績的統(tǒng)計和生成報表。
2.系統(tǒng)功能
(1)成績錄入:
教師可以查詢自己本學(xué)期所授課程,并錄入學(xué)生的考試成績。錄入過
程中,可以暫存已錄入的成績,當(dāng)錄入完成后提交。
(2)成績維護(hù):
教師在提交前,可以修改已錄入或暫存的學(xué)生成績;但提交后,則只
能查詢不能再進(jìn)行任何修改。
教學(xué)管理員可以清除教師已提交的成績。
(3)成績查詢:
教師、教學(xué)管理員可以查詢學(xué)生考試成績。學(xué)生只允許查詢自己的考
試成績,教師只允許查詢自己所授課程的成績。
(4)成績統(tǒng)計:
教學(xué)管理員可以按課程、按學(xué)生、按班級等進(jìn)行成績統(tǒng)計。
教學(xué)管理員根據(jù)核算出的總評成績統(tǒng)計處于優(yōu)、良、中、及格、不及
格的學(xué)生人數(shù)以及占總?cè)藬?shù)的百分比。其中100-90為優(yōu),89-80為良,79-70為中,69-60為及格,60分以下為不及格。
按要求輸出成績在優(yōu)、良、中、及格、不及格各區(qū)間的學(xué)生學(xué)號。
結(jié)果形式:
提交課程設(shè)計報告、源程序和可演示的軟件
課程設(shè)計報告要求:詳見課程設(shè)計模板
課程設(shè)計參考思路:
(1)熟悉數(shù)據(jù)庫和開發(fā)工具,掌握開發(fā)工具與本地數(shù)據(jù)庫的連接方法。
(2)理解系統(tǒng)的信息需求,進(jìn)行合理的數(shù)據(jù)庫設(shè)計,建立各數(shù)據(jù)庫表。
(3)理解系統(tǒng)的功能需求,設(shè)計應(yīng)用軟件。結(jié)合delphi 或vc++進(jìn)行系統(tǒng)界面
(窗體、菜單以及相應(yīng)控制按鈕)的設(shè)計、連接與操縱數(shù)據(jù)庫方案的設(shè)計,編寫程序。
(4)系統(tǒng)運(yùn)行、調(diào)試并完善。
(5)撰寫設(shè)計報告。
制作選課系統(tǒng)篇五
軟件開發(fā)環(huán)境與工具
課程設(shè)計
實(shí)驗(yàn)題目:酒店管理系統(tǒng) 指導(dǎo)老師:南麗麗
專業(yè)班級:計算機(jī)科學(xué)與技術(shù)系1105班 姓 名:陳阿艷(2011100516)
王媛(2011100529)
閆麗穎(2011100503)樊建紅(2011100515)2013年 12月13日
目錄
第一章…………………………………前言
1.1…………………………………………………選題背景
1.2…………………………………………………課題研究的目的和意義
1.3…………………………………………………本文的研究內(nèi)容
1.4…………………………………………………國內(nèi)外現(xiàn)狀
第二章…………………………………開發(fā)環(huán)境及工具介紹 2.1………………………………………………..visual 簡介
2.2…………………………………………............sql server2005 第三章…………………………………系統(tǒng)分析
3.1…………………………………………………..可行性分析
3.2…………………………………………………...需求分析
3.2.1…………………….酒店管理部分
3.2.1.1……………..客戶管理
第四章…………………………………數(shù)據(jù)庫設(shè)計
4.1…………………………………………………..數(shù)據(jù)庫設(shè)計截圖 4.2………………………………………………….權(quán)限設(shè)置 4.3………………………………………………….客戶信息表 4.4………………………………………………….房態(tài)表 4.5………………………………………………….結(jié)算表
第五章…………………………………系統(tǒng)實(shí)現(xiàn)
5.1…………………………………………………登陸
5.2…………………………………………………客戶入住
5.3…………………………………………………客戶結(jié)算退房
5.4…………………………………………………以“老板”為例,展示系統(tǒng)功能
第六章…………………………………主要代碼 第七章…………………………………總結(jié)
第1章 前 言
1.1 選題背景
酒店業(yè)是一個前景廣闊而又競爭激烈的行業(yè)。改革開放以來,我國的酒店業(yè)迅速發(fā)展,已經(jīng)成為一個具有相當(dāng)規(guī)模的產(chǎn)業(yè)。由于我國的旅游業(yè)迅速發(fā)展,通過調(diào)查,我國在2020年將成為世界上第四大旅游國家;同時我國加入世界貿(mào)易組織,酒店業(yè)將完全開放,這個時候,我國的酒店業(yè)將面臨著前所未有的機(jī)遇和挑戰(zhàn)。但是,現(xiàn)在甚至還有一些酒店還停留在由人工操作和管理階段,這樣已經(jīng)無法適應(yīng)當(dāng)前的發(fā)展趨勢。因此,要想使酒店的工作質(zhì)量和效率提高,采用先進(jìn)的計算機(jī)網(wǎng)絡(luò) 通信技術(shù)改變酒店業(yè)務(wù)模式,實(shí)現(xiàn)酒店業(yè)務(wù)管理的自動化已經(jīng)成為一種必然。
酒店管理系統(tǒng)采用b/s結(jié)構(gòu)。按照按國家星級賓館標(biāo)準(zhǔn)化業(yè)務(wù)程序流式設(shè)計,會采用主流開發(fā)工具來開發(fā),搭建比較穩(wěn)定可靠安全的服務(wù)端來輔佐客戶管理,并且還采用數(shù)據(jù)庫mysql,會通過測試用例來達(dá)到測試效果,技術(shù)支持會采用輕量級框架struts和hibernate持久化來完成,服務(wù)器采用tomcat,通過powerdesigner來設(shè)計數(shù)據(jù)模型為最初業(yè)務(wù)流程的概念設(shè)計階段和詳細(xì)設(shè)計階段打好基礎(chǔ)[1]。
1.2 課題研究的目的和意義
對酒店整個來說,對酒店經(jīng)營狀況起決定作用的是酒店的服務(wù)管理水平。如何利用先進(jìn)的管理手段來提高酒店的管理水平成為酒店業(yè)務(wù)發(fā)展的當(dāng)務(wù)之急。面對信息時代的機(jī)遇和挑戰(zhàn),利用科技手段提高酒店的管理無疑是一條行之有效的途徑。雖然計算機(jī)管理并不是酒店管理走向成功的關(guān)鍵元素,但它可以最大限度地發(fā)揮準(zhǔn)確、快捷、高效等作用,對酒店的業(yè)務(wù)管理提供強(qiáng)有力的支持。因此,采用全新的計算機(jī)網(wǎng)絡(luò)和酒店業(yè)務(wù)管理系統(tǒng),已成為提高酒店的管理效率,使作業(yè)人員與管理系統(tǒng)之間靈活互動,實(shí)現(xiàn)流暢的工作流銜接,幫助酒店有效地進(jìn)行 3 業(yè)務(wù)管理,釋放最大價值。酒店業(yè)務(wù)管理系統(tǒng)在達(dá)到在節(jié)省人力資源成本的同時,可以提高業(yè)務(wù)效率,并能夠及時、準(zhǔn)確、迅速地滿足顧客服務(wù)的需求[2]。
1.3 本文的研究內(nèi)容
課程設(shè)計選題《酒店管理系統(tǒng)》主要研究了:酒店業(yè)務(wù)的管理(劃分為,登陸界面部分,查詢界面部分,入住界面部分,退房界面部分)。
1.4 國內(nèi)外現(xiàn)狀
隨著我國經(jīng)濟(jì)體制改革的不斷深化和我國經(jīng)濟(jì)的快速發(fā)展,我國人民的收入不斷提高,消費(fèi)觀念也有提高,對服務(wù)質(zhì)量的要求也有很大的提高。各地把旅游業(yè)當(dāng)作本 地經(jīng)濟(jì)發(fā)展的重要支柱之一。酒店作為人們食宿、娛樂、休閑的場所而得到了快速的發(fā)展。社會上也成立了各種類型,不同規(guī)模的酒店服務(wù)企業(yè)。如何為客戶提供更 加準(zhǔn)確及時的服務(wù),成為各個酒店競爭關(guān)鍵。所以酒店業(yè)務(wù)信息化建設(shè)就成為了客戶衡量酒店提供商服務(wù)標(biāo)準(zhǔn)的一個準(zhǔn)則,信息系統(tǒng)成為了基礎(chǔ)。
隨著internet技術(shù)的進(jìn)一步發(fā)展和普及,不能很好的適應(yīng)世界經(jīng)濟(jì)發(fā)展的形式和我國國民經(jīng)濟(jì)建設(shè)的需要,市場現(xiàn)有的產(chǎn)品化的酒店業(yè)務(wù)軟件系統(tǒng)在不斷發(fā) 展中的酒店的需求?;趙eb的酒店管理系統(tǒng)的總體設(shè)計目標(biāo)能夠建立完善、高效、可靠的酒店業(yè)務(wù)信息系統(tǒng),為酒店提供良好的信息環(huán)境[3]。
第2章 開發(fā)環(huán)境及工具介紹
2.1visual 簡介
visual ,在某些特定情況下也直接簡稱vb,語言一起討論的時候。
visual 屬basic系語言,其語法特點(diǎn)是以極具親和力的英文單詞為基礎(chǔ)標(biāo)識,以及與自然語言極其相近的邏輯表達(dá),代碼就好像在寫英文句子一樣,從這個角度來說,似乎是最高級的一門編程語言,也確實(shí)是迄今為止最強(qiáng)大的一門編程語言。
visual 的應(yīng)用范圍包括windows桌面、web以及當(dāng)下突然覺醒的正在奮力追趕的第三大移動平臺windows phone。
2.2 sql server2005 sql server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由microsoft、sybase 和ashton-tate三家公司共同開發(fā)的,于1988 年推出了第一個os/2版本。在windows nt 推出后,microsoft與sybase 在sql server 的開發(fā)上就分道揚(yáng)鑣了,microsoft 將sql server移植到windows nt系統(tǒng)上,專注于開發(fā)推廣sql server 的windows nt 版本。sybase 則較專注于sql server在unⅸ操作系統(tǒng)上的應(yīng)用。
microsoft sql server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能(bi)工具提供了企業(yè)級的數(shù)據(jù)管理。microsoft sql server 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。
第3章
系統(tǒng)分析
3.1 可行性分析
隨著旅游業(yè)的發(fā)展,酒店、餐飲娛樂行業(yè)日趨發(fā)達(dá),引入全方位的電腦服務(wù)和電腦管理日益流行。同時,酒店和餐廳娛樂業(yè)引入電腦服務(wù)和管理也取得了優(yōu)良的經(jīng)濟(jì) 效益和社會效益。為此,國家建設(shè)部已于最近作出明確規(guī)定:凡星級酒店在項(xiàng)目審批時,其設(shè)計方案必須包括電腦管理系統(tǒng),否則不予立項(xiàng)??梢姡频旯芾黼娔X化 勢在必行。酒店管理系統(tǒng)將先進(jìn)的電腦技術(shù)與現(xiàn)代酒店服務(wù)管理完美地結(jié)合起來,實(shí)現(xiàn)了住宿、餐飲、娛樂全新概念的服務(wù)和管理方式。
一個成熟的酒店管理系統(tǒng)不僅僅是記錄酒店客人的信息,提供查詢,報表打印等一系列簡單的工作,它能讓工作人員從煩瑣的手工操作中解脫,并且酒店管理系統(tǒng)本 身就代表著一種管理方法。隨著它的深入,將帶動企業(yè)的運(yùn)做,為管理和決策提供支持。為了達(dá)到這個要求,它必須依靠高起點(diǎn)的硬件環(huán)境和軟件開發(fā)工具來保證系 統(tǒng)的穩(wěn)定和正常運(yùn)行。酒店電腦系統(tǒng)要求24小時連續(xù)運(yùn)行,數(shù)據(jù)量大,可靠性要求高,因此整個電腦系統(tǒng)供電采用專線方式,加配ups(不間斷供電系統(tǒng)),并合理接地,以便保障整套系統(tǒng)的正常運(yùn)行[7]。
3.2 需求分析
系統(tǒng)需對用戶登錄進(jìn)行管理。使用各功能模塊時,系統(tǒng)應(yīng)驗(yàn)證用戶身份的有效性,否則要求用戶登錄。另外,允許用戶對自己的密碼進(jìn)行修改。
系統(tǒng)應(yīng)提供客房的分類管理功能,可分類制訂客房面積、價格、是否配備空調(diào)等客房類型,對不同標(biāo)準(zhǔn)的客房進(jìn)行有效管理。系統(tǒng)可實(shí)現(xiàn)對客房信息的添加、刪除以及修改。
在進(jìn)行入住/退房管理時,系統(tǒng)可以根據(jù)客房當(dāng)前的狀態(tài)自動提示可用服務(wù)(入住/退房)。如果客房沒有客人入住,則該客房的可用服務(wù)為“入住”;否則,可用服務(wù)為“退房”。
系統(tǒng)的客戶端在windows平臺下運(yùn)行,服務(wù)器端可在windows平臺或unix平臺下運(yùn)行。系統(tǒng)還需要有較好的安全性和可擴(kuò)展性[8]。
需求分析是從客戶的需求中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問題,通過對用戶業(yè)務(wù)問題的分析,規(guī)劃出系統(tǒng)的功能模塊,即定義用例。這個步驟是對理解需求的升華,直接關(guān)系到該系統(tǒng)的質(zhì)量。
整個系統(tǒng)可以分為2大部分。酒店網(wǎng)站部分(客戶服務(wù)網(wǎng)站)和酒店管理部分(管理員部分)。本系統(tǒng)只做了有關(guān)酒店管理的一部分。3.2.1 酒店管理部分
1.客房管理: 預(yù)訂客房管理、客房查詢、退房管理。
前臺服務(wù)員的主要職能是負(fù)責(zé)訂房和退房,以及查詢?nèi)胱〉目蛻粜畔ⅰK性摻巧豢梢允褂貌糠止δ?,包括預(yù)定管理、客戶信息查詢,入住管理,退房管理功能。
第四章 數(shù)據(jù)庫設(shè)計
4.1 數(shù)據(jù)庫設(shè)計截圖
4.2權(quán)限設(shè)置
4.3客戶信息表
4.4房態(tài)表
4.5結(jié)算表
第5章 系統(tǒng)實(shí)現(xiàn)
5.1登陸
分別用三種身份登陸,所得到的權(quán)限也就不同
老板經(jīng)理員工
5.2客戶入住(通過添加客戶信息,自動計算應(yīng)付房費(fèi))
5.3客戶結(jié)算退房
5.4以“老板”為例,展示系統(tǒng)功能
(1)查詢房態(tài)
住著人的房間有:
通過房間號查某間房的房態(tài)
(2)職工管理
添加職工
設(shè)置權(quán)限
第登陸
public class login
private sub btn_login_click(byval sender as , byval e as rgs)handles
_id =
_pwd = me.
dim s as integer
s = _check
if s = 1 then
msgbox(“歡迎使用假日酒店管理系統(tǒng)”, ation + )
()
()
else
if s =-1 then
msgbox(“用戶名錯誤!”, ation + )
else
msgbox(“密碼錯誤!”, ation + )
end if
end if
end sub
6章 主要代碼
private sub btn_cancel_click(byval sender as , byval e as rgs)handles
()
end sub
private sub login_load(byval sender as , byval e as rgs)handles
end sub end class
主界面
public class main_form
private sub main_form_load(byval sender as , byval e as rgs)handles
call init_tree()
end sub
public sub init_tree()
()
dim s as string
s = “select * from gg_menu where isstop='0'”
dim dr as areader
dr = _dr(s)
dim mynode as treenode
while
mynode = new treenode
= (“menuname”)
if _auth((“typeid”))= false then
continue while
end if
= (“typeid”)
if (“isgroup”)= “0” then
= (“form”)
else
= “"
end if
if (”parid“)= ”0“ then
me.treev.(mynode)
else
if ((”parid“), true).length > 0 then
((”parid“), true)(0).(mynode)
end if
end if
end while
()
end sub
private sub treev_afterselect(byval sender as , byval e as eweventargs)handles elect
if = ”“ then exit sub
dim formname as string
formname = ”hotel_manager.“ &
dim f as form
'
f = ctype(instance(e(formname)), form)
()
ent = me
state = zed
end sub
private sub 退出toolstripmenuitem_click(byval sender as , byval e as rgs)handles 注á?é銷¨
_id = ”“
_name = ”“
_pwd = ”“
()
()
end sub
private sub timer1_tick(byval sender as , byval e as rgs)handles
= ”登陸者“ & _name
= ”日期“ & format(now, ”yyyy-mm-dd“)
= ”時間“ & format(now, ”long time“)
end sub
private sub 退出toolstripmenuitem1_click(byval sender as , byval e as rgs)handles
()
end sub end class 入住
public class ruzhu_login
private sub ruzhu_login_load(byval sender as , byval e as rgs)handles
me. = _newcode
call init_cbox()
end sub
private sub cbox_type_selectedindexchanged(byval sender as , byval e as rgs)handles edindexchanged
dim s as string
s = ”select * from fang where fang_state='空' and fang_type='“ & & ”'“
dim dr as areader
dr = _dr(s)
()
while
(dr!fang_num)
= dr!fang_yajin
= dr!fang_price
end while
()
end sub
private sub btn_ok_click(byval sender as , byval e as rgs)handles
dim s as string
dim id_card as string
id_card = me.
dim cage as integer
cage = _age(id_card)
dim stoptime as string
stoptime = ”0000/00/00 00:00:00“
s = ”insert into customer values('“ & & ”','“ & & ”','“ & & ”','“ & ng & ”','“ & _
& ”','“ & & ”','“ & & ”','“ & now & ”','“ & stoptime & ”','“ & _
& ”','“ & & ”','“ & & ”','“ & & ”')“
dim s2 as string
s2 = ”update fang set fang_state='滿' where fang_num='“ & & ”'“
try
_ex(s)
_ex(s2)
msgbox(”添加成功!“, ation + )
savecode()
catch ex as exception
msgbox(”添加失敗!“ & e, ation + )15
end try
end sub
private sub btn_jisuan_click(byval sender as , byval e as rgs)handles
me. = * +
end sub
private sub btn_add_click(byval sender as , byval e as rgs)handles
me. = _newcode
= ”“
()
= ”“
()
()
= ”“
= ”“
= ”“
= ”“
= ”“
= ”“
call init_cbox()
end sub
sub init_cbox()'為性別和房間類型進(jìn)行添加
(”男“)
(”女“)
(”單人間“)
(”雙人間“)
end sub end class 結(jié)算
public class jiesuan
dim str as string
private sub jiesuan_load(byval sender as , byval e as rgs)handles
call btn_show_click(sender, e)
end sub
private sub btn_jiesuan_click(byval sender as , byval e as rgs)handles
dim s as string
dim yajin as string
dim yijiao as string
dim str as string
str = now
str = mid(str, 1, 10)
s = ”select yajin,yijiao from customer where start_time like '“ & str & ”%' “
dim dr as areader
dr = _dr(s)
while
yajin = dr!yajin + yajin
yijiao = dr!yijiao + yijiao
end while
()
s = ”select count(*)from jiesuan where riqi like '“ & str & ”%' “
dim conn as new nection
tionstring = _strconn
dim cmd as new mand
tion = conn
dtype =
dtext = s
()
if ctype(escalar(), integer)= 0 then
try
s = ”insert into jiesuan values('“ & str & ”','“ & yijiao & ”','“ & yajin & ”','“ & yijiaoyajin & ”' where riqi='“ & str & ”'“
_ex(s)
catch ex as exception
msgbox(”結(jié)算時出錯誤!“)
end try
end if
end if
s = ”select * from jiesuan where riqi='“ & str & ”'“
dim ds as dataset
ds = _ds(s)
urce = (0)
end sub
private sub btn_show_click(byval sender as , byval e as rgs)handles
dim s as string
s = ”select * from jiesuan“
dim ds as dataset
ds = _ds(s)
urce = (0)
end sub
private sub btn_jingli_click(byval sender as , byval e as rgs)handles
dim str as string
str = now
str = mid(str, 1, 10)
if _job = ”經(jīng)理“ then
dim s as string
s = ”update jiesuan set jinglishenhe='“ & _name & ”' where riqi='“ & str & ”'“
try
_ex(s)
call btn_show_click(sender, e)
catch ex as exception
msgbox(”審核失敗!“)
end try
else
msgbox(”你沒有權(quán)限!“)
end if
end sub
private sub btn_laoban_click(byval sender as , byval e as rgs)handles
dim str as string
str = now
str = mid(str, 1, 10)
if _job = ”老板“ then
dim s as string
s = ”update jiesuan set laobanshenhe='“ & _name & ”' where riqi='“ & str & ”'“
try
_ex(s)
call btn_show_click(sender, e)
catch ex as exception
msgbox(”審|核失?。 ?
end try
else
msgbox(”你沒有權(quán)限!“)
end if
end sub end class
退房
public class tuifang_login
dim dv as dataview
private sub btn_chaxun_click(byval sender as , byval e as rgs)handles
dim str as string
str = ”select * from customer_fang where fang_no='“ & & ”'“
dim ds as dataset
ds = _ds(str)
dv = (”temp“).defaultview
urce = dv
end sub
private sub btn_tuifang_click(byval sender as , byval e as rgs)handles
dim s as string
s = ”update fang set fang_state='空?' where fang_num='“ & (0).item(”fang_no“).tostring & ”'“
dim s2 as string
s2 = ”update customer set yingjiao='“ & (0).item(”yingjiao“)(0).item(”yajin“)& ”' where customer_no='“ & (0).item(”customer_no“)& ”'“
try
_ex(s)
_ex(s2)
msgbox(”退房成功!“, ation + )
catch ex as exception
msgbox(”退房失敗!“ & e, ation + )
end try
end sub
private sub panel2_paint(byval sender as , byval e as ventargs)handles
end sub
查詢
private sub btn_customer_click(byval sender as , byval e as rgs)handles
show_all_coustomer()
end sub
private sub btn_chaxun_click(byval sender as , byval e as rgs)handles
dim str as string
if <> ”“ and <> ”“ then
str = ”fang_no='“ & & ”' and customer_name='“ & & ”'“
elseif <> ”“ and = ”“ then
str = ”fang_no='“ & & ”'“
elseif = ”“ and <> ”“ then
str = ” customer_name='“ & & ”'“
end if
call show_all(str)
end sub
private sub panel2_paint(byval sender as , byval e as ventargs)handles
end sub end class
管理
public class cmanager
sub show_role_auth()
dim s as string
s = ”select * from role_auth_v where role_name<>'老板'“
dim ds as dataset
ds = _ds(s)
urce = (”temp“)
end sub
private sub cmanager_load(byval sender as , byval e as rgs)handles
dim s as string
s = ”select * from role_auth_v where role_name<>'老板'“
dim ds as dataset
ds = _ds(s)
urce = (”temp“)
dim dr as areader
s = ”select * from gg_menu where menuname<>'權(quán)限t'and menuname<>'權(quán)限管理'“
dr = _dr(s)
while
((”menuname“))
end while
()
s = ”select * from role where role_name<>'老板'“
dr = _dr(s)
while
((”role_name“))
end while
()
end sub
private sub dgview_role_auth_cellclick(byval sender as object, byval e as idviewcelleventargs)handles ick
me. = (0).ng
me. = (1).ng
end sub
private sub btn_add_click(byval sender as , byval e as rgs)handles
dim s as string
dim roleid as string
dim typeid as string
s = ”select role_id from role where role_name='“ & & ”'“
dim dr as areader
dr = _dr(s)
while
roleid = dr!role_id
end while
()
s = ”select typeid from gg_menu where menuname='“ & & ”'“
dr = _dr(s)
while
typeid = dr!typeid
end while
()
s = ”insert into role_auth values('“ & roleid & ”','“ & typeid & ”')“
try
_ex(s)
msgbox(”添加成功!“, ation + )
catch ex as exception
msgbox(”添加失敗!“ & e, ation + )
end try
call show_role_auth()
end sub
private sub btn_del_click(byval sender as , byval e as rgs)handles
dim s as string
dim roleid as string
dim typeid as string
s = ”select role_id from role where role_name='“ & & ”'“
dim dr as areader
dr = _dr(s)
while
roleid = dr!role_id
end while
()
s = ”select typeid from gg_menu where menuname='“ & & ”'“
dr = _dr(s)
while
typeid = dr!typeid
end while
()
s = ”delete from role_auth where role_id='“ & roleid & ”'and type_id='“ & typeid & ”' “
try
_ex(s)
msgbox(”刪除成功!“, ation + )
catch ex as exception
msgbox(”刪除失??!“ & e, ation + )
end try
call show_role_auth()
end sub
private sub dgview_role_auth_cellcontentclick(byval sender as , byval e as idviewcelleventargs)handles ntentclick
end sub end class 22
員工管理
public class staff_manager
private sub btn_show_click(byval sender as , byval e as rgs)handles
dim s as string
s = ”select * from staff where staff_job='職員“
dim ds as dataset
ds = _ds(s)
urce = (0)
end sub
private sub btn_add_click(byval sender as , byval e as rgs)handles
dim s as string
s = ”insert into staff values('“ & & ”','“ & & ”','“ & & ”','“ & _
& ”','職員'“ & & ”','“ & & ”')“
try
_ex(s)
msgbox(”添加成功!“)
catch ex as exception
msgbox(”添加失敗“ & e)
end try
end sub
private sub btn_del_click(byval sender as , byval e as rgs)handles
dim s as string
s = ”delete from staff where staff_no='“ & & ”'“
try
_ex(s)
msgbox(”刪除成功!“)
catch ex as exception
msgbox(”刪除失敗“ & e)
end try
end sub
private sub btn_chaxun_click(byval sender as , byval e as rgs)handles 23
dim s as string
s = ”select * from staff where staff_no='“ & & ”' and staff_job='職員'"
dim ds as dataset
ds = _ds(s)
urce = (0)
end sub
private sub staff_manager_load(byval sender as , byval e as rgs)handles
call btn_show_click(sender, e)
end sub
private sub dgview_staff_cellclick(byval sender as object, byval e as idviewcelleventargs)handles ick
= (0).ng
= (1).ng
= (2).ng
= (5).ng
= (6).ng
end sub
private sub panel2_paint(byval sender as , byval e as ventargs)handles
end sub end class
第7章 總 結(jié)
經(jīng)過這段時間的精心設(shè)計,系統(tǒng)的基本功能已經(jīng)實(shí)現(xiàn),并能實(shí)踐于一些業(yè)務(wù)管理過程中,但酒店業(yè)務(wù)管理系統(tǒng)是一個龐大的工程,要使網(wǎng)絡(luò)交互功能的實(shí)現(xiàn),腳本的設(shè)計,網(wǎng)頁的構(gòu)架,網(wǎng)頁的美工,文字的編輯,非一朝一夕可盡善盡美的,這需要一個長期的摸索與完善過程,同時還要在實(shí)踐中發(fā)現(xiàn)與操作者使用要求不相符合的 地方還要修改。子系統(tǒng)功能雖已基本實(shí)現(xiàn),但仍有諸多地方需要修改。隨著酒店業(yè)務(wù)的擴(kuò)展,服務(wù)的增加,酒店業(yè)務(wù)管理系統(tǒng)也逐漸發(fā)展、完善。如果沒有一套可靠的酒店業(yè)務(wù)管理系統(tǒng),但憑手工操作,不僅效率低下,而且會極大地形象到酒店的服務(wù)質(zhì)量。要在酒店服務(wù)中選擇好適合自己酒店實(shí)際情況的業(yè)務(wù)管理系統(tǒng)不僅 要考慮該系統(tǒng)在酒店的實(shí)用性,還要考慮酒店對該系統(tǒng)所能夠承擔(dān)費(fèi)用的能力,以及這個系統(tǒng)對操作員來說的操作難易程度。通過本次課程設(shè)計中,編程技能,sql以及jdbc連接數(shù)據(jù)庫和動態(tài)頁面的用法。比較全面的鞏固了下面向?qū)ο蟮木幊趟枷?。在本次課程設(shè)計中,我們懂得了謹(jǐn)慎和團(tuán)結(jié)的重要性,明確分工也使我們提高了實(shí)驗(yàn)的效率,這對我們以后的學(xué)習(xí)工作都有很大的幫助。
【本文地址:http://www.aiweibaby.com/zuowen/1092320.html】