通讯录系统程序设计报告

合集下载

通讯录管理系统c语言课程设计报告课题简介

通讯录管理系统c语言课程设计报告课题简介

通讯录管理系统C语言课程设计报告
一、课题简介
通讯录管理系统是一种常见的应用程序,旨在帮助用户组织和管理他们的联系人信息。

本课程设计将利用C语言来实现一个基本的通讯录管理系统,旨在帮助学生掌握C语言编程的基本知识和技能。

二、设计目的
1.帮助学生熟悉C语言的基本语法和编程逻辑;
2.提高学生对数据结构的理解和运用能力;
3.培养学生的编程能力和软件开发思维;
4.提高学生的团队合作和项目管理能力。

三、设计内容
本课程设计将围绕以下几个方面展开:
1.用户界面设计:设计一个简洁直观的用户界面,包括菜单选项、输
入输出界面等;
2.数据结构设计:设计通讯录数据结构,包括联系人姓名、电话号码
等信息的存储方式;
3.功能实现:实现通讯录管理系统的基本功能,包括添加联系人、删
除联系人、查找联系人等操作;
4.文件操作:实现通讯录数据的读写操作,将联系人信息保存到文件
中,以便下次运行时读取;
5.错误处理:处理用户输入错误等异常情况,保证程序的稳定性和可
靠性。

四、预期效果
通过本课程设计,学生将能够掌握以下技能:
1.掌握C语言基本语法和编程逻辑;
2.熟悉数据结构的设计和运用;
3.提高编程能力和软件开发思维;
4.培养团队合作和项目管理能力。

五、总结
通过设计一个通讯录管理系统的C语言课程项目,学生将在实践中加深对C语言的理解和应用,提高编程技能和解决问题的能力。

希望本课程设计能够为学生的编程学习提供一定的帮助和指导。

以上为《通讯录管理系统C语言课程设计报告》的简要介绋,希望能够为课程设计的顺利进行提供一定的参考和指引。

通讯录管理系统c语言课程设计报告(一)

通讯录管理系统c语言课程设计报告(一)

通讯录管理系统c语言课程设计报告(一)通讯录管理系统C语言课程设计报告1. 简介通讯录管理系统是一款基于C语言开发的软件,旨在帮助用户方便地存储、查找、编辑和删除联系人信息。

本报告将对该系统的功能和设计进行详细介绍。

2. 系统功能通讯录管理系统具备以下主要功能:•添加联系人:用户可以输入联系人的姓名、电话号码、电子邮件等信息,并将其添加到通讯录中。

•查找联系人:用户可以根据姓名或电话号码等方式,快速查找通讯录中的联系人信息。

•编辑联系人:用户可以修改通讯录中已有联系人的信息,如电话号码、电子邮件等。

•删除联系人:用户可以从通讯录中删除特定联系人。

•显示通讯录:用户可以查看通讯录中的所有联系人信息。

•退出系统:用户可以选择退出通讯录管理系统。

3. 系统设计数据结构通讯录管理系统主要使用以下数据结构存储联系人信息:•结构体:定义了一个联系人的数据结构,包括姓名、电话号码、电子邮件等字段。

•数组:用于存储多个联系人信息,构成通讯录。

数组的每个元素对应一个联系人的结构体。

主要函数添加联系人函数void addContact(struct Contact contacts[], int *num Contacts)•功能:向通讯录中添加一个联系人。

•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts的指针。

•输出:无。

查找联系人函数void searchContact(struct Contact contacts[], int n umContacts)•功能:根据用户提供的关键词在通讯录中查找联系人。

•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts。

•输出:无。

编辑联系人函数void editContact(struct Contact contacts[], int num Contacts)•功能:根据用户选择的联系人在通讯录中编辑联系人信息。

通讯录管理系统设计报告

通讯录管理系统设计报告

通讯录管理系统设计报告一、引言通讯录在日常生活中扮演着重要的角色,用来存储和管理各种联系人信息,方便人们随时找到需要联系的人或组织。

随着移动互联网的普及,通讯录的管理变得更加便捷和高效。

为了提高通讯录的管理效率,我们设计并开发了一款通讯录管理系统。

二、系统概述通讯录管理系统是一个基于Web的应用程序,用户可以通过浏览器访问系统,进行通讯录的管理操作。

系统主要包括以下功能:•用户登录与注册:用户可以注册新账号,并通过账号密码登录系统。

•联系人管理:用户可以添加、编辑、删除联系人信息,包括姓名、电话号码、邮箱等。

•分组管理:用户可以创建分组并将联系人归类到不同分组。

•搜索功能:用户可以通过关键词搜索联系人信息。

•导出和导入功能:用户可以将联系人信息导出为Excel表格,并可以通过Excel文件导入联系人到系统中。

三、系统架构通讯录管理系统采用了前后端分离的架构,前端使用Vue.js框架开发,提供友好的用户界面;后端使用Node.js和Express框架搭建RESTful API,负责数据的存储和管理。

系统中的数据存储在MySQL数据库中,用户的密码使用bcrypt进行加密存储,确保用户信息的安全性。

同时,系统对用户权限进行了细致管理,保障用户在系统中的数据安全。

四、系统界面系统的界面设计简洁直观,用户可以轻松进行操作。

主要包括登录页面、通讯录首页、联系人管理页面、分组管理页面等。

用户登录页面:[登录页面截图]通讯录首页:[通讯录首页截图]联系人管理页面:[联系人管理页面截图]五、系统特色•简洁高效:系统操作简单直观,提供了快速的联系人管理功能。

•个性化定制:用户可以根据自己的需求创建分组,快速查找联系人。

•数据安全:采用了加密技术和权限管理,确保用户数据的安全性。

•导入导出功能:支持Excel文件导入导出,方便用户管理大批量联系人信息。

六、未来展望通讯录管理系统将继续进行优化和迭代,引入更多智能化功能,如联系人推荐、消息提醒等,提升用户体验。

通讯录管理系统课程设计报告系统存储结构

通讯录管理系统课程设计报告系统存储结构

通讯录管理系统课程设计报告系统存储结构一、引言通讯录管理系统是一种方便快捷地存储和管理联系人信息的应用程序。

在该系统中,数据的存储结构至关重要,它直接关系到系统的性能和稳定性。

本文将介绍通讯录管理系统的系统存储结构设计,包括数据的组织方式、存储介质选择等内容。

二、存储结构设计1. 数据的组织方式在通讯录管理系统中,联系人信息是系统中最主要的数据之一。

为了高效地存储和管理这些信息,我们选择采用数据库的方式进行组织。

数据库将联系人信息按照一定的结构进行组织和存储,方便系统对数据的检索和更新。

2. 数据库的选择在选择数据库时,我们考虑到系统的使用特点和性能要求,最终选择了关系型数据库。

关系型数据库具有良好的数据一致性和完整性,能够满足系统的数据管理需求。

同时,支持 SQL 查询语言的特性也使得对数据进行灵活的操作成为可能。

3. 数据表设计在关系型数据库中,数据是以表的形式进行存储的。

针对通讯录管理系统的需求,我们设计了以下几张表:•用户表:用于存储系统的用户信息,包括用户名、密码等;•联系人表:用于存储用户的联系人信息,包括姓名、电话号码、邮箱地址等;•分组表:用于将联系人进行分类管理,方便用户对联系人信息进行组织。

每张表之间通过外键进行关联,确保数据的一致性和完整性。

三、存储介质选择除了数据库存储外,系统还需要选择适当的存储介质来保存一些系统配置信息和用户的登录状态等数据。

我们选择了文件系统作为存储介质,将这些数据以文件的形式进行存储。

四、存储结构的优化为了提高系统的性能和响应速度,我们对存储结构进行了一定的优化。

主要包括以下几点:•索引设计:对关键字段建立索引,加快检索速度;•归档策略:定期对系统中的数据进行归档,减少存储空间的占用;•缓存机制:使用缓存技术对频繁访问的数据进行缓存,减少数据库访问的频率。

五、总结系统存储结构的设计对于通讯录管理系统的性能和稳定性具有重要影响。

通过合理选择数据库和存储介质,并对存储结构进行优化,可以有效提高系统的用户体验和响应速度。

通讯录管理系统--C语言程序设计实习报告

通讯录管理系统--C语言程序设计实习报告

C 语言课程设计题目:通讯录管理系统设计者:院系:数理学院专业:信息与计算科学班号:123111学号:***********指导教师:***2012年6月29日1.题目要求通讯录管理系统是具有数据插入、更新、删除、显示和查询功能的电话簿管理程序。

(1)数据包括姓名、工作单位、电话号码和E-MAIL地址等。

(2)可对记录中的姓名和电话号码进行更新。

(3)可增加和删除记录。

(4)可显示所有的保存的记录。

(5)可按姓名或电话号码进行查询。

2.需求分析1.信息记录要存放到文件中,要实现文件的输入、输出功能;2.实现数据的添加、删除、更新和显示,要提供输入、删除、更新和显示功能;3.要实现按人名或电话号码进行查询,因而要提供查找功能;4.应该提供键盘式选择菜单以实现功能选择。

5.采用模块化,由上到下的设计方法,通过数字选择菜单功能,上级菜单可进入下级菜单,下级菜单可返回上级菜单。

3.总体设计根据上面得需求分析,系统有菜单选择、数据输入、数据查找、数据更新、数据的存储等功能。

可以将系统设计分为四大模块,即显示、查找、更新(包括增加和删除)和退出,如图1所示。

其中,主要功能是显示、查询和更新三个模块。

4.详细设计4.1主函数主函数设计比较简洁,只提供输入、功能处理和输出部分得函数调用。

其中各功能模块采用菜单方式选择。

另外,菜单部分也可以写出函数。

具体流程图如图2所示。

【程序】main(){int n,w;do{puts("***************通讯录管理系统***************\n");puts("********************菜单********************\n");puts("1.显示通讯录\n");puts("2.查找\n");puts("3.更新\n");puts("4.退出\n");puts("********************************************\n");printf("选择功能(1-4):");scanf("%d",&n);if(n<1||n>4){w=1;getchar();}else {w=0;}}while(w==1);switch(n) /*选择功能*/{case 1:list();break; /*列出通讯录*/ case 2:find();break; /*查找*/case 3:choose();break; /*更新通讯录*/ case 4:printf("谢谢使用!\n\n"); /*退出*/ }}4.2各功能模块设计★数据结构通讯录的数据信息:姓名、工作单位、电话号码、E-MAIL均采用字符型数组,用结构体的形式,把各信息作为结构的成员。

c语言通讯录管理系统课程设计报告

c语言通讯录管理系统课程设计报告

C语言通讯录管理系统课程设计报告一、引言通讯录管理系统是一种常见的实用性软件,用于记录和管理个人或组织的联系人信息。

本文档旨在介绍一种基于C语言开发的通讯录管理系统的设计与实现。

通过本系统,用户可以方便地添加、删除、搜索和编辑联系人信息,实现了通讯录的基本功能。

二、系统需求分析本通讯录管理系统的主要功能包括: 1. 添加联系人:用户可以添加联系人的姓名、电话号码、邮箱等信息。

2. 删除联系人:用户可以根据联系人的姓名或电话号码删除对应的联系人信息。

3. 查找联系人:用户可以根据联系人的姓名或电话号码查找对应的联系人信息。

4. 修改联系人:用户可以修改已存在联系人的信息。

5. 显示所有联系人:用户可以查看通讯录中所有的联系人信息。

三、系统设计1. 数据结构设计为了实现通讯录管理系统,我们需要设计适当的数据结构来存储联系人信息。

在本设计中,使用结构体数组来表示每个联系人的信息,其中每个结构体包含姓名、电话号码、邮箱等成员变量。

struct Contact {char name[50];char phoneNumber[20];char email[50];};2. 功能模块设计本系统主要包含以下几个功能模块:a. 添加联系人模块用户可以选择添加新的联系人,输入姓名、电话号码和邮箱等信息后,系统将在通讯录中添加新的联系人。

b. 删除联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并选择删除对应的联系人。

c. 查找联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并在界面上显示查询结果。

d. 修改联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并选择修改对应的联系人。

e. 显示所有联系人模块用户可以选择显示通讯录中所有的联系人信息,在界面上进行展示。

3. 系统框架设计本系统的整体框架如下:1. 主菜单显示2. 根据用户的选择,进入对应的功能模块四、系统流程图下图展示了通讯录管理系统的整体流程:主菜单 -> 用户选择功能模块 -> 执行对应模块功能五、代码实现以下为通讯录管理系统的部分核心代码实现,完整代码可参考附录部分。

数据结构课程设计通讯录管理系统报告

数据结构课程设计通讯录管理系统报告

数据结构课程设计通讯录管理系统报告前言通讯录管理系统是一种常见的应用程序,用于帮助用户有效地组织和管理他们的联系人信息。

本报告旨在介绍和分析一个基于数据结构设计的通讯录管理系统,其中实现了基本的通讯录功能,并且通过合适的数据结构和算法进行优化。

功能需求通讯录管理系统需要实现以下基本功能: - 添加联系人信息 - 查找联系人信息 - 删除联系人信息 - 更新联系人信息 - 显示所有联系人信息数据结构选择为了实现通讯录管理系统的功能,我们选择使用链表作为数据结构。

链表是一种简单而灵活的数据结构,可以动态地添加或删除节点,非常适合存储联系人信息这种动态的数据。

在这里,我们采用双向链表,使得查找、插入和删除操作更加高效。

算法设计添加联系人信息添加联系人信息时,我们需要遍历链表找到合适的位置插入新节点,这里的算法复杂度为O(n),其中n表示链表的长度。

查找联系人信息查找联系人信息时,我们需要遍历链表查找目标节点,这里的算法复杂度为O(n)。

删除联系人信息删除联系人信息时,我们同样需要遍历链表找到目标节点并删除,其算法复杂度为O(n)。

更新联系人信息更新联系人信息时,我们首先需要查找到目标节点,然后进行更新操作,其算法复杂度也为O(n)。

系统优化为了提高系统的性能,我们可以通过以下几种方式进行优化: - 使用哈希表索引联系人信息,减少查找联系人的时间复杂度; - 引入缓存机制,减少频繁的IO 操作。

总结通过本报告的介绍和分析,我们了解了一个基于数据结构设计的通讯录管理系统的实现原理和优化方法。

在实际应用中,针对具体需求和场景,我们可以进一步优化系统性能,提升用户体验。

通讯录管理系统作为一种简单而实用的应用程序,将在日常生活中发挥重要作用。

c++通讯录管理系统课程设计报告

c++通讯录管理系统课程设计报告

C++通讯录管理系统课程设计报告1. 引言本文档是关于C++通讯录管理系统课程设计的报告。

通讯录管理系统是一款方便用户管理联系人信息的应用程序。

本文将详细介绍设计理念、功能需求、系统设计及实现等方面的内容。

2. 功能需求为了满足用户对通讯录管理的需求,本系统应具备以下功能:2.1 添加联系人用户可以通过系统添加联系人信息,并包括联系人的姓名、电话号码、电子邮件地址等基本信息。

2.2 删除联系人用户可以选择删除通讯录中现有的联系人信息。

2.3 查询联系人用户可以根据联系人的姓名、电话号码等信息进行查询,以便于快速找到所需的联系人。

2.4 修改联系人信息用户可以对通讯录中现有联系人的信息进行修改,包括姓名、电话号码、电子邮件地址等。

2.5 显示所有联系人用户可以查看通讯录中所有联系人的详细信息。

3. 系统设计3.1 数据结构通讯录管理系统可以使用结构体来表示联系人的信息,每个联系人的信息包括姓名(name)、电话号码(phone)、电子邮件地址(email)等字段。

struct Contact {std::string name;std::string phone;std::string email;};3.2 类设计系统设计中包含以下类:3.2.1 ContactManagerContactManager是通讯录管理类,负责管理联系人信息的添加、删除、查询、修改和显示等操作。

成员函数:•void addContact(const Contact& contact): 添加联系人信息。

•void deleteContact(const std::string& name): 删除指定姓名的联系人信息。

•Contact findContact(const std::string& name): 根据指定姓名查询联系人信息。

•void modifyContact(const std::string& name, const Contact& contact): 修改指定姓名的联系人信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通讯录系统程序设计报告专业班级:电创新1301班项目名称:通讯录系统程序设计(address book system)小组成员:陈灯念(组长)罗晶晶杨苒晨于桐桐盛超群指导老师:张丽静完成日期:2013年1月2日教师评价:目录一、系统简介1. 目标功能2. 实现功能3. 未实现功能二、成员分工及完成情况三、数据库1. 登录数据库2. 查询数据库3. 老师通讯信息数据库4. 同学信息数据库四、具体模块设计1. 登录部分2. 主界面3. 单击同学按钮4. 单击老师按钮5. 单击按姓名查找按钮6. 单击按学号查找按钮功能五、项目总结一系统简介①目标功能:1.电创新1301班的同学可以用个人姓名作为用户名,个人学号作为密码,进行登录界面的登录。

若姓名与密码匹配,则登录成功。

若输入的姓名不是电创新1301班同学的姓名或用户名与密码不匹配或密码错误,则弹出消息框显示“登录错误,请重试!”2.登录后显示主界面。

(1)双击“同学”按钮,弹出对话框,可依次查看电创新1301班同学通讯信息。

(2)单击“老师”按钮,弹出对话框,可依次查看电创新1301班老师通讯信息。

(3)单击“朋友”按钮,弹出对话框,可依次查看自己的朋友的通讯信息。

(4)单击“家人”按钮,弹出对话框,可依次查看自己的家人通讯信息。

(5)单击“按姓名查询”按钮,弹出一个对话框,键盘输入被查询人(须为电创新1301班同学)的姓名,再单击“咱们来查找吧”按钮,即弹出消息框显示被查询人的通讯信息。

(6)单击“按学号查询”按钮,弹出一个对话框,键盘输入被查询人(须为电创新1301班同学)的学号,再单击“咱们来查找吧”按钮,即弹出消息框显示被查询人的通讯信息。

3. 点击同学,老师,朋友或家人按钮后,弹出对话框,可以单击“添加”按钮或“删除”按钮添加或删除联系人或者单击“修改”按钮修改联系人的信息。

②实现功能:通过本小组成员的通力合作,在看书和上网查询资料后,目前本通讯录实现的功能有:1.电创新1301班的同学可以用个人姓名作为用户名,个人学号作为密码,进行登录界面的登录。

若姓名与密码匹配,则登录成功。

若输入的姓名不是电创新1301班同学的姓名或用户名与密码不匹配或密码错误,则弹出消息框显示“登录错误,请重试!”2. 登录后显示主界面。

(1)双击“同学”按钮,弹出对话框,可依次查看电创新1301班同学通讯信息。

(2)单击“老师”按钮,弹出对话框,可依次查看电创新1301班老师通讯信息。

(3)单击“按姓名查询”按钮,弹出一个对话框,键盘输入被查询人(须为电创新1301班同学)的姓名,再单击“咱们来查找吧”按钮,即弹出消息框显示被查询人的通讯信息。

(4)单击“按学号查询”按钮,弹出一个对话框,键盘输入被查询人(须为电创新1301班同学)的学号,再单击“咱们来查找吧”按钮,即弹出消息框显示被查询人的通讯信息。

3.单击同学,老师,朋友或家人按钮后,弹出对话框,可以单击“添加”按钮或“删除”按钮添加或删除联系人或者单击“修改”按钮修改联系人的信息。

③未实现功能:1. 单击“朋友”按钮,弹出对话框,可依次查看自己的朋友的通讯信息。

2. 单击“家人”按钮,弹出对话框,可依次查看自己的家人通讯信息。

我们猜想若要实现这两项功能,需要再对班级31位同学每个人都建立一个单独的数据库,信息量过大,而且还要对单独的数据库与学号进行连接,我们时间和能力有限。

二成员分工及完成情况陈灯念:登录功能实现、查询功能实现,已成功实现杨苒晨:老师通讯录、美工设计,已成功实现。

罗晶晶:同学通讯录,已成功实现。

于桐桐:PPT,前期资料查找,已成功实现。

盛超群:word,查询功能实现,已成功实现。

此外,大家都积极的上网查询了资料。

三数据库以下为数据库截图:1.登录数据库2.查询数据库3.老师通讯信息数据库4.同学信息数据库1..登录部分当输入的用户名为电创新1301班同学的姓名,密码为其匹配的学号时登录成功并进入主界面除此之外,其他输入均为错误输入,会弹出提示消息框此模块代码如下:下面解释一下其中用到的部分函数和方法:● UpdateData(TRUE):将表单中控件的输入内容更新到所关联的变量上,也就是让位两个编辑框控件的变量m_username 和m_userpwd 获得输入值。

● CUserRecordset m_user: 生成一个CUserRecordset 类的实例m_user,用以操作数据库中定义的表“puser”。

● if(m_user.IsOpen()); m_user.Close(); 判断puser 记录集是否打开,如果打开的话则关闭,以保证后边的操作能正确执行。

● m_user.m_strFilter.Format("username='%s'anduserpwd='%s'",m_Unam e,m_Upwd):定义查询语言,其对应规则为:“username= m_Uname and userpwd= m_Upwd”。

● m_user.Open(CRecordset::snapshot,NULL,CRecordset::none):执行查询● if(m_user.IsEOF()) {…} else {…}:判断是否已经查询到表的末尾,如果是的话表明没有符合的用户,用户名或密码错误,否则提示登录成功。

● m_user.Close():操作完后要及时关闭数据库,保证其他操作的正确执行。

● AfxMessageBox("密码错误,请重试!"):利用标准信息框,输出警告信息。

至此验证密码的代码编写完毕。

注意:要记得UpdateData(TRUE),否则可能得不到输入的数据;另外要急得及时关闭数据库,否则后续的打开操作可能无法执行。

编译选择菜单“Build—Rebuild All”即可编译程序。

我们看到在调试区出现了大堆错误,因为其中忘了两点重要的内容:(1)选择WorkSpace 的FileView 选项卡,在编辑区打开文件“Demo01files\Header Files\StaAfx.h”,在其中加入下面的内容:#include<afxdb.h>这是与CRecordSet 调用相关的头文件声明。

(2)打开文件“Demo01 files\Source Files\Demo01Dlg.cpp”,在其中加入下面的内容:#include "UserRecordset.h"这是与CUserRecordset 调用相关的头文件声明。

2.主界面设置背景图片:先在MFC中导入一张bmp图片,再去掉OnPaint()函数的Else块中原有语句,插入如下代重绘按钮,改变按钮及字体的颜色:先新建一个Cbutton的继承类CTestBtn,在新建类中加入一个函数void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct),其代码如下。

然后在对话框的头文件中包含CTestBtn类,即#include “TestBtn.h”。

最后设置需重绘按钮的属性为Ownerdraw,并给按钮连接一个关联CtestBtn类的变量。

改变静态框字体颜色:打开Class Wizard,选中WM_CTLCOLOR,代码如下:3.单击同学按钮可以进行翻页,依次查询给此界面的编辑框分别连接上变量:然后,添加一个对话框IDD_DIALOG1,给此界面的编辑框分别连接上变量:然后再在添加按钮下加入代码:修改按钮的做法同添加按钮一样,都是新建一个对话框之后进行操作。

新插入的对话框需要在头文件中定义,这样才可以使用。

定义如下:删除功能直接在删除按钮下添加如此代码:注:绿色代码部分为一开始尝试的程序。

功能实现效果不加,但也有一定参考意义。

4.单击老师按钮单击删除按钮输入姓名后单击OK此模块代码如下:5单击按姓名查找按钮输入电创新1301班同学名字后,单击“咱们查找吧“按钮后此模块代码如下:对此代码的解释如下M_pSet属于ADO的一个成员,是CRecordset中的指针,用于操作游标等例如:m_pSet->MoveNext()用来移动游标到下一条记录m_pSet->IsEOF()判断是否为记录尾m_pSet->MoveLast()移动游标到最后一条m_pSet->IsBOF()是否游标为记录首m_pSet->SetFieldNull(NULL);清空数据区6.单击按学号查找按钮功能类似五项目总结为了完成此次大作业,我们小组5个人通力合作,每个人都在积极的上网查找资料,看了很多以前别的人做的成品,知道了一个大致的方向,而后我们开始自己着手做。

学习MFC的时候还没有意识到原来他的功能可以如此强大,在数据库的建立过程中,也查找了很多资料,后来在界面优化的代码也是来源于网络。

这次大作业让我们亲身感受到了MFC的神奇。

相关文档
最新文档