版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学 号武 汉 科 技 大 学 城 市 学 院课 程 设 计 报 告 课程名称 面向对象程序设计(vc+)课程设计 题 目学 部 专 业 班 级 姓 名 指导教师 曾志华 2016年12月23日 编号12 面向对象程序设计(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 参考文献1517 / 21文档可自由编辑打印1需求分析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)主要字段有: 班次号、出发时间、到达时间、
7、出发城市、到达城市。 (2)用户信息表单,主要字段有:用户名、密码 Name passward 3系统实现 3.1进入功能 按enter键进入登陆界面 图3-1欢迎界面3.2登陆功能进入登陆界面,输入用户名曾建铭和密码123456,即可进入主界面。同时也可以注册账号密码存储至文本当中。 图3-2登陆界面3.3查找功能 输入所要查找的起始站和终点站,如武汉到汉川,即可显示班次号、出发时间、到达时间、出发城市、到达城市。 图3-3查询界面3.4删除功能 输入所要删除的班次号,如005,即可显示班次号、出发时间、到达时间、出发城市、到达城市。 图3-4删除界面3.5添加功能 输入所要添加的班次号、出
8、发时间、到达时间、出发城市、到达城市。 图3-5添加界面3.6修改功能输入所要修改的班次号,如001,即可修改所要修改的内容。 图3-6修改界面3.7录入功能更新文本框中的信息至列表框中。4 关键程序代码欢迎界面的代码 void CWelcomeDlg:OnBnClickedButton1()OnCancel();CLoginDlg dlg;dlg.DoModal();登陆界面的代码void CTestDlg:OnInput() ifstream infile("账户记事本.txt",ios:in);string name,keys;UpdateData(true);if(
9、m_keys = "" | m_name = "")AfxMessageBox("请输入账号和密码!");return ;while(infile >> name >> keys ) if(m_name.GetBuffer(0) = name && m_keys.GetBuffer(0) = keys) CGuanliyuandlg a; a.DoModal(); return ; AfxMessageBox("请输入正确的账号和密码!");SetDlgItemText(ID
10、C_EDIT1,"");SetDlgItemText(IDC_EDIT2,"");in();void CTestDlg:OnZHUCHE() ofstream outfile("账户记事本.txt",ios:app);ifstream infile("账户记事本.txt",ios:in);UpdateData(true); string name,keys;while(infile >> name >> keys )if(m_keys = "" | m_name = &q
11、uot;")AfxMessageBox("请输入完整账号和密码!");return ; if(m_name.GetBuffer(0) = name) AfxMessageBox("您输入的账号以存在!"); return ; outfile <<m_name.GetBuffer(0) << " " << m_keys.GetBuffer(0) << endl;C_wrong a;a.DoModal();SetDlgItemText(IDC_EDIT1,"")
12、;SetDlgItemText(IDC_EDIT2,"");out();主界面代码BOOL CGuanliyuandlg:OnInitDialog() CDialog:OnInitDialog();string riqi, checi, qishizhan, zhongdianzhan, ktime, dtime;CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST);pList->InsertColumn(0,"日期",0,100); pList->InsertColumn(0,"车次&
13、quot;,0,100); pList->InsertColumn(0,"起始站",0,100);pList->InsertColumn(0,"终点站",0,100);pList->InsertColumn(0,"出发时间",0,100);pList->InsertColumn(0,"到达时间",0,100);ifstream inFile("信息.txt",ios:in );int i=0;while(inFile >> riqi >> chec
14、i >> qishizhan >> zhongdianzhan >> ktime >> dtime)int nCount = pList ->GetItemCount();pList ->InsertItem(nCount,riqi.c_str(); pList ->SetItemText(i,1,checi.c_str(); pList ->SetItemText(i,2,qishizhan.c_str(); pList ->SetItemText(i,3,zhongdianzhan.c_str(); pList
15、->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, zhongdianzhan, ktime, dtime;string _riqi, _checi, _qishizhan, _zhongdianzhan, _ktime, _dtim
16、e;CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST);UpdateData(true);GetDlgItemText(IDC_RIQI,riqi);GetDlgItemText(IDC_CHECI,checi);GetDlgItemText(IDC_QISHIZHAN,qishizhan);GetDlgItemText(IDC_ZHONGDIANZHAN,zhongdianzhan);GetDlgItemText(IDC_KTINE,ktime);GetDlgItemText(IDC_DTIME,dtime);int nCount = pLis
17、t ->GetItemCount();if(riqi = "" && checi = "" && qishizhan = "" && zhongdianzhan = "" && ktime = "" && dtime = "")AfxMessageBox("请输入一定量的查询信息!");return ;while(nCount -)pList->DeleteItem
18、(nCount);int i = 0;UpdateData(false);while(file >> _riqi >> _checi >> _qishizhan >> _zhongdianzhan >> _ktime >> _dtime)if( _qishizhan = qishizhan.GetBuffer(0) && _zhongdianzhan = zhongdianzhan.GetBuffer(0) int nCount = pList ->GetItemCount(); pList ->
19、;InsertItem(nCount,_riqi.c_str(); pList ->SetItemText(i,1,_checi.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+;();删除界面代码void CGuanliyuandlg:OnShanc
20、hu() CString riqi, checi, qishizhan, zhongdianzhan, ktime, dtime;string _riqi, _checi, _qishizhan, _zhongdianzhan, _ktime, _dtime;CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST); if(pList->GetSelectedCount()<1)/获取所选项目AfxMessageBox("请选择要删除的数据!");return;ofstream outfile("信息.txt&
21、quot;,ios:trunc);int sCount = pList->GetSelectionMark();pList->DeleteItem(sCount);int nCount=pList->GetItemCount();int i = 0;while(i<nCount)riqi=pList ->GetItemText(i,0); checi=pList ->GetItemText(i,1); qishizhan=pList ->GetItemText(i,2); zhongdianzhan=pList ->GetItemText(i,3
22、); ktime=pList ->GetItemText(i,4); dtime=pList ->GetItemText(i,5); outfile<<setw(15)<<riqi.GetBuffer(0)<<setw(15)<<checi.GetBuffer(0)<<setw(15)<<qishizhan.GetBuffer(0)<<setw(15)<<zhongdianzhan.GetBuffer(0)<<setw(15)<<ktime.GetBuffer(0
23、)<<setw(15)<<dtime.GetBuffer(0)<<endl;i+;out();void CChangeDlg:OnBnClickedButton2()CTrainInfo TrainSet; CString strSQL; UpdateData(TRUE); strSQL.Format(_T("select * from TrainInfo where 班次号='%s'"),m_Edit1); if(!TrainSet.Open(CRecordset:dynamic,strSQL) MessageBox(_
24、T("打开数据库失败"); return; else if(TrainSet.GetRecordCount() = 0) MessageBox(_T("无此班次记录!"); TrainSet.Close(); else TrainSet.Edit(); TrainSet.column1=m_Edit1;TrainSet.column2=m_Edit2;TrainSet.column3=m_Edit3;TrainSet.column4=m_Edit4;TrainSet.column5=m_Edit5;TrainSet.column6=m_Edit6;Tra
25、inSet.column7=m_Edit7;TrainSet.column8=m_Edit8;TrainSet.column9=m_Edit9;TrainSet.Update();TrainSet.Requery();MessageBox(_T("修改该班次信息成功|!");UpdateData(FALSE);TrainSet.Close(); 增加界面代码void CGuanliyuandlg:OnLuru() CString riqi, checi, qishizhan, zhongdianzhan, ktime, dtime;string _riqi, _checi,
26、 _qishizhan, _zhongdianzhan, _ktime, _dtime;ofstream outfile("信息.txt",ios:app);UpdateData(true);GetDlgItemText(IDC_RIQI,riqi);GetDlgItemText(IDC_CHECI,checi);GetDlgItemText(IDC_QISHIZHAN,qishizhan);GetDlgItemText(IDC_ZHONGDIANZHAN,zhongdianzhan);GetDlgItemText(IDC_KTINE,ktime);GetDlgItemTe
27、xt(IDC_DTIME,dtime);if(riqi = "" | checi = "" | qishizhan = "" | zhongdianzhan = "" | ktime = "" | dtime = "")AfxMessageBox("请输入完整的添加信息!");return ;ifstream infile("信息.txt",ios:in);while(infile >> _riqi >> _ch
28、eci >> _qishizhan >> _zhongdianzhan >> _ktime >> _dtime)if(_riqi = riqi.GetBuffer(0) && _checi = checi.GetBuffer(0) && _ktime = ktime.GetBuffer(0) && _dtime = dtime.GetBuffer(0) && _qishizhan = qishizhan.GetBuffer(0) && _zhongdianzhan =
29、 zhongdianzhan.GetBuffer(0)AfxMessageBox("请不要添加相同的信息!");return ;outfile << setw(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) << endl;out();CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST);int nCount = pList ->
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024货物进口合同(范本)
- 2024年广西路分公司一级干线运输合同
- 2024年度数据处理与分析合作协议
- 2024个人房产抵押合同
- 2024年基因治疗技术开发合同
- 2024年度智能医疗系统开发合同
- 2024年度建筑施工安全环保技术创新与应用合同
- 2024年废料交易合同标准版
- 2024年建筑基坑钻探检测合同
- 2024年度F公司太阳能发电设备安装合同
- 全国高职高专英语写作大赛
- 微机原理与接口技术8259A练习题及答案
- 正方体的11种展开图
- 第15章《分式》教材分析课件(32张)
- 商铺装修工程施工方案.
- 西门子RWD68说明书
- 形式发票样本(Proforma Invoice)
- 医院车辆加油卡管理制度
- 数独题目高级50题(后附答案)【最新】
- 问题线索办理呈批表
- 学、练、评一体化课堂模式下赛的两个问题与对策
评论
0/150
提交评论