河北工业大学-离散数学综合实验二

上传人:第*** 文档编号:32766682 上传时间:2018-02-12 格式:DOC 页数:12 大小:80KB
返回 下载 相关 举报
河北工业大学-离散数学综合实验二_第1页
第1页 / 共12页
河北工业大学-离散数学综合实验二_第2页
第2页 / 共12页
河北工业大学-离散数学综合实验二_第3页
第3页 / 共12页
河北工业大学-离散数学综合实验二_第4页
第4页 / 共12页
河北工业大学-离散数学综合实验二_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《河北工业大学-离散数学综合实验二》由会员分享,可在线阅读,更多相关《河北工业大学-离散数学综合实验二(12页珍藏版)》请在金锄头文库上搜索。

1、实验三 通讯录管理程序设计与实现一、实验目的与要求实验目的:锻炼面向对象编程与文件操作能力实验要求:1、熟悉 C+程序设计。2、运用 OO 知识对实验题目进行分析和设计。3、进行程序编写和调试工作。二、实验内容设计、实现一个具有通讯信息插入、修改、删除、显示、查询和统计功能的通讯录管理程序。程序设计功能及要求:1、 人数不定,数据使用文件存放。2、 记录每位同学的学号、姓名、性别、工作单位、电话号码和 E-mail 地址建立单独的条目,存入数据文件。3、 可对记录中的姓名和电话号码等进行修改。4、 可增加或删除记录。5、 可显示所有保存的记录。6、 可以统计男女同学或总人数。7、 通过姓名、学

2、号或电话号码查询到同学的条目。8、 在开始画面加入简单的菜单便于选择功能。9、 储存数据文件格式:学号 姓名 性别 工作单位 电话号码 E-mail 1 李四 . . . 10、选做:加入文件加密系统,对储存数据文件进行简单的加密,要求通过直接打开储存数据文件无法获得其中的数据。但同时不影响程序对储存数据文件的调用。三、实验方法1、通讯录的录入:从键盘接收输入的通讯录信息,将其存储到通讯录文件中。2、通讯录信息的修改:从键盘接收输入的需要修改通讯录的姓名,在文件中查找是否存在相应记录,如果存在,则从键盘输入修改后的信息,并保存在文件中。3、通讯录信息的删除:从键盘接收输入的需要删除的通讯录的姓

3、名,在通讯录文件中进行查找,如果存在这样的记录,则在文件中将记录删除。4、通讯录信息的增加:从键盘接收要增加的通讯录信息,并与通讯录文件中已存在的信息进行比对,如果存在这样的记录,且前后信息不符,则更新该记录,如果不存在该条记录,则将新录入的通讯录信息保存到通讯录文件中。5、显示所有保存的记录:能显示出所有通讯录文件的所有记录。6、统计男女生人数或总人数。7、通讯录的查询功能:从键盘接收要查询的姓名、学号或电话号码,对通讯录文件进行查询,并将查询到整条记录显示出来。8、该通讯录可以采用字符界面,也可以在开始画面加入简单的菜单便于选择功能。四、实验设计该实验通过采用 ADO 封装对象进行数据库的

4、访问和操作信息存储数据文件存放在通讯录文件夹的根目录下建议从工作台直接进入进行测试五,源代码/ UseAdoDlg.cpp : implementation file/#include stdafx.h#include UseAdo.h#include UseAdoDlg.h#include ADO.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public

5、 CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/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)

6、/AFX_MSGDECLARE_MESSAGE_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)/ No messag

7、e handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CUseAdoDlg dialogCUseAdoDlg:CUseAdoDlg(CWnd* pParent /*=NULL*/): CDialog(CUseAdoDlg:IDD, pParent)/AFX_DATA_INIT(CUseAdoDlg)m_ID = _T();m_Name = _T();m_Culture = _T();m_Sex = _T();m_Bianhao = _T();m_Addr = _T();/AFX_DATA_INIT/ Note that LoadIcon does not requi

8、re a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CUseAdoDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CUseAdoDlg)DDX_Control(pDX, IDC_LIST1, m_Grid);DDX_Text(pDX, IDC_EDIT1, m_ID);DDX_Text(pDX, IDC_EDIT2, m_Name);DDX_Text(pDX, I

9、DC_EDIT3, m_Culture);DDX_Text(pDX, IDC_EDIT4, m_Sex);DDX_Text(pDX, IDC_EDIT6, m_Bianhao);DDX_Text(pDX, IDC_EDIT7, m_Addr);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CUseAdoDlg, CDialog)/AFX_MSG_MAP(CUseAdoDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTADD, OnButadd)ON_NOTIFY(NM_CLI

10、CK, IDC_LIST1, OnClickList1)ON_BN_CLICKED(IDC_BUTMOD, OnButmod)ON_BN_CLICKED(IDC_BUTDEL, OnButdel)ON_BN_CLICKED(IDC_BUTCLEAR, OnButclear)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CUseAdoDlg message handlersBOOL CUseAdoDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX

11、 must be in the system command range.ASSERT(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 dialogSetIcon(m_hIcon, TR

12、UE); / Set big iconSetIcon(m_hIcon, FALSE); / Set small icon/ TODO: Add extra initialization herem_Grid.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_Grid.InsertColumn(0,姓名,LVCFMT_LEFT,110,0);m_Grid.InsertColumn(1,电话,LVCFMT_LEFT

13、,110,1);m_Grid.InsertColumn(2,QQ,LVCFMT_LEFT,110,2);m_Grid.InsertColumn(3,性别,LVCFMT_LEFT,110,3);m_Grid.InsertColumn(4,邮箱地址,LVCFMT_LEFT,110,4);m_Grid.InsertColumn(5,编号,LVCFMT_LEFT,110,5);AddToGrid(); return TRUE; / return TRUE unless you set the focus to a controlvoid CUseAdoDlg:OnSysCommand(UINT nID

14、, 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 done

15、for you by the framework.void CUseAdoDlg: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;GetClientRect(int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号