1、课程设计报告参考格式学 号武 汉 科 技 大 学 城 市 学 院课 程 设 计 报 告 课程名称 面向对象程序设计(vc+)课程设计 题 目学 部 专 业 班 级 姓 名 指导教师 2016年12月23日 面向对象程序设计(vc+)课程设计任务书题目 火车站售票预定管理系统的设计与实现1 开发平台 :Visual c+ 6.02 设计任务1、设计内容设计一个火车站售票管理系统,首先是欢迎界面,然后选择登录,登录的时候首先要判断用户的身份,合法的用户然后进入到系统主界面中。按照要求完成所有的功能和模块。(1)火车信息表表单,主要字段有: 班次号、出发时间、到达时间、出发城市、到达城市、途径城市、
2、硬座价格、卧铺价格、备注(2)用户信息表单,主要字段有:用户名、密码3 课程设计报告书主要内容1) 需求分析2) 总体设计 21 设计的总体思想与算法描述 22 模块结构图 23 各功能模块的功能与处理流程描述 24 界面设计3) 各功能模块程序设计按照功能模块的功能与处理流程描述给出详细的程序代码,并给出重点语句的注释.4) 小结4 课程设计要求1) 按时到机房签到,在指定机位上机。遵守机房纪律。 2) 独立完成课程设计任务。指导教师到机位上指导学生和分时段验收学生完成的程序,按时提交打印的课程设计报告书5 课程设计参考书 1 吕风翥. c+语言程序设计. 北京:电子工业出版社.2011 2
3、 张晓民.VC+2010应用开发技术.北京:机械工业出版社.2013 3 张海蕃. 软件工程导论. 北京:清华大学出版社, 2008 4 杨正甫. 面向对象分析与设计. 北京:中国铁道出版社, 2004 撰写者:曾志华 李聪 审 定:聂玉峰 目 录1需求分析 11.1系统概述 11.2问题分析 12系统总体设计 22.1功能模块图 22.2系统流程图 22.3系统数据文本设计 33系统实现 43.1进入功能 43.3查找功能 53.4删除功能 63.5添加功能 6欢迎界面的代码 95 总结 146 参考文献 151需求分析1.1系统概述 系统含有以下内容:(1) 欢迎界面,点击进入登陆界面。(
4、2) 登陆界面,连接文本,登陆你的名字和密码进入主界面。(3) 主界面,在菜单选项中选择查询,删除,修改,增加,录入。(4) 查询界面,按起始站和终点站查询,如武汉-汉川,即显示出发时间地点到达时间等信息。(5) 删除界面,点击列表控件中的首数据,点击删除,即删除出发时间地点到达时间等信息。(6) 增加界面,在编辑框中输入各项信息,即增加出发时间地点到达时间等信息。(7) 修改界面,点击列表框中的被修改数的首数据,且在编辑框中输入各项信息,即修改出发时间地点到达时间等信息。1.2问题分析 整个火车站售票预订管理系统怎么登陆进去,如何与文本建立联系,怎么在主界面进行查询删除修改增加学生信息。各个
5、运算功能的详细设计说明分别如下: 1) 首先是登陆界面,用户信息表单,主要字段有:用户名、密码和注册。 2) 然后点击注册,成功之后输入用户名和密码可以进入否则错误。 3) 进入主菜单界面,在菜单选项中选择查询删除修改增加。插入第二张表,显示火车信息表表单,主要字段有: 班次号、出发时间、到达时间、出发城市、到达城市、途径城市等信息。 4) 查询界面,按起始站,终点站查询。输入起始站,终点站,如武汉,汉川,及显示出发时间地点到达时间等信息。 5)删除增加修改界面与之类似。2系统总体设计2.1功能模块图 图2-1功能模块图当登录之后,主界面显示了有关辆信息的输入框和右边已经添加的车辆信息的显示窗
6、口。界面下面是“录入”,“查找”,“添加”,“修改”,“退出”。这些按钮分别对应它们的功能。录入:把已经添加的车辆信息的文本导入到程序中;添加:添加新的车辆信息;修改;修改已经添加的车辆信息;退出;把车辆信息保存到文本文件,关闭程序窗口。2.2系统流程图 图2-2系统流程图2.3系统数据文本设计火车站售票管理系统文本数据有2个 (1)主要字段有: 班次号、出发时间、到达时间、出发城市、到达城市。 (2)用户信息表单,主要字段有:用户名、密码 Name passward 3系统实现 3.1进入功能 按enter键进入登陆界面 图3-1欢迎界面3.2登陆功能进入登陆界面,输入用户名曾建铭和密码12
7、3456,即可进入主界面。同时也可以注册账号密码存储至文本当中。 图3-2登陆界面3.3查找功能 输入所要查找的起始站和终点站,如武汉到汉川,即可显示班次号、出发时间、到达时间、出发城市、到达城市。 图3-3查询界面3.4删除功能 输入所要删除的班次号,如005,即可显示班次号、出发时间、到达时间、出发城市、到达城市。 图3-4删除界面3.5添加功能 输入所要添加的班次号、出发时间、到达时间、出发城市、到达城市。 图3-5添加界面3.6修改功能输入所要修改的班次号,如001,即可修改所要修改的内容。 图3-6修改界面3.7录入功能更新文本框中的信息至列表框中。4 关键程序代码欢迎界面的代码 v
8、oid CWelcomeDlg:OnBnClickedButton1() OnCancel(); CLoginDlg dlg; dlg.DoModal(); 登陆界面的代码void CTestDlg:OnInput() ifstream infile(账户记事本.txt,ios:in); string name,keys; UpdateData(true); if(m_keys = | m_name = ) AfxMessageBox(请输入账号和密码!); return ; while(infile name keys ) if(m_name.GetBuffer(0) = name & m_
9、keys.GetBuffer(0) = keys) CGuanliyuandlg a; a.DoModal(); return ; AfxMessageBox(请输入正确的账号和密码!); SetDlgItemText(IDC_EDIT1,); SetDlgItemText(IDC_EDIT2,); infile.close();void CTestDlg:OnZHUCHE() ofstream outfile(账户记事本.txt,ios:app); ifstream infile(账户记事本.txt,ios:in); UpdateData(true); string name,keys; w
10、hile(infile name keys ) if(m_keys = | m_name = ) AfxMessageBox(请输入完整账号和密码!); return ; if(m_name.GetBuffer(0) = name) AfxMessageBox(您输入的账号以存在!); return ; outfile m_name.GetBuffer(0) m_keys.GetBuffer(0) InsertColumn(0,日期,0,100); pList-InsertColumn(0,车次,0,100); pList-InsertColumn(0,起始站,0,100); pList-In
11、sertColumn(0,终点站,0,100); pList-InsertColumn(0,出发时间,0,100); pList-InsertColumn(0,到达时间,0,100); ifstream inFile(信息.txt,ios:in ); int i=0; while(inFile riqi checi qishizhan zhongdianzhan ktime dtime) int nCount = pList -GetItemCount(); pList -InsertItem(nCount,riqi.c_str(); pList -SetItemText(i,1,checi.
12、c_str(); pList -SetItemText(i,2,qishizhan.c_str(); pList -SetItemText(i,3,zhongdianzhan.c_str(); pList -SetItemText(i,4,ktime.c_str(); pList -SetItemText(i,5,dtime.c_str(); i+; return TRUE;查询界面代码void CGuanliyuandlg:OnChaxun() fstream file(信息.txt,ios:in|ios:out); CString riqi, checi, qishizhan, zhong
13、dianzhan, ktime, dtime; string _riqi, _checi, _qishizhan, _zhongdianzhan, _ktime, _dtime; CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST); UpdateData(true); GetDlgItemText(IDC_RIQI,riqi); GetDlgItemText(IDC_CHECI,checi); GetDlgItemText(IDC_QISHIZHAN,qishizhan); GetDlgItemText(IDC_ZHONGDIANZHAN,zho
14、ngdianzhan); GetDlgItemText(IDC_KTINE,ktime); GetDlgItemText(IDC_DTIME,dtime); int nCount = pList -GetItemCount(); if(riqi = & checi = & qishizhan = & zhongdianzhan = & ktime = & dtime = ) AfxMessageBox(请输入一定量的查询信息!); return ; while(nCount -) pList-DeleteItem(nCount); int i = 0; UpdateData(false); w
15、hile(file _riqi _checi _qishizhan _zhongdianzhan _ktime _dtime) if( _qishizhan = qishizhan.GetBuffer(0) & _zhongdianzhan = zhongdianzhan.GetBuffer(0) int nCount = pList -GetItemCount(); pList -InsertItem(nCount,_riqi.c_str(); pList -SetItemText(i,1,_checi.c_str(); pList -SetItemText(i,2,_qishizhan.c
16、_str(); pList -SetItemText(i,3,_zhongdianzhan.c_str(); pList -SetItemText(i,4,_ktime.c_str(); pList -SetItemText(i,5,_dtime.c_str(); i+; file.close(); 删除界面代码void CGuanliyuandlg:OnShanchu() CString riqi, checi, qishizhan, zhongdianzhan, ktime, dtime; string _riqi, _checi, _qishizhan, _zhongdianzhan,
17、_ktime, _dtime; CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST); if(pList-GetSelectedCount()GetSelectionMark(); pList-DeleteItem(sCount); int nCount=pList-GetItemCount(); int i = 0; while(iGetItemText(i,0); checi=pList -GetItemText(i,1); qishizhan=pList -GetItemText(i,2); zhongdianzhan=pList -GetI
18、temText(i,3); ktime=pList -GetItemText(i,4); dtime=pList -GetItemText(i,5); outfilesetw(15)riqi.GetBuffer(0)setw(15)checi.GetBuffer(0)setw(15)qishizhan.GetBuffer(0)setw(15)zhongdianzhan.GetBuffer(0)setw(15)ktime.GetBuffer(0)setw(15)dtime.GetBuffer(0) _riqi _checi _qishizhan _zhongdianzhan _ktime _dt
19、ime) if(_riqi = riqi.GetBuffer(0) & _checi = checi.GetBuffer(0) & _ktime = ktime.GetBuffer(0) & _dtime = dtime.GetBuffer(0) & _qishizhan = qishizhan.GetBuffer(0) & _zhongdianzhan = zhongdianzhan.GetBuffer(0) AfxMessageBox(请不要添加相同的信息!); return ; outfile setw(15) riqi.GetBuffer(0) setw(15) checi.GetBu
20、ffer(0) setw(15) qishizhan.GetBuffer(0) setw(15) zhongdianzhan.GetBuffer(0) setw(15) ktime.GetBuffer(0) setw(15) dtime.GetBuffer(0) GetItemCount(); pList -InsertItem(nCount,riqi); pList -SetItemText(nCount,1,checi); pList -SetItemText(nCount,2,qishizhan); pList -SetItemText(nCount,3,zhongdianzhan);
21、pList -SetItemText(nCount,4,ktime); pList -SetItemText(nCount,5,dtime); AfxMessageBox(添加成功!);5 总结 刚开始拿到课程设计的题目时我感觉这个东西已经超出了我能接受的范围,感觉自己做这个程序还很有难度,毕竟功能与数据比较多,随便一处出错误都会很麻烦,但是由于平时扎实的C+基础知识,我还是一步步的慢慢将这个程序不段的完善和修改,当整个程序的基本功能都实现的时候我心里还是蛮开心的,想想也没那么难。所以通过这次课程设计,我还是学到很多东西。自己本身就是要静下心来慢慢解决问题,不懂的东西通过看书和问老师也一步步的
22、解决了。感觉也是收获蛮大的。6 参考文献 1 吕风翥. c+语言程序设计. 北京:电子工业出版社.2011 2 张晓民.VC+2010应用开发技术.北京:机械工业出版社.2013 3 张海蕃. 软件工程导论. 北京:清华大学出版社, 2008 4 杨正甫. 面向对象分析与设计. 北京:中国铁道出版社, 2004 课程设计评分表评分标准:1. 学生是否严格遵守课程设计纪律,按照规定时间完成设计任务(占30%)2. 课程设计报告书质量:(占40%)(1)是否采用了良好的设计方法,独立完成课程设计。 (2)课程设计各分段的任务是否按时完成及完成的质量。(3)是否完成课程设计任务书指定的全部要求。 3. 课程设计报告书的撰写规范 (占30%)课程设计报告书的撰写规范要求与毕业设计(论文)的要求相同。教师评分:1. 学生出勤得分: _2. 内容质量得分: _3.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1