




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、成績(jī)南京工程學(xué)院課程設(shè)計(jì)說(shuō)明書(論文)題 目 人員管理信息系統(tǒng) 課 程 名 稱 面向?qū)ο蟪绦蛟O(shè)計(jì)B 院(系、部、中心) 通信工程學(xué)院 專 業(yè) 多媒體通信 班 級(jí) 媒體通信111 學(xué) 生 姓 名 崔 學(xué) 號(hào) 208110502 設(shè) 計(jì) 地 點(diǎn) 信息樓C322 指 導(dǎo) 教 師 郭 麗 紅 設(shè)計(jì)起止時(shí)間: 2013年 5月 27日至 2013年 5月31日目 錄1系統(tǒng)設(shè)計(jì)的目的和意義82系統(tǒng)總框架圖83軟件功能描述84軟件代碼的設(shè)計(jì)841數(shù)據(jù)結(jié)構(gòu)描述與定義942模塊設(shè)計(jì)95軟件使用說(shuō)明96測(cè)試結(jié)果與分析97比較有特色的函數(shù)98存在的不足與對(duì)策99課程設(shè)計(jì)總結(jié)9附錄:源程序清單9 (正文,宋體,小四,
2、1.5倍行距,每個(gè)段落開(kāi)頭空兩格)(字?jǐn)?shù)要求:5000字左右,頁(yè)數(shù)10頁(yè)左右。)課程設(shè)計(jì)題目1 系統(tǒng)設(shè)計(jì)的目的和意義 隨著現(xiàn)代高科技的迅速發(fā)展,計(jì)算機(jī)技術(shù)也有了突飛猛進(jìn)的快速發(fā)展,因此為各個(gè)行業(yè)的普及應(yīng)用奠定了基礎(chǔ)。由于學(xué)校教師學(xué)生的數(shù)目眾多,傳統(tǒng)的手工作業(yè)已經(jīng)不再適合學(xué)校統(tǒng)計(jì)人員信息的需要。傳統(tǒng)的手工作業(yè)要處理巨額的數(shù)據(jù),由于人員不停地改動(dòng),例如教工的調(diào)職、離職、新教師的加入,學(xué)生的入學(xué)、畢業(yè)等,人事部門要不停的更新數(shù)據(jù),進(jìn)行抄寫。由于數(shù)據(jù)龐大,難免會(huì)出現(xiàn)錯(cuò)誤,這對(duì)于員工管理非常不利。而利用計(jì)算機(jī)技術(shù)可以方便的、準(zhǔn)確的、動(dòng)態(tài)的對(duì)企業(yè)內(nèi)部員工進(jìn)行管理,減輕了人事部門的任務(wù),節(jié)約人力資源,降低了
3、企業(yè)的成本?;谟?jì)算機(jī)技術(shù)的優(yōu)越性,幾乎所有的企業(yè)都使用計(jì)算機(jī)技術(shù)來(lái)實(shí)現(xiàn)對(duì)員工基本信息的管理。本系統(tǒng)將利用計(jì)算機(jī)技術(shù)模擬實(shí)現(xiàn)對(duì)企業(yè)員工的基本信息管理,主要實(shí)現(xiàn)對(duì)人員基本信息的管理,包括教師的姓名、年齡、籍貫、職稱、學(xué)歷、工作日期,學(xué)生的姓名、學(xué)號(hào)、年齡、籍貫、入學(xué)日期。如果有新人員加入該學(xué)校,可在添加新人員模塊進(jìn)行添加新人員操作。如果有人員辭職或退休,學(xué)生畢業(yè)或退學(xué),也可以進(jìn)行刪除操作,同時(shí)可以通過(guò)列表查看所有人員的資料,也可以單獨(dú)查詢某個(gè)人員的信息,若是發(fā)現(xiàn)某個(gè)人員的信息有誤,也可以對(duì)進(jìn)行修改操作。2系統(tǒng)總框架圖歡迎窗口登錄窗口選擇窗口教師信息全體學(xué)生信息學(xué)生信息全體教師信息全體學(xué)生信息窗口
4、全體教師信息窗 口增 加查 詢刪 除修 改刪 除查 詢?cè)?加修 改3軟件功能描述(或設(shè)計(jì)目標(biāo)或需求分析)對(duì)問(wèn)題的描述應(yīng)避開(kāi)具體的算法和涉及的數(shù)據(jù)結(jié)構(gòu),描述系統(tǒng)實(shí)現(xiàn)功能及達(dá)到的目標(biāo)。首先增加一個(gè)對(duì)話窗口,插入自己設(shè)計(jì)好的圖片,做一個(gè)人員信息管理系統(tǒng)的界面,然后級(jí)聯(lián)一個(gè)窗口,做登錄界面。實(shí)現(xiàn)用戶名/密碼的登錄。登錄界面:通過(guò)輸入正確的用戶名和密碼,進(jìn)入到人員管理系統(tǒng)的選擇界面窗口。通過(guò)選擇四個(gè)Button按鈕,分別級(jí)聯(lián)到教師信息窗口,學(xué)生信息窗口,全體教師信息窗口,全體學(xué)生信息窗口。查詢:通過(guò)Button按鈕,編寫查詢代碼??梢酝ㄟ^(guò)輸入關(guān)鍵字對(duì)人員信息進(jìn)行查詢。添加:通過(guò)Button按鈕,編寫添加
5、代碼??梢暂斎胂鄳?yīng)的人員信息加入到數(shù)據(jù)庫(kù)中。刪除:通過(guò)Button按鈕,編寫刪除代碼??梢詣h除掉需要?jiǎng)h除的人員信息。修改:通過(guò)Button按鈕,編寫修改代碼??梢詫?duì)查詢到的人員信息進(jìn)行信息修改。退出:控件自帶的Button按鈕,可以退出界面。全體教師信息,和全體學(xué)生信息:窗口是通過(guò)Listctrl(列表控件)實(shí)現(xiàn)的,在新建的類中添加一個(gè)oninitdialog()函數(shù),然后在函數(shù)中寫初始化代碼,以及數(shù)據(jù)庫(kù)中信息映射到列表中的代碼,實(shí)現(xiàn)全體人員信息的查詢,便于管理員管理。4軟件代碼的設(shè)計(jì)說(shuō)明算法(程序)中用到的所有各種數(shù)據(jù)結(jié)構(gòu)的描述與定義,核心模塊設(shè)計(jì),每個(gè)模塊的算法描述及流程圖(用WORD,或
6、畫圖板,或Visio畫圖軟件)建議用Visio。流程圖要規(guī)范(有開(kāi)始,結(jié)束,一個(gè)入口,一個(gè)出口)。41數(shù)據(jù)結(jié)構(gòu)描述與定義所用的到的主要數(shù)據(jù)結(jié)構(gòu)的描述,標(biāo)準(zhǔn)C+語(yǔ)言定義數(shù)據(jù)結(jié)構(gòu)void CCQWDlg:OnOK() /在類CCQWDlg中定義用戶登錄函數(shù)void studentinfo:OnSadd() /在類studentinfo中定義增加函數(shù)void studentinfo:OnSearch()/在類studentinfo中定義查詢函數(shù)void studentinfo:OnSchange()/在類studentinfo中定義修改函數(shù)void studentinfo:OnSdelete()/在
7、類studentinfo中定義刪除函數(shù)void teacherinfo:OnSearch2()/在類teacherinfo中定義查詢函數(shù)void teacherinfo:OnAdd2() /在類teacherinfo中定義增加函數(shù)void teacherinfo:OnDelete2()/在類teacherinfo中定義刪除函數(shù)void teacherinfo:OnChange2()/在類teacherinfo中定義修改函數(shù)BOOL allstu:OnInitDialog() /在類allstu中定義InitDialog函數(shù)BOOL alltea:OnInitDialog() /在類alltea
8、中定義InitDialog函數(shù)42模塊設(shè)計(jì)系統(tǒng)共分幾個(gè)模塊,每個(gè)模塊的算法描述及流程圖(核心模塊)。1、登錄界面流程圖輸入用戶名和密碼用戶名與密碼符合登錄成功密碼錯(cuò)誤結(jié) 束開(kāi) 始2、查詢模塊流程圖開(kāi) 始輸入關(guān)鍵字查到關(guān)鍵字打開(kāi)數(shù)據(jù)源顯示記錄No data!結(jié) 束3、增加模塊流程圖開(kāi) 始輸入記錄打開(kāi)數(shù)據(jù)源將記錄錄入數(shù)據(jù)庫(kù)Success結(jié) 束4、修改模塊流程圖開(kāi) 始打開(kāi)數(shù)據(jù)源輸入關(guān)鍵字查到關(guān)鍵字修改記錄No dataSuccess結(jié) 束5、刪除模塊流程圖開(kāi) 始打開(kāi)數(shù)據(jù)源輸入關(guān)鍵字查到關(guān)鍵字No data!刪除記錄結(jié) 束6、列表控件(listctrl控件)流程圖開(kāi) 始增加列表控件增加oninitdi
9、alog()函數(shù) 初始化函數(shù)打開(kāi)數(shù)據(jù)源指針指向第一條記錄存在記錄指針指向下一條記錄將記錄顯示到列表控件結(jié) 束5軟件使用說(shuō)明使用本軟件之前必須先到數(shù)據(jù)源里映射下數(shù)據(jù)庫(kù),使它們連接起來(lái)。登錄時(shí) 先進(jìn)入登錄界面的程序查詢一下登陸的用戶名和密碼。6測(cè)試結(jié)果與分析按系統(tǒng)功能描述(設(shè)計(jì)目標(biāo))測(cè)試軟件運(yùn)行是否正確,測(cè)試數(shù)據(jù)的選擇要代表性,列出所有測(cè)試用的輸入數(shù)據(jù)和相應(yīng)的輸出數(shù)據(jù)以及測(cè)試結(jié)果。原始數(shù)據(jù)庫(kù):程序運(yùn)行結(jié)果: 登錄界面:按登錄鍵進(jìn)入選擇界面:以教師信息查詢?yōu)槔?,輸入關(guān)鍵字趙一,點(diǎn)擊查詢:點(diǎn)擊確定鍵,結(jié)果如下圖:在選擇界面點(diǎn)擊全體教師信息或全體學(xué)生信息如下:7比較有特色的函數(shù) void CCQWDlg
10、:OnOK() / TODO: Add extra validation herethis-UpdateData(true);if(this-m_name=cuiqianwen & this-m_passward=4321)select dlg;dlg.DoModal();elseMessageBox(登錄有誤);CCQWDlg dlg;dlg.DoModal();BOOL allstu:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_list.InsertColumn(0,姓名,LVCF
11、MT_LEFT,100);m_list.InsertColumn(1,年齡,LVCFMT_LEFT,100);m_list.InsertColumn(2,學(xué)號(hào),LVCFMT_LEFT,100);m_list.InsertColumn(3,籍貫,LVCFMT_LEFT,100);m_list.InsertColumn(4,入學(xué)日期,LVCFMT_LEFT,100); / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE student s(&d
12、1);CString str=select * from student;s.Open(student:dynaset,_T(str); while(!s.IsEOF() int nIndex = m_list.GetItemCount(); nIndex = m_list.InsertItem(nIndex, (char*)(LPCTSTR)str); m_list.SetItemText(nIndex,0,s.m_name);m_list.SetItemText(nIndex,1,s.m_age); m_list.SetItemText(nIndex,2,s.m_number); m_li
13、st.SetItemText(nIndex,3,s.m_birth_place);m_list.SetItemText(nIndex,4,s.m_entrance_time); s.MoveNext(); s.Close();return TRUE;8 存在的不足與對(duì)策 系統(tǒng)相對(duì)來(lái)講還是較簡(jiǎn)潔的,若是要進(jìn)行修改操作的話,需先進(jìn)行查找,然后在每一個(gè)記錄上修改,這樣實(shí)行起來(lái)比較麻煩,可以設(shè)置一個(gè)彈出窗口,在彈出的窗口上修改記錄。另外,查找時(shí)僅僅可以使用主鍵進(jìn)行查找,例如學(xué)生僅僅可以通過(guò)學(xué)號(hào)進(jìn)行查找某個(gè)學(xué)生信息,教師僅僅可以通過(guò)姓名查找某個(gè)教師信息,我們可以通過(guò)多寫幾個(gè)語(yǔ)句,可以通過(guò)其他的方式查找。
14、9課程設(shè)計(jì)總結(jié)總結(jié)可以包括 : 課程設(shè)計(jì) 過(guò)程的收獲、遇到問(wèn)題、遇到問(wèn)題解決問(wèn)題過(guò)程的思考、程序調(diào)試能力的思考、對(duì)C+這門課程的思考、在課程設(shè)計(jì)過(guò)程中對(duì)C+課程的認(rèn)識(shí)等內(nèi)容本次課程設(shè)計(jì),使我加深了對(duì)C+面向?qū)ο蟪绦蛟O(shè)計(jì)的理解。通過(guò)本次課程設(shè)計(jì),我學(xué)到了很多知識(shí),C+面向?qū)ο笫峭ㄟ^(guò)類來(lái)實(shí)現(xiàn)的。由于我們對(duì)vcMFC編程不熟悉,只通過(guò)上課看老師演示一遍是不夠的,所以剛開(kāi)始感覺(jué)無(wú)從下手,一片茫然,所以就先看了一些教程,再看了一些關(guān)于MFC的操作,然后自己嘗試做一些重要的模塊,比如窗口的級(jí)聯(lián),然后熟悉了MFC。在做課程設(shè)計(jì)的時(shí)候,我遇到LE 一些問(wèn)題。有些問(wèn)題,和同學(xué)一討論就可以解決,比如星期一的時(shí)候,
15、我們就嘗試做窗口的級(jí)聯(lián),怎么在主窗口之前插入一個(gè)對(duì)話框,做了好多遍都不成功,運(yùn)行時(shí)都是直接跳出主窗口,然后上網(wǎng)查了一下資料,在MAINFARM.CPP中插入對(duì)話框類的對(duì)象,解決了問(wèn)題。我們?cè)诰W(wǎng)上也搜尋解決問(wèn)題的方法,許多問(wèn)題都可以解決,比如列表框,即Listctrl控件的使用,也得到了解決。在這次課程設(shè)計(jì)中,我學(xué)到了很多知識(shí),不僅僅是關(guān)于VC+的知識(shí),還學(xué)到了遇到困難不能光著急,要積極尋求解決問(wèn)題的方法。要懂得和同學(xué)交流,然后去共同解決問(wèn)題。也可以去網(wǎng)上搜尋解決該方案。畢竟一個(gè)人的能力有限,不可能一個(gè)人解決所有的問(wèn)題。課程設(shè)計(jì)其實(shí)很能鍛煉學(xué)生解決問(wèn)題的能力,可以提高我們對(duì)C+的整體認(rèn)識(shí)。在這次
16、課程設(shè)計(jì)中我鍛煉了我的實(shí)際編程能力,以前我只是學(xué)習(xí)簡(jiǎn)單的語(yǔ)法知識(shí),學(xué)習(xí)對(duì)面向?qū)ο蟮睦斫?,其?shí)只有在試驗(yàn)中,才能體會(huì)到它的模塊性,它的封裝性。這次課程設(shè)計(jì)的經(jīng)歷為以后的學(xué)習(xí)和工作積累了很多經(jīng)驗(yàn),受益匪淺。 這次課程設(shè)計(jì)是我獨(dú)立完成的,剛開(kāi)始總是出現(xiàn)錯(cuò)誤,找不到解決的方法,然后就重新做,這讓我明白,編程需謹(jǐn)慎,程序中不允許出現(xiàn)任何小的錯(cuò)誤,此外在幫助別人解決問(wèn)題時(shí),也拓展了我自己解決程序中錯(cuò)誤的能力,怎么從提示錯(cuò)誤的語(yǔ)句中發(fā)現(xiàn)錯(cuò)誤的根源,并改正過(guò)來(lái)是很重要的。這次課程設(shè)計(jì)能夠做成功還是有成就感的,非常感謝老師給我們這次課程設(shè)計(jì)的機(jī)會(huì)。附錄:源程序清單編碼規(guī)范,符合軟件工程的要求(變量名,函數(shù)名見(jiàn)名
17、知義,注釋規(guī)范占總程序行數(shù)的2/5)。CQW.CPP#include stdafx.h /CQW為工程文件名#include CQW.h#include CQWDlg.h#include select.h /select為選擇對(duì)話框的類名#include enter.h /enter為歡迎窗口的類名#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifBOOL CCQWApp:InitInstance()AfxEnableControlContainer(); enter d
18、; /為了使在登錄窗口之前跳出歡迎界面d.DoModal();#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();/ Call this when linking to MFC statically#endifCCQWDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse = IDOK)else if (nResponse = IDCANCEL)retur
19、n FALSE;CQWDlg.CPP#include stdafx.h#include CQW.h#include CQWDlg.h#include select.h#include student.h#include afxdb.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;CDatabase cc;#endifvoid CCQWDlg:OnOK() /用戶名、密碼登錄/ TODO: Add extra validation herethis-UpdateData(true)
20、;if(this-m_name=cuiqianwen & this-m_passward=4321)select dlg;dlg.DoModal();elseMessageBox(登錄有誤);CCQWDlg dlg;dlg.DoModal();以學(xué)生為例;#include stdafx.h#include CQW.h#include studentinfo.h#include student.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifint flag;CData
21、base db;void studentinfo:OnSadd() /增加學(xué)生/ TODO: Add your control notification handler code herestudent s(&db);CString str=select * from student;s.Open(student:dynaset,_T(str);UpdateData(true);s.AddNew();s.m_number=m_sno;s.m_age=m_sage;s.m_name=m_sname;s.m_birth_place=m_sbp;s.m_entrance_time=m_sin;s.U
22、pdate();s.Close();AfxMessageBox(success);void studentinfo:OnSearch() /查找學(xué)生信息/ TODO: Add your control notification handler code herestudent s(&db);UpdateData(true);CString str=select * from student;s.Open(student:dynaset,_T(str);while(!s.IsEOF() if(m_sno=s.m_number) m_sname=s.m_name; m_sage=s.m_age;m
23、_sbp=s.m_birth_place;m_sin=s.m_entrance_time; flag=1; break;else s.MoveNext(); if(flag=1) AfxMessageBox(success);else AfxMessageBox(no data);UpdateData(false);s.Close();void studentinfo:OnSchange() /修改學(xué)生信息/ TODO: Add your control notification handler code here student s(&db);CString str=select * fro
24、m student;s.Open(student:dynaset,_T(str);UpdateData(true);while(!s.IsEOF() if(m_sno=s.m_number) flag=1; break; else s.MoveNext();if(flag=1)s.Edit();s.m_number=m_sno; s.m_age=m_sage; s.m_name=m_sname;s.m_birth_place=m_sbp;s.m_entrance_time=m_sin; s.Update();AfxMessageBox(success);else AfxMessageBox(n
25、o data);s.Close();void studentinfo:OnSdelete() /刪除學(xué)生信息/ TODO: Add your control notification handler code herestudent s(&db);CString str=select * from student;s.Open(student:dynaset,_T(str);UpdateData(true); while(!s.IsEOF()if(m_sno=s.m_number)flag=1;break;else s.MoveNext();if(flag=1) s.Delete(); AfxMessageBox(success);elseAfxMessageBox(no data);s.Close();BOOL allstu:OnInitDialog() /用列表控件顯示全體學(xué)生信息 CDialog:OnInitDialog();/ TODO: Ad
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022運(yùn)動(dòng)會(huì)致辭15篇
- 考古遺址公園建設(shè)可行性研究報(bào)告(參考范文)
- 焦?fàn)t煤氣制甲醇項(xiàng)目實(shí)施方案
- 供水設(shè)施改造與升級(jí)實(shí)施方案(模板)
- 小學(xué)生國(guó)防教育
- 山西省大同市第一中學(xué)2023-2024學(xué)年高二上學(xué)期12月檢測(cè)語(yǔ)文含解析
- 大慶職業(yè)學(xué)院《英語(yǔ)讀寫》2023-2024學(xué)年第二學(xué)期期末試卷
- 株洲師范高等??茖W(xué)校《全球健康概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 梧州職業(yè)學(xué)院《工作分析與職務(wù)設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北荊州市監(jiān)利市暢惠交通投資有限公司招聘筆試沖刺題2024
- 兒童哮喘降階梯治療
- 食品配送行業(yè)安全生產(chǎn)管理制度
- 土力學(xué)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋青島理工大學(xué)
- 《成人心肺復(fù)蘇術(shù)》課件
- 國(guó)家秘密載體的管理要求
- 車間照明施工合同范例
- 硫酸安全使用管理及使用制度(4篇)
- 高教版2023年中職教科書《語(yǔ)文》(基礎(chǔ)模塊)下冊(cè)教案全冊(cè)
- 康復(fù)醫(yī)療行業(yè):社會(huì)辦康復(fù)醫(yī)療50企業(yè)報(bào)告
- 雪茄知識(shí)及侍茄培訓(xùn)
評(píng)論
0/150
提交評(píng)論