铂金教师管理系统课程设计说明

上传人:仙*** 文档编号:33584592 上传时间:2021-10-18 格式:DOC 页数:26 大小:864.84KB
收藏 版权申诉 举报 下载
铂金教师管理系统课程设计说明_第1页
第1页 / 共26页
铂金教师管理系统课程设计说明_第2页
第2页 / 共26页
铂金教师管理系统课程设计说明_第3页
第3页 / 共26页
资源描述:

《铂金教师管理系统课程设计说明》由会员分享,可在线阅读,更多相关《铂金教师管理系统课程设计说明(26页珍藏版)》请在装配图网上搜索。

1、华北科技学院课程设计说明书华 北 科 技 学 院面向对象程序设计(C+)课程设计说明书 班级: 姓名: 设计题目: 铂金教室管理系统 设计时间: 2015.1.12 至 2015.1.16 指导教师: 评 语:_ _ _ _ _ 评阅成绩: _评阅教师: 第1页 共 25 页目录第一章 绪论21.1设计总说明21.2关键字21.3课题意义21.4课题目的31.5研究范围3第二章 系统说明42.1系统总体框架42.2类的实现5第三章 系统总设计63.1选择63.1.1选择界面63.1.2登陆界面的代码63.2登录113.2.1登陆界面113.2.2登陆界面的代码113.3教室信息管理主界面143

2、.3.1主界面143.3.2主界面的代码143.4查询183.4.1查询界面183.2.2查询的代码183.5添加213.5.1添加界面213.5.2主要实现代码21第四章 总结24参考文献25华北科技学院课程设计说明书第一章 绪论1.1设计总说明为了培养和锻炼自身的计算机信息软件设计和开发能力,使自己能独立开发软件。通过本系内的课程设计课题的安排,我根据自身的能力程度,选择了教室管理系统,用于教室的日常管理。通过此课程的设计,结合有关的知识和相关技术资料,如:面向对象程序设计(C+),对这个课本一学期的学习对程序设计有了很好的认识了,能够独立编写程序实现对教室信息的添加、查询以及和保存的操作

3、。结合有关的知识和相关技术资料,有一个很好的教室管理系统,使教室的管理更加便捷。过去落后的教室管理系统已经不适应现代社会的需求了,急需出现一套更符合学校需要的新一代教室管理系统。查询历史数据模块:教室容量、类型、功能、使用情况等,通过该教室管理系统地运行,使办公人员可以轻松快捷的完成对教室管理的任务,提高教室信息管理效率,使教室的使用情况简单化、明了化。1.2关键字教室管理系统;C+;MFC1.3课题意义当今时代,计算机信息已成为我们日常生活不可或缺的一部分。运用计算机技术可以实现很多复杂繁琐的功能,增加信息处理速度。随着网络用户要求的不断提高及计算机科学的迅速发展,,这些技术越来越纯熟,越来

4、越丰富化。本课题的研究对于大学的教室管理有较大的好处,大学里教室数量较多,上课和学生自习的流动性强,这就为教室的管理带来一些困难,传统的教室管理方式耗人力较多,随着时代的发展,它就显得跟不上时代的步伐,为了能够更加有效的耗人力少的管理教室,也为了能够适应时代的发展,很有必要利用计算机,运用程序开发软件来开发一个教室管理系统。1.4课题目的课程设计的目的是总结及运用一学期来所学的知识,训练我们灵活应用所学C+知识,独立完成问题分析、总结设计、详细设计和编程实现等软件开发全过程的综合实践能力。巩固、深化理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的工作作风及团结协作的精神。1.

5、5研究范围主要用于教室卡管理系统,它可以帮助我们有效、准确、并且高效实现的完成查询事件。此系统操作方便效率。系统实现的主要有学生查询和管理员对教室信息的添加、保存、删除等。第二章 系统说明2.1系统总体框架用户选择界面管理员学生用户名登录密码查询退出输入编号管理添加显示结果保存查询输入退出确认输入编号保存显示结果结束启动系统后,首先进入用户选择。其中学生子系统可以通过输入条件查询所需信息,管理员子系统可以根据界面提示对教室信息进行添加、删除、查询、保存等操作。2.2类的实现实现描述教室的类classroom,记录系统中现有那些教室信息。此类包含的数据成员有,教室编号bianhao,容纳人数re

6、nshu,教室功能gongneng,教室类型leixing,使用情况shiyong。第三章 系统总设计3.1选择3.1.1选择界面图 选择对话框操作员操作程序时需要选择用户性质,学生可直接进入查询界面,管理员则进入登录界面。3.1.2登陆界面的代码CMyDlg:CMyDlg(CWnd* pParent /*=NULL*/): CDialog(CMyDlg:IDD, pParent)/AFX_DATA_INIT(CMyDlg)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INIT/ Note that L

7、oadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CMyDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMyDlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMyDlg, CDialog

8、)/AFX_MSG_MAP(CMyDlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON2, OnManager)ON_BN_CLICKED(IDC_BUTTON1, Onstudent)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg message handlersBOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();/ Set the icon for this dialog. The framework does this automaticall

9、y/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a control/ If you add a minimize button to your dialog, you will need the code

10、below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CMyDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client re

11、ctangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);else CPaintDC dc(this); CRect rect; GetClientRect(&rect)

12、; CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP1); /IDB_BITMAP是你自己的图对应的ID BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWid

13、th,bitmap.bmHeight,SRCCOPY); / The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CMyDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CMyDlg:OnManager() / TODO: Add your control notification handler code here UpdateData(TRUE); CDialog:OnOK();de

14、nglu m; m.DoModal();void CMyDlg:Onstudent() UpdateData(TRUE); CDialog:OnOK();chx m; m.DoModal();3.2登录3.2.1登陆界面图 登陆对话框 操作员用户性质选择为管理员时必须输入登陆口令,包括用户名和密码,只有输入正确的登录口令操作员才能进入教室管理系统的管理界面进行操作。3.2.2登陆界面的代码denglu:denglu(CWnd* pParent /*=NULL*/): CDialog(denglu:IDD, pParent)/AFX_DATA_INIT(denglu)/ NOTE: the Cl

15、assWizard will add member initialization here/AFX_DATA_INITvoid denglu:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(denglu)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_MESSAGE_MAP(denglu, CDialog)/AFX_MSG_MAP(denglu)ON_WM_PAINT()ON_BN_CLICK

16、ED(IDC_BUTTON1, Onqrdl)/AFX_MSG_MAPEND_MESSAGE_MAP()/ denglu message handlersvoid denglu:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP2); /IDB_BITMAP是你自

17、己的图对应的ID BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);/ Do not call CDialog:OnPaint() for painting messagesvoid denglu:Onqrdl() UpdateData(TRUE);

18、CDialog:OnOK();gongneng dlg1;CString aa,bb;this-GetDlgItemText(IDC_EDIT1,aa);this-GetDlgItemText(IDC_EDIT2,bb);if(aa=123)&(bb=123) dlg1.DoModal();elseMessageBox(用户名或密码错误,0);exit(0);3.3教室信息管理主界面3.3.1主界面 图 主界面对话框 从这个主界面对话框我们能很清楚的看到操作员可以通过主界面对话框中的按钮提示对教室信息就操作,包括:查询、添加、删除、保存 。 3.3.2主界面的代码gongneng:gongne

19、ng(CWnd* pParent /*=NULL*/): CDialog(gongneng:IDD, pParent)/AFX_DATA_INIT(gongneng)/AFX_DATA_INITvoid gongneng:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(gongneng)DDX_Control(pDX, IDC_LIST1, m_list1);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(gongneng, CDialog)/AFX_MSG_MAP(gongn

20、eng)ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_BN_CLICKED(IDC_BUTTON2, OnButton2)ON_BN_CLICKED(IDC_BUTTON3, OnButton3)ON_BN_CLICKED(IDC_BUTTON4, OnButton4)ON_BN_CLICKED(IDC_BUTTON5, OnButton5)ON_WM_PAINT()/AFX_MSG_MAPEND_MESSAGE_MAP()/ gongneng message handlersvoid gongneng:OnButton1() chx c;c.DoModal(

21、);void gongneng:OnButton2() Add add;if(add.DoModal()CString s;m_list1.InsertItem(0,);s.Format(%s,add.m_bianhao); m_list1.SetItemText(0,0,s); m_list1.SetItemText(0,1,add.m_renshu); s.Format(%s,add.m_renshu); m_list1.SetItemText(0,1,s);s.Format(%s,add.m_gongneng); m_list1.SetItemText(0,2,s);s.Format(%

22、s,add.m_leixing); m_list1.SetItemText(0,3,s);s.Format(%s,add.m_shiyong); m_list1.SetItemText(0,4,s);void gongneng:OnButton3() :ShellExecute(NULL, open, file.txt, NULL, NULL, SW_SHOWNORMAL);void gongneng:OnButton4() if(this-MessageBox(确定删除吗?,删除,MB_OKCANCEL)=1)if(m_list1.GetSelectedCount()=0;i-)if(m_l

23、ist1.GetItemState(i,LVIS_SELECTED)m_list1.DeleteItem(i);BOOL gongneng:OnInitDialog() CDialog:OnInitDialog();m_list1.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_list1.InsertColumn(0,编号,LVCFMT_CENTER,110,0);m_list1.InsertColumn(

24、1,人数,LVCFMT_CENTER,110,1);m_list1.InsertColumn(2,功能,LVCFMT_CENTER,110,2);m_list1.InsertColumn(3,类型,LVCFMT_CENTER,110,3); m_list1.InsertColumn(4,是否使用,LVCFMT_CENTER,110,4);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid gongneng:

25、OnButton5() fstream out;int i=0;out.open(file.txt,ios:out|ios:binary);for(i=0;m_list1.GetItemText(i,1)!=;i+) for(int j=0;j6;j+)out m_list1.GetItemText(i,j);AfxMessageBox(保存成功!);void gongneng:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem

26、.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP5); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); / Do not cal

27、l CDialog:OnPaint() for painting messages3.4查询3.4.1查询界面图 查询教室信息的界面 此窗口、教室可由操作员提供的教室编号,通过点击查询来显示教室的基本信息,包括:容纳人数、教室类型功能、是否在使用。3.2.2查询的代码chx:chx(CWnd* pParent /*=NULL*/): CDialog(chx:IDD, pParent)/AFX_DATA_INIT(chx)m_bianhao = _T();m_renshu = _T();m_gongneng = _T();m_leixing = _T();m_shiyong = _T();/AF

28、X_DATA_INITvoid chx:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(chx)DDX_Text(pDX, IDC_EDIT1, m_bianhao);DDX_Text(pDX, IDC_EDIT2, m_renshu);DDX_Text(pDX, IDC_EDIT3, m_gongneng);DDX_Text(pDX, IDC_EDIT4, m_leixing);DDX_Text(pDX, IDC_EDIT5, m_shiyong);/AFX_DATA_MAPBEGIN_M

29、ESSAGE_MAP(chx, CDialog)/AFX_MSG_MAP(chx)ON_BN_CLICKED(IDC_BUTTON1, Onchx)ON_WM_PAINT()/AFX_MSG_MAPEND_MESSAGE_MAP()/ chx message handlersvoid chx:Onchx() ifstream in;char buffer20;CString a10000;int i=0;in.open(file.txt,ios:in);while(!in.eof()in.getline(buffer,15, );ai=buffer;i+;UpdateData();for(i=

30、0;i900;i+)if(ai=m_bianhao)m_renshu=ai+1;m_gongneng=ai+2; m_leixing=ai+3; m_shiyong=ai+4;UpdateData(false);void chx:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(ID

31、B_BITMAP4); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); / Do not call CDialog:OnPaint() for painting messages3.5添加3.5.1添加界面 图 添加对话框操作员输入教室的编号、人数

32、、功能、类型、是否使用信息,然后点击保存将信息添加进主界面,点击退出重新进入主界面。3.5.2主要实现代码Add:Add(CWnd* pParent /*=NULL*/): CDialog(Add:IDD, pParent)/AFX_DATA_INIT(Add)m_bianhao = _T();m_renshu = _T();m_gongneng = _T();m_leixing = _T();m_shiyong = _T();/AFX_DATA_INITvoid Add:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX)

33、;/AFX_DATA_MAP(Add)DDX_Text(pDX, IDC_EDIT1, m_bianhao);DDX_Text(pDX, IDC_EDIT2, m_renshu);DDX_Text(pDX, IDC_EDIT3, m_gongneng);DDX_Text(pDX, IDC_EDIT4, m_leixing);DDX_Text(pDX, IDC_EDIT5, m_shiyong);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(Add, CDialog)/AFX_MSG_MAP(Add)ON_BN_CLICKED(IDC_BUTTON1, Onsave)ON_BN_

34、CLICKED(IDC_BUTTON2, OnCancel)ON_WM_PAINT()/AFX_MSG_MAPEND_MESSAGE_MAP()/ Add message handlersvoid Add:OnCancel() CDialog:OnCancel();void Add:Onsave() UpdateData(TRUE); CDialog:OnOK();fstream file;file.open(file.txt,ios:in|ios:out|ios:app);UpdateData(true);filem_bianhao m_renshu m_gongneng m_leixing

35、 m_shiyong ;file.close();MessageBox(保存成功);BOOL Add:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid Add:OnPaint() CPaintDC dc(this); / device context for

36、 painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP3); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMe

37、m,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); / Do not call CDialog:OnPaint() for painting messages第四章 总结经过一个学期对C+面向对象的程序设计的学习,我学习到了基本的理论知识,了解到了C+语言设计的思想,这些知识都为我的课程实践和进一步学习打下了坚实的基础。在为期一周的C+课程设计中,我会颇多,学习到了很多东西。我加强了对计算机语言的学习,对它有的更深入的认识。总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。像教室管理系统这样的程序设计,经历了平时在课堂和

38、考试中不会出现的问题和考验。而这些问题不是我们平时只靠课本就能解决的。所以,锻炼了我们用已掌握的知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。在老师和同学的帮助下,通过自己的努力,终于完成了这次教室管理系统的课程设计。通过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,从中体会了面向对象程序设计的方便和巧妙。懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。另外某些具体的细节内容也是相当的重要。这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮助的,我要好好利用。总而言之,这次C+程序设计实践让我收获很大。 参考文献1 杜茂康,李昌兵,曹慧英,王永. C+面向对象程序设计. 第2版. 北京: 电子工业出版社,20112孔鹏. Visual C+6.0 完全自学手册. 北京: 机械工业出版社,20063郑阿奇.visualC+使用教程(第4版)北京:电子工业出版社.第 24 页 共 25页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!