公交车管理系统课设报告_第1页
公交车管理系统课设报告_第2页
公交车管理系统课设报告_第3页
公交车管理系统课设报告_第4页
公交车管理系统课设报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1, 系统分析1.1 需求分析()2,系统设计2.1 系统目标()2.2 系统功能结构 ()3,系统预览3.1 主界面 ()3.2一,系统分析1, 需求分析信息技术的发展给公交车查询系统带来了全新的变革,采用公交车管理系统对公交车企业的服务进行更为全面的管理与查询,不仅可以满足客户群体的乘车需要,还可以满足企业人士对公交车信息进行不断的更新与调整,适应现代化的信息时代,让企业能够在激烈的竞争中占据一席之地。二,系统设计1, 系统目标本系统采用的是MFC界面,可以更好的实现人机交互的目的。信息人员可以在系统中录入每辆公交的基本信息以及它所经过的所有站点,录入之后,可以根据变动进行修改,客户也

2、可以在本系统中进行查询(包括公交车的车次,发车时间,收车时间,开车间隔,全程时间以及它所经过的站点),还可以对乘车方案进行设计,在有条件的情况下可以进行联网查询公交路线,实现真正上的自动化。2, 系统功能结构公交车管理系统公交车基本信息管理站点基本信息管理设计系统联网查询公交路线退出系统公交车基本信息录入公交车基本信息修改公交车基本信息查询站点信息录入站点信息修改站点信息查询方案设计二,系统预览1,主界面界面上各菜单功能:公交车基本信息管理 :可以进行公交车基本信息录入,修改与查询站点信息管理:可以进行公交车站点信息录入,修改与查询设计系统 :设计您的行车方案退出系统:退出应用程序联网查询南昌

3、公交路线:进入网页查询南昌公交路线2,单击菜单“公交车基本信息管理”进入“公交车基本信息录入”界面当车次编辑栏为空或收发时间大于收车时间或间隔时间为0或全程时间为0时弹出MessageBox当录入成功时,所有编辑框自动初始化为“0”;当录入的时大于23或录入的分大于59时弹出警告。当录入文件中已有的车次时,弹出3, 单击菜单“公交车基本信息管理”进入“公交车基本信息修改”界面在进行信息修改时,当录入文件中不存在的车次时,弹出如果文件中存在要修改的车次则提示“修改成功!”5,单击菜单“公交车基本信息管理”进入“公交车基本信息查询”界面信息查询界面只有车次是可输入选项,其它编辑框控件属性都为“只读

4、”,在输入的车次中,如果文件中保存的信息不存在,则显示MessageBox(“无此车次!”);如果存在,则6,单击菜单“站点基本信息管理”进入“录入”界面站点录入至少在四站或以上否则显示警告Box。录入完之后,系统首先在文件中搜索是否已存在该车次,如果已经存在则显示警告Box,如果不存在则录入成功。7,单击菜单“站点基本信息管理”进入“修改”与“查询”界面为了更好的进行修改与查询,让客户更好的“修改”与“查询”,这两个菜单对应得函数单击事件内容为:ShellExecute(NULL,open,f:站点基本信息.txt,NULL,NULL,SW_SHOW);调用外部应用程序进行查看8,单击“系统

5、设计”-“方案设计”,进入界面输入起点与终点后点击“确定”按钮编辑框弹出行车方案,如果需要转车的话,系统先在文件中搜索经过起点的车次,再搜索经过终点的车次,找出两车次所共同的站点,然后输出转车方案。9,点击“退出系统”进入界面:,单击确定退出系统。10,联网查询公交路线根据程序内部代码可以在互联网上进行南昌公交线路搜索。四,系统运行环境1, 系统开发平台:Microsoft Visual C+2, 系统开发语言:C+3, 运行平台:Window XP/ Window 2000/及以上版本五,函数及调试分析在程序中使用了很多以前没有用到的知识点,例如:UpdateData(TRUE)、Messa

6、geBox()、CStdioFile类、ReadString()WriteString()、Find()、ShellExecute()、Format()、Draw(pDC,0,CPoint(0,0),ILD_TRANSPARENT)等内容,WriteString()函数可以把整个字符串放到文件里。由于在文件方面采用了CStdioFile类,因此在读取文件时可以方便的以行为单位进行读取并进行一行行的分析,例如在方案设计时的代码:void Design:OnFsok() UpdateData(TRUE);CString str,temp,strtemp;int flg=0,flag=0,flag1

7、=0,flag2=0;/int pose1=0,pose2=0;if(m_Psheend=|m_Pshesta=)MessageBox(请输入完整!,提示);CStdioFile file;file.Open(f:站点基本信息.txt,CFile:modeReadWrite|CFile:typeText); /只读 if(!file)MessageBox(打开文件错误,提示!,MB_OK);elsewhile(file.ReadString(temp)if(temp.Find(m_Pshesta)!=-1&temp.Find(m_Psheend)!=-1)/&m_Psheend!=&m_Psh

8、esta!=可以加上去str=您可以乘坐+temp.Left(3)+车次,从+m_Pshesta+到+m_Psheend;elseif(temp.Find(m_Pshesta)!=-1&temp.Find(m_Psheend)=-1)str=您可以乘坐+temp.Left(3)+车次;flag1=1;if(temp.Find(m_Psheend)!=-1&temp.Find(m_Pshesta)=-1)str+=再乘坐+temp.Left(3)+车次(您需要转车);flag2=1;m_Presult=str;/*if(flag1=0)MessageBox(不存在该起点!,提示!);*/if(f

9、lag2=0)MessageBox(不存在该终点!,提示!);file.Close();UpdateData(FALSE);以上经过几次的循环,可以很方便的找出行车方案。经过以上的分析,我们可以很快的将一些系统函数的用法熟悉并运用在程序中。六,测试结果可以正常运行附录:1,主界面对话框类buslDlg#include stdafx.h#include busl.h#include buslDlg.h#includeBuswr.h#includeModifybus.h#includeBussearch.h#includeSitewr.h#includeDmsite.h#includeDlsite

10、.h#includeDesign.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function

11、 overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDa

12、taExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CBuslDlg dialogCBuslDlg:CBuslDlg(CWnd* pParent /*=NULL*/): CDialog(CBuslDlg:IDD, pParent)/AFX

13、_DATA_INIT(CBuslDlg)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CBuslDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(

14、CBuslDlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CBuslDlg, CDialog)/AFX_MSG_MAP(CBuslDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_COMMAND(ID_BUSWR, OnBuswr)ON_COMMAND(ID_BUSMO, OnBusmo)ON_COMMAND(ID_BUSLO, OnBuslo)ON_COMMAND(ID_DLO, OnDlo)O

15、N_COMMAND(ID_DMO, OnDmo)ON_COMMAND(ID_DWR, OnDwr)ON_COMMAND(ID_FSHE, OnFshe)ON_COMMAND(ID_EXIT, OnExit)ON_COMMAND(ID_INTERNET, OnInternet)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CBuslDlg message handlersBOOL CBuslDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX mu

16、st be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a di

17、alogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization here/m_ImageList.Creat(32,32,ILC_COLOR24|ILC_MASK,1,0);/*m_ImageList.Create(IDB_BITMAP1,216,0,ILC_COLOR16|ILC_MASK);CBitmap m_bitmap;m_bitmap.LoadBitmap(IDB_BITMAP1);m_ImageList.Add(&m_b

18、itmap,ILC_MASK);*/m_ImageList.Create(IDB_BITMAP2,900,200,ILC_COLOR8|ILC_MASK);/创建图像列表CBitmap m_bitmap;/声明CBitmap类型变量m_bitmap.LoadBitmap(IDB_BITMAP2);/加载位图资源m_ImageList.Add(&m_bitmap,ILC_MASK);/向图像列表中添加位图return TRUE; / return TRUE unless you set the focus to a controlvoid CBuslDlg:OnSysCommand(UINT n

19、ID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically don

20、e for you by the framework.void CBuslDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;G

21、etClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();CDC *pDC=GetDC();m_ImageList.Draw(pDC,0,CPoint(0,0),ILD_TRANSPARENT);pDC-DeleteDC();/ The system calls this to obtain the cursor to dis

22、play while the user drags/ the minimized window.HCURSOR CBuslDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CBuslDlg:OnBuswr() /公交车基本信息录入单击事件函数Buswr bus;bus.DoModal();/调用模态对话框方法void CBuslDlg:OnBusmo() /公交车基本信息修改Modifybus busmo;busmo.DoModal();void CBuslDlg:OnBuslo()/公交车基本信息查询Bussearch sea;sea.Do

23、Modal();void CBuslDlg:OnDlo() /站点信息查询ShellExecute(NULL,open,f:站点基本信息.txt,NULL,NULL,SW_SHOW);void CBuslDlg:OnDmo()/站点信息修改ShellExecute(NULL,open,f:站点基本信息.txt,NULL,NULL,SW_SHOW);void CBuslDlg:OnDwr()/站点信息的录入Sitewr te;te.DoModal(); void CBuslDlg:OnFshe() /方案设计Design de;de.DoModal();void CBuslDlg:OnExit(

24、) /退出应用程序if(MessageBox(确定要退出应用程序吗?,系统提示!,MB_OKCANCEL|MB_ICONQUESTION)!=IDOK)return;exit(0);void CBuslDlg:OnInternet() /联网查询南昌公交路线ShellExecute(0, open, /, NULL, NULL, SW_SHOWNORMAL);2,公交车基本信息录入模块void Buswr:OnWr() UpdateData(TRUE);/用于将屏幕上控件中的数据交换到变量中。int m=0,n=0;if(m_Pcheci=0|m_P

25、nextt=0|m_Ptotalt=0)MessageBox(请填写完整!,提示!,MB_OK|MB_ICONEXCLAMATION);elseif(m_Pstim);file.WriteString(m_sitetwo);file.WriteString(-);file.WriteString(m_sitethr);file.WriteString(-);file.WriteString(m_sitethu);file.WriteString(-);file.WriteString(m_sitefiv);file.WriteString(-);file.WriteString(m_sites

26、ix);file.WriteString( 前后两站里程各为(单位:米);file.WriteString(m_deson);file.WriteString( );file.WriteString(m_destw);file.WriteString( );file.WriteString(m_desthr);file.WriteString( );file.WriteString(m_desthu);file.WriteString( );file.WriteString(m_desfi);file.WriteString(n);file.Close();m_comcheci=,m_siteone=,m_sitetwo=,m_sitethr=,m_sitethu=

温馨提示

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

评论

0/150

提交评论