系统软件实践课程设计报告电话薄管理系统(DOC毕设论文)_第1页
系统软件实践课程设计报告电话薄管理系统(DOC毕设论文)_第2页
系统软件实践课程设计报告电话薄管理系统(DOC毕设论文)_第3页
系统软件实践课程设计报告电话薄管理系统(DOC毕设论文)_第4页
系统软件实践课程设计报告电话薄管理系统(DOC毕设论文)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 化工大学北方学院课程设计报告课程名称 系统软件实践课程设计 设计题目 通讯录管理系统专业、班级学号XX指导教师设计时间2011年 9 月 30 日一、 引言(简要说明设计题目的目的、意义、容、主要任务等)1、设计题目的目的与意义:由于纸制或电子形式的通讯录,携带不方便,或容易忘记等方面的缺点,所以要开发一个网络通讯录管理系统,该系统本着方便,快捷的宗旨,为用户提供更安全,便捷的操作环境。用户注册、登录功能;登录后,显示出与当前用户相关的联系人 ;添加新联系人 ;删除联系人;根据联系人类型查找联系人信息。根据以上要求,开发一个网络通讯录管理系统。2、设计题目的主要容:建立通讯录信息,信息至少包

2、括:序号,性别,生日,E-mail,家庭住址,工作单位,手机,家庭,办公等;能够提供添加、删除和修改通讯录信息的功能;能够提供安不同方式查询的功能;如按或年龄、等查询;将通讯录保存在文件中;能够按表格方式输出通讯录信息。3、设计题目的主要任务与功能:主要包含一下多种功能:用户登录验证;添加:添加通讯录记录;显示:显示通讯录记录;删除:删除通讯录记录;查询:查询通讯录记录查找所有联系人;修改:修改通讯录记录;按照类别查找联系人;保存:将信息保存到文件。二、 正文(课程设计的主要容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的

3、结论等。正文容必须实事、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。)1、主要容本系统为基于Visual C+的网络通讯录管理系统,该通讯录管理系统规划模块如下:(1)用户登录验证(2)添加新联系人(3)删除联系人信息(4)查找所有联系人(5)修改联系人2、系统说明与开发平台:(1)使用Visual C+ 6.0作为本次系统的开发工具。因为Visual C+ 6.0是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C+又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的

4、资源编辑功能。(2)使用Access做为本次开发软件的数据库。因为Access被集成在Microsoft Office中。Access数据库处理的基本结构,采取关系型数据库模式。与其他的数据库系统相比,Access更加简单易学,一个普通的计算机用户可以很快地掌握它。Access 2000的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与Office其他组件交流数据,这些功能对一个一般用户而言已经足够了。3、本系统功能模块通讯录管理系统需要实现的功能主要有四大块:l 增加的功能模块l 修改的功能模块l 删除的功能模块l 查询的功能模块其中增

5、加的功能模块和查询的功能模块是整个系统的核心。a增加的功能模块:(1) 编写基本信息和联系方式。基本信息包括:序号,性别,生日,E-mail,家庭住址,工作单位;联系方式包括:手机,家庭,办公。b修改的功能模块:c查询的功能模块:(1)选择查询类别:根据相应的类别对所有记录进行所需查询。此查询包括:,家庭住址,手机,办公。(2)输入关键字:根据相应的关键字进行所需查询。(3)精确查询:根据相应的关键字信息进行所需查询。(4)模糊查询:根据相应的不完全的关键字进行所需查询。d删除的功能模块:(1)首先选择将删除的通讯录信息。(2)确定是否真的删除该项。(3)数据备份:对现有的数据库信息的保存。3

6、、设计说明:(1)在线通讯录数据库、表设计:数据库名称:addresslist表1:数据表password表2:数据表person(2)在线通讯录的实体类和功能实现的部分代码:a、通讯录"关于"对话框/类名:CAboutDlg/功能:通讯录"关于"对话框/#include "stdafx.h"#include "Address.h"#include "AddressDlg.h"#include "PswdSet.h"#include "MainDlg.h"

7、#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Constructionpublic:AboutDlg(CWnd* pParent = NULL); / standard constructor/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_AB

8、OUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)virtual BOOL OnInitDialog();afx_msg void OnSTATICmail();/AFX_MSGDECLARE_MESSA

9、GE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/AFX_MSG_MAPEND_MESSAGE_MAP()/ C

10、AddressDlg dialogCAddressDlg:CAddressDlg(CWnd* pParent /*=NULL*/): CDialog(CAddressDlg:IDD, pParent)/AFX_DATA_INIT(CAddressDlg)m_password = _T("");/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);count=0;

11、seconds=23;void CAddressDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAddressDlg)DDX_Control(pDX, IDC_EDIT1, m_ctrlpassword);DDX_Text(pDX, IDC_EDIT1, m_password);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAddressDlg, CDialog)/AFX_MSG_MAP(CAddressDlg)ON_WM_SYSCOMMAND()ON_WM_PA

12、INT()ON_WM_QUERYDRAGICON()ON_WM_TIMER()ON_WM_CLOSE()ON_WM_CTLCOLOR()/AFX_MSG_MAPEND_MESSAGE_MAP()/ CAddressDlg message handlersBOOL CAddressDlg:OnInitDialog()CDialog:OnInitDialog();/ TODO: Add extra initialization herem_ctrlpassword.SetFocus();SetTimer(0,800,NULL);return TRUE; / return TRUE unless y

13、ou set the focus to a controlvoid CAddressDlg:OnSysCommand(UINT nID, 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 a

14、pplications using the document/view model,/ this is automatically done for you by the framework.void CAddressDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystem

15、Metrics(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);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display whi

16、le the user drags/ the minimized window.HCURSOR CAddressDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;b、登录验证需要输入密码/名称:OnOk/功能:要求输入密码/void CAddressDlg:OnOK() / TODO: Add extra validation hereCPswdSet* m_recordset=new CPswdSet(&m_database);CString strSQL;UpdateData(TRUE);/读入用户输入的密码strSQL.Format(&q

17、uot;select * from password where PASSWORD='%s'",m_password);m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);/从数据库中查找,输入的密码是否正确if(m_recordset->GetRecordCount()=0)if(count<2)MessageBox("密码错误!机会不多了。","提示",MB_OK|MB_ICONWARNING);count+;/登录次数加1m_password.Empty()

18、;m_ctrlpassword.SetFocus();UpdateData(FALSE);elseMessageBox("你无权使用此系统!","警告",MB_OK|MB_ICONHAND);m_database.Close();/关闭数据库CDialog:OnOK();/关闭对话框/如果登录成功,则打开通讯录的主界面elsem_database.Close();CMainDlg m_dlg;m_dlg.m_database.Open(_T("addresslist");KillTimer(0);/关闭定时器CDialog:OnOK(

19、);m_dlg.DoModal();c、关闭登陆界面/名称:OnClosr/功能:关闭登陆界面/void CAddressDlg:OnClose() / TODO: Add your message handler code here and/or call defaultKillTimer(0);CDialog:OnClose();d、设置登陆界面文字的颜色/名称:OnCtrlColor/功能:设置登陆界面文字的颜色/HBRUSH CAddressDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog

20、:OnCtlColor(pDC, pWnd, nCtlColor);/ TODO: Change any attributes of the DC herepDC->SetTextColor(RGB(255,0,0);/ TODO: Return a different brush if the default is not desiredreturn hbr;BOOL CAboutDlg:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herereturn TRUE; / return TRU

21、E unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEe、登陆界面,在登陆过程中倒计时20秒,若密码错误或登陆不成功,则自动返回。/名称:Ontimer/功能:实现登陆界面上的倒计时功能/void CAddressDlg:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call defaultCString str;seconds-;str.Format("%d

22、",seconds);this->SetWindowText("欢迎进入MY通讯录 ("+str+")秒");if(seconds=0)KillTimer(0);CAddressDlg:OnCancel();CDialog:OnTimer(nIDEvent);4、测试过程中的部分截图:(1)登陆主界面:(2)登陆成功后,显示主菜单:(3)增加记录的界面:(4)修改记录的界面: (5)删除界面会给出相应的提示框:(6)点击“查询记录”,会自动展开下方的“记录查询区”:(7)查询结果显示如下:(8)点击“账户”,可以进行修改密码的操作:(9)

23、密码修改成功:(10)点击“帮助”菜单,选择“功能概述”:(11)点击“帮助”菜单,选择“注意事项”:(12)点击“帮助”菜单,选择“特点展示”:(13)点击“帮助”菜单,选择“关于通讯录”:(14)点击“文件”菜单,选择“退出系统”:三、 结论(应当准确、完整、明确精练;也可以在结论或讨论中提出建议、设想、尚待解决问题等。)首先,经过一周的编程与报告总结,我对Visual C+这门学科有了新的认识,本人实在是获益不浅!要想编写一个准确、高效并有使用价值的程序,一定先要对课本知识熟悉,还要掌握必要的上机操作能力,写程序其实很容易而关键在于调试程序。这次设计,让我重新掌握了java语言,而且还得到了用Visual C+解决实际问题的宝贵经验。其次, 通过此次编程我也发现了自己在学习中的错误和不足,复习了以前学过的数据库的相关知识。同时也学到了一些没学过的知识,让我从中收益非浅!更重要的是培养了独立思考问题和解决问题的能力,熟悉了一些基本操作和解决问题的方法!第三, 当我选择通讯录这个题目时,认为是不难的,但在课程设计之初就遇到了许多问题,我深

温馨提示

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

最新文档

评论

0/150

提交评论