个人通信录管理系统 课程设计

合集下载

通讯录管理课程设计

通讯录管理课程设计

通讯录管理 课程设计一、课程目标知识目标:1. 让学生理解通讯录的基本概念,掌握通讯录的基本结构和管理方法。

2. 学会使用电子设备或软件进行通讯录的录入、查询、修改和删除操作。

3. 了解通讯录在日常生活和工作中的应用场景,认识到通讯录管理的重要性。

技能目标:1. 培养学生运用电子设备或软件进行通讯录管理的能力,提高信息处理效率。

2. 培养学生独立解决通讯录管理过程中遇到的问题,提升问题解决能力。

3. 培养学生团队协作能力,通过小组讨论和分享,优化通讯录管理方法。

情感态度价值观目标:1. 培养学生认真负责的态度,对待通讯录管理任务严谨细致,确保信息准确无误。

2. 增强学生的信息保护意识,学会保护个人隐私和信息安全。

3. 培养学生分享和帮助他人的精神,乐于与同学交流通讯录管理的心得体会。

课程性质:本课程属于信息技术与日常生活相结合的实践性课程,注重培养学生的实际操作能力和信息素养。

学生特点:学生具备基本的电子设备操作技能,对信息技术有一定了解,但通讯录管理方面可能缺乏系统学习和实践经验。

教学要求:教师需结合学生特点,采用任务驱动、小组合作等教学方法,引导学生掌握通讯录管理的基本知识和技能,培养良好的信息素养。

在教学过程中,关注学生的个体差异,提供个性化指导,确保课程目标的实现。

通过课程学习,使学生能够达到上述具体的学习成果。

二、教学内容1. 通讯录基本概念:介绍通讯录的定义、作用和基本结构,引导学生了解通讯录的组成元素,包括姓名、电话、邮箱、地址等。

2. 通讯录管理方法:讲解通讯录的录入、查询、修改和删除等基本操作,结合实际案例,让学生掌握各种操作的具体步骤。

3. 通讯录管理软件及应用:介绍常见的通讯录管理软件(如Outlook、Google联系人等),分析其功能特点,指导学生如何使用这些软件进行高效管理。

4. 通讯录信息安全:讲解通讯录信息安全的重要性,引导学生了解信息安全的基本知识,提高信息保护意识。

个人通信录管理系统课程设计

个人通信录管理系统课程设计

个人通信录管理系统一、需求描述(1)查看功能:选择此功能时,列出下列三类选择。

A 办公类;B 个人类;C 商务类;当选中某类时,显示出此类所有数据中的姓名和电话号码)(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类;B 个人类; C 商务类;当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字。

(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。

(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

二、系统总体分析设计具体函数:修改 void alter() 删除void deleted()查看 void show() 添加void increase()拨号 void dail() 主函数int main()三、编码#include <iostream>#include <string>using namespace std;struct node{string name;string telephone;string sort;};class base{protected:node a[15];int i;public:base(){i=0;}void show()//------------------------查看{int j,x;if(i!=0){cout<<"***********选择3个类中的一个:************"<<endl;cout<<"*****************1:办公*****************"<<endl;cout<<"*****************2:个人*****************"<<endl;cout<<"*****************3:商务*****************"<<endl;cin>>x;switch(x){case 1:for(j=0;j<i;j++)if(a[j].sort=="办公"){cout<<"姓名"<<" "<<"号码"<<endl;cout<<a[j].name<<" "<<a[j].telephone<<endl;}break;case 2:for(j=0;j<i;j++)if(a[j].sort=="个人"){cout<<"姓名"<<" "<<"号码"<<endl;cout<<a[j].name<<" "<<a[j].telephone<<endl;}break;case 3:for(j=0;j<i;j++)if(a[j].sort=="商务"){cout<<"姓名"<<" "<<"号码"<<endl;cout<<a[j].name<<" "<<a[j].telephone<<endl;}break;}}else cout<<"空间无信息!"<<endl;}void increase()//----------------------增加{string q,p,r;cout<<"输入要存于的数据:"<<endl;cin>>q>>p>>r;for(int j=0;j<i;j++){if(a[j].name==q&&a[j].telephone==p)break;}if(i<15){if(j==i){a[i].name=q;a[i].telephone=p;a[i].sort=r;i++;}else cout<<"数据录入重复!"<<endl;}else cout<<"存储空间已满!"<<endl;}void dail()//------------------------拨号{string f,t;int p,k=0,r,m;cout<<"此类存储的所有姓名:"<<endl;for(int j=0;j<i;j++)cout<<a[j].name<<endl;cout<<"输入要拨号的姓名:"<<endl;cin>>f;j=0;for(j=0;j<=i;j++){if(f==a[j].name){cout<<"号码为:"<<endl;cout<<a[j].telephone<<endl;t=a[j].telephone+'#';while(t[k]!='#'){cout<<a[j].telephone[k]<<" ";k++;for(m=0;m<80000000;m++){// k=k*k;}}// k=4;for(m=0;m<20;m++){cout<<".";for(r=0;r<80000000;r++){// k=k*k;}cout<<'\b';cout<<' ';cout<<'\b';cout<<"..";for(r=0;r<80000000;r++){// k=k*k;}cout<<'\b';cout<<'\b';cout<<' ';cout<<' ';cout<<'\b';cout<<'\b';cout<<"...";for(r=0;r<80000000;r++){k=k*k;}cout<<'\b';cout<<'\b';cout<<'\b';cout<<' ';cout<<' ';cout<<' ';cout<<'\b';cout<<'\b';cout<<'\b';putchar('\a');}cout<<endl;break;}}if(j>i)cout<<"无此人的信息!"<<endl;}void alter()//-------------------------修改{string f;cout<<"输入要修改的姓名:"<<endl;cin>>f;for(int j=0;j<=i;j++){if(f==a[j].name){cin>>a[j].name>>a[j].telephone>>a[j].sort;break;}}if(j>i)cout<<"无此人的信息!"<<endl;}void deleted()//-----------------------删除{string f;cout<<"输入要删除的姓名:"<<endl;cin>>f;for(int j=0;j<=i;j++){if(f==a[j].name){for(int k=j;k<=i;k++){a[j].name=a[j+1].name;a[j].telephone=a[j+1].telephone;}i--;break;}}if(j>i)cout<<"无此人的信息!"<<endl;}};int main(){base k1;for(;;){cout<<"******************************"<<endl;cout<<"1.增加新联系人"<<endl;cout<<"2.修改联系人信息"<<endl;cout<<"3.删除联系人"<<endl;cout<<"4.查看联系人"<<endl;cout<<"5.拨号功能"<<endl;cout<<"******************************"<<endl;int k;cin>>k;switch(k){case 1:k1.increase();break;case 2:k1.alter();break;case 3:k1.deleted();break;case 4:k1.show();break;case 5:k1.dail();break;}}return 0;}四、程序运行说明1.添加联系人2.查看已输入的信息3.修改信息并查看修改结果(李艾改为李浩)4. 删除信息并查看修改结果(删除李浩)5.拨号功能(拨号王楠)五、部分程序功能描述在实验负责修改和删除程序,一下是我负责的程序源代码,利用数组和if循环语句实现该功能。

通讯录管理系统课程设计

通讯录管理系统课程设计

通讯录管理系统课程设计一、课程目标知识目标:1. 让学生掌握通讯录管理系统的基础知识,理解其功能模块和工作原理;2. 使学生了解数据库的基本概念,学会使用简单的数据库操作语句;3. 培养学生运用编程语言(如Python)实现通讯录管理系统的基本功能。

技能目标:1. 培养学生运用所学知识,设计并实现一个简单的通讯录管理系统;2. 提高学生的问题分析能力,使他们能够根据需求分析,提出合理的系统设计方案;3. 培养学生的团队协作能力,学会与他人共同完成项目任务。

情感态度价值观目标:1. 激发学生对计算机编程和数据库技术的兴趣,培养他们的探究精神;2. 引导学生关注信息技术在实际生活中的应用,认识到学习计算机知识的重要性;3. 培养学生认真负责的工作态度,养成及时总结和反思的好习惯。

课程性质:本课程为信息技术课程,旨在让学生结合实际需求,运用所学知识设计和开发一个实用的通讯录管理系统。

学生特点:六年级学生已具备一定的计算机操作能力和编程基础,对新鲜事物充满好奇,但需进一步培养他们的实际操作能力和团队协作能力。

教学要求:结合课本内容,注重理论与实践相结合,注重培养学生的实际操作能力和创新精神。

在教学过程中,关注学生的个体差异,因材施教,确保每个学生都能达到课程目标。

通过课程学习,使学生能够独立或协作完成通讯录管理系统的设计与实现,提高他们的信息技术素养。

二、教学内容1. 通讯录管理系统概述- 了解通讯录管理系统的基本概念、功能和应用场景;- 分析通讯录管理系统的模块划分和基本工作流程。

2. 数据库基础知识- 学习数据库的基本概念,如表、字段、记录等;- 掌握简单的数据库操作语句,如SQL语句的基本用法。

3. 编程语言基础- 复习Python编程语言的基本语法和常用数据结构;- 学习使用Python进行文件操作和异常处理。

4. 通讯录管理系统设计与实现- 分析需求,明确系统功能模块;- 设计数据库表结构,编写数据库操作代码;- 使用Python实现通讯录管理系统的核心功能,如添加、删除、修改和查询联系人等。

通讯录管理课程设计

通讯录管理课程设计

通讯录管理课程设计一、课程目标知识目标:1. 理解通讯录的基本概念,掌握通讯录的基本结构;2. 学会使用电子设备或软件进行通讯录的录入、查找、修改和删除;3. 了解通讯录管理的实际应用场景,理解其在个人和社会中的重要性。

技能目标:1. 能够独立操作电子设备或软件,完成通讯录的建立和管理;2. 掌握使用快捷方式进行通讯录信息检索和修改的技巧;3. 培养信息分类、整理和存储的能力,提高个人信息管理的效率。

情感态度价值观目标:1. 培养学生对信息技术学科的兴趣,激发学习积极性;2. 增强学生的团队协作意识,学会在小组合作中分享和交流;3. 培养学生尊重他人隐私,养成良好的信息安全意识。

分析课程性质、学生特点和教学要求,将目标分解为以下具体学习成果:1. 学生能够描述通讯录的基本结构,并能列出至少三种通讯录管理的实际应用场景;2. 学生能够使用电子设备或软件完成通讯录的建立,正确完成至少10个联系人的信息录入;3. 学生能够在5分钟内完成指定联系人的查找、修改和删除操作;4. 学生能够在小组合作中,共同完成一个具有实用价值的通讯录管理项目,提高团队协作能力;5. 学生能够自觉遵守信息安全管理规定,尊重他人隐私,养成良好的信息素养。

二、教学内容1. 通讯录概念及结构- 介绍通讯录的定义、作用;- 分析通讯录的基本结构,包括联系人信息、分组、标签等;- 课本第二章第一节的通讯录概述部分。

2. 通讯录管理操作- 演示如何使用电子设备或软件进行通讯录的录入、查找、修改和删除;- 操作实践:指导学生完成联系人的添加、分类和整理;- 课本第二章第二节的通讯录操作部分。

3. 通讯录管理技巧- 讲解快捷方式进行通讯录信息检索和修改的技巧;- 分析提高通讯录管理效率的方法;- 课本第二章第三节的通讯录管理技巧部分。

4. 实用通讯录管理项目- 小组合作:布置一个实用通讯录管理项目,让学生在实践中提高团队协作能力;- 分析项目需求,制定项目计划;- 课本第二章第四节的通讯录管理应用部分。

课程设计__通讯录管理系统

课程设计__通讯录管理系统

课程设计__通讯录管理系统要求:1,具有添加联系人功能2,具有删除联系人功能3,具有修改联系人功能4,具有查找联系人功能5,具有清空所有联系人功能注意:此次设计主要是为了让大家巩固一下C语言相关知识点(如:结构体,指针的使用),同时也熟悉C++基础语法,为今后的单片机开发或嵌入式开发打下更好的软件编程基础。

因此编写的程序并不涉及文件操作等知识点。

以下是源码:(还需自己进一步完善和调试,基本功能已实现)#include "Address_Book_Management_System.h"//display menu functionvoid Show_Menu(void){cout << "****** 1,添加联系人 ******" << endl;cout << "****** 2,显示联系人 ******" << endl;cout << "****** 3,删除联系人 ******" << endl;cout << "****** 4,查找联系人 ******" << endl;cout << "****** 5,修改联系人 ******" << endl;cout << "****** 6,清空联系人 ******" << endl;cout << "****** 7,退出通讯录 ******" << endl;}//添加联系人int Add_Person(struct AddressList *addperso n){if (addperson->size == MAX){cout << "通讯录已满无法添加" << endl;return -1;}else{//添加联系人string name;cout << "请输入欲添加联系人的名字:" << endl;cin >> name;addperson->person_arr[addperson->size].name = name;cout << "请输入欲添加联系人的性别:" << endl;cout << "6 ---- 男" << endl;cout << "9 ---- 女" << endl;int gender;for(;;){cout << "请输入欲添加联系人的性别:" << endl;cin >> gender;if((gender == 6) || (gender == 9)){addperson->person_arr[addperson->size].gender = gender;break;else{cout << "输入有误,请重新输入" << endl;}}int age;for(;;){cout << "请输入欲添加联系人的年龄:" << endl;cin >> age;if((age >= 1) && (age <= 150)){addperson->person_arr[addperson->size].age = ag e;break;else{cout << "输入有误,请重新输入" << endl;}}string phone_num;for(;;){cout << "请输入欲添加联系人的联系电话:" << endl;cin >> phone_num;if( phone_num.length() == 11){addperson->person_arr[addperson->size].phone_nu m = phone_num;break;else{cout << "输入有误,请重新输入" << endl; }}string addr;cout << "请输入欲添加联系人的地址:" << endl;cin >> addr;addperson->person_arr[addperson->size].addr = addr; }cout << "<添加联系人成功>" << endl;/*cout << "测试" << endl;cout << "您添加的信息为:" << endl;cout << addperson->person_arr[addperson->size].name < < addperson->person_arr[addperson->size].gender<< addperson->person_arr[addperson->size].age << addperson->person_arr[addperson->size].phone_num <<addperson->person_arr[addperson->size].addr << endl;*/addperson->size ++;//名单+1system("pause");system("cls");//清屏return 0;}//显示通讯录int Dispaly_Person(const struct AddressList *addperson){if(addperson->size == 0){cout << "当前通讯录为空" << endl;}else{for(int i = 0; i < addperson->size; i ++){cout << "通讯录名单人员" << i+1 << endl;cout << "姓名:" << addperson->person_arr[i].name << '\t';cout << "性别:" << (addperson->person_arr[i].gen der == 6 ? "男": "女") << '\t';cout << "年龄:" << addperson->person_arr[i].age << '\t';cout << "电话:" << addperson->person_arr[i].phon e_num << '\t';cout << "地址:" << addperson->person_arr[i].addr << endl;}}system("pause");system("cls");//清屏return 0;}//main menu functionint Main_Menu(void){ struct AddressList addresslist;addresslist.size = 0;int select = 7;//select show menuwhile(1){Show_Menu();cout << "请选择功能:" << endl;cin >> select;switch(select){case 1:Add_Person(&addresslist);break; //1,添加联系人 case 2:Dispaly_Person(&addresslist);break; //2,显示联系人 case 3:Del_Person(&addresslist);break; //3,删除联系人 case 4:LookUp_Menu(&addresslist);break; //4,查找联系人 case 5:Modify_Person(&addresslist);break; //5,修改联系人 case 6:Clean_AddressList(&addresslist);break; //6,清空联系人case 7:cout << "通讯录管理系统已退出" << endl;return 0;//7,退出通讯录default:break;//非法操作}}}/*函数名:根据人名检测联系人描述:如果存在联系人,则返回具体位置否则,则返回-1注意:关于通讯录中同名的情况,这里不加考虑*/int Check_Person_Name(const struct AddressList *addpe rson ,string name){int i = 0;int flag = MAX + 1;for(i; i < addperson->size; i ++){if(name == addperson->person_arr[i].name) {flag = i;break;//测试//return i;}}。

学生通讯录管理系统课程设计

学生通讯录管理系统课程设计

学生通讯录管理系统课程设计一、引言学生通讯录管理系统是一种能够有效管理学生通信信息的软件工具。

在当今信息化社会中,为了更好地维护学生通信信息和便于学校管理,设计一个高效、实用的学生通讯录管理系统至关重要。

本文将围绕学生通讯录管理系统的设计与实现展开讨论。

二、需求分析1. 用户需求•管理员需要能够对学生信息进行增删查改操作;•学生要能够方便地修改个人信息;•教师需要便捷地查看学生信息;•系统需要有良好的用户权限管理机制。

2. 功能需求•学生信息管理:包括学生基本信息的录入、修改和删除。

•通讯录管理:实现学生通讯录的管理和分类。

•查询功能:实现对学生信息的快速查询。

•权限管理:分管理员和普通用户,管理员有更高的权限控制。

三、系统设计1. 系统架构学生通讯录管理系统采用典型的客户-服务器架构,后端基于MySQL数据库存储学生信息,前端通过Web页面进行展示和操作。

2. 数据库设计设计数据库表格包括:学生信息表(包括学号、姓名、性别、年级等字段)、用户表、通讯录表等。

3. 页面设计•登录页面:对用户进行身份验证。

•学生信息管理页面:实现对学生基本信息的增删查改。

•通讯录管理页面:实现通讯录的分类和管理。

四、系统实现1. 环境配置•使用Python语言编写后端代码。

•前端采用HTML、CSS、JavaScript。

•数据库采用MySQL。

2. 实现步骤1.搭建后端框架,实现数据的增删查改功能。

2.设计前端页面,实现用户交互和数据展示。

3.进行系统测试和优化。

五、功能演示1. 登录功能输入正确的用户名和密码,用户可以成功登录系统。

2. 学生信息管理管理员可以添加、删除、修改学生信息,普通用户只能查看。

3. 通讯录管理实现对通讯录的添加、分类和管理。

六、总结与展望通过本次学生通讯录管理系统课程设计,我学到了如何进行系统设计、数据库设计和前后端分离开发的方法。

未来,还可以进一步改进系统功能,增加权限管理模块、优化界面交互等,使系统更加稳健和实用。

通讯录管理系统课程设计java

通讯录管理系统课程设计java

通讯录管理系统是一个常见的软件应用,Java是一种广泛使用的编程语言,使用Java编写通讯录管理系统是一个不错的选择。

以下是通讯录管理系统的Java课程设计大体框架:
1.需求分析:首先需要分析和确定通讯录管理系统的具体需求,明确系统的功能和性能要求。

2.数据库设计:根据需求分析结果,设计系统所需的数据库结构和关系模型,并在MySQL等数据库中创建数据库和表格。

3.界面设计:设计通讯录管理系统的用户界面,包括添加、删除、修改、查询等功能的按钮、文本框等控件,并实现这些控件的布局。

4.后台程序设计:编写Java代码实现系统的后端逻辑,其中主要包括以下几个方面:
(1) 实现用户登录和注册功能,对用户输入的信息进行合法性验证并将其存储在数据库中。

(2) 实现通讯录添加、删除、修改和查询等功能,对用户输入的通讯录信息进行合法性验证并将其存储在数据库中。

(3) 实现数据的持久化,即将用户输入的数据保存到数据库中,并在需要时从数据库中读取数据。

5.测试和调试:完成系统设计后,需要对系统进行测试和调试,确保系统能够正常运行,并满足用户需求。

6.优化和改进:根据测试的结果,对系统进行优化和改进,提高系统的性能和稳定性。

以上是通讯录管理系统的Java课程设计大体框架,具体实现细节可以根据自己的需求进行调整和优化。

c课程设计个人通讯录

c课程设计个人通讯录

c 课程设计个人通讯录一、教学目标本课程的目标是让学生掌握个人通讯录的基本设计和使用方法,通过学习,学生应能够理解个人通讯录的结构和功能,并能够运用所学的知识设计和使用个人通讯录。

具体的学习目标包括:知识目标:学生应了解个人通讯录的基本概念和结构,理解个人通讯录的功能和使用方法。

技能目标:学生应能够运用所学的知识设计和使用个人通讯录,能够进行基本的通讯录管理操作。

情感态度价值观目标:通过学习和使用个人通讯录,学生应能够提高对个人信息管理的重视,培养良好的个人信息管理习惯。

二、教学内容本课程的教学内容主要包括个人通讯录的基本概念和结构,个人通讯录的功能和使用方法,以及个人通讯录的管理和维护。

具体的教学内容安排如下:1.个人通讯录的基本概念和结构:介绍个人通讯录的定义,解释个人通讯录的基本组成部分,如姓名、电话号码、电子邮件地址等。

2.个人通讯录的功能和使用方法:介绍个人通讯录的功能,如添加、删除、查找联系人信息等,演示个人通讯录的使用方法。

3.个人通讯录的管理和维护:介绍个人通讯录的管理和维护方法,如定期更新联系人信息,整理联系人列表等。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法等。

1.讲授法:通过讲解个人通讯录的基本概念和结构,个人通讯录的功能和使用方法,以及个人通讯录的管理和维护,使学生掌握个人通讯录的基本知识和技能。

2.讨论法:通过学生进行小组讨论,鼓励学生分享自己的经验和看法,促进学生之间的交流和合作,提高学生的理解和应用能力。

3.案例分析法:通过分析实际案例,使学生更好地理解和掌握个人通讯录的应用,培养学生的实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,将选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。

1.教材:选择合适的教材,如《个人通讯录设计与使用》等,为学生提供全面系统的学习资料。

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

中国矿业大学银川学院面向对象程序设计课程设计报告(2011/2012学年第二学期)题目名称个人通信录管理系统系部机电动力与信息工程系专业计算机科学与技术班级 10级计算机姓名 xxx学号 120100510062 完成时间 2011年 6 月指导老师 xxx引言: (3)1 课程设计目的及意义 (5)2 详细设计 (5)2.1需求描述 (5)2.1.1通讯录界面设计 (5)2.1.2通讯录添加联系人模块 (5)2.1.3通讯录删除联系人模块 (5)2.1.4通讯录拨号模块 (6)2.1.5通讯录显示所有联系人模块 (6)2.1.6通讯录修改联系人模块 (6)主要是修改联系人的信息,界面提示要输入需要修改的姓名或者电话号码,如果不正确,显示对不起,联系人中没有你找的人。

如果正确,则显示出改联系人的所有信息,并提示根据下面提示修改信息,姓名、电话号、QQ、邮编、地址等 (6)2.1.7通讯录关闭通讯录模块 (6)提示谢谢使用! (6)2.2功能描述 (6)2.2.1添加联系人; (6)2.2.2删除联系人 (8)2.2.3拨号 (11)2.2.4显示所有联系人的实现: (12)2.2.5 修改联系人模块 (13)2.2.6 查询联系人模块 (17)对文件进行遍历,将联系人的所有信息都显示出来。

(17)2.2.7关闭通讯录模块 (19)提示谢谢使用! (19)2.2.8主函数 (19)2.3程序用行说明 (20)2.3.1程序界面 (20)2.3.2添加联系人信息 (20)2.3.3删除联系人 (21)2.3.4拨号 (23)2.3.5显示所有联系人 (23) (23)2.3.6修改联系人信息 (23)2.3.7查询联系人 (24)2.3.8关闭通讯录 (24)3课程设计总结 (25)3.1编程日志 (25)3.2测试报告 (25)4 心得体会: (25)附录: (26)参考文献: (43)引言:当今时代,计算机已经成为人们生活中不可缺少的一部分,它打破了地域时间限制,改变了人们的工作和生活方式,制作站点是企业和个人的宣传自己的重要手段,同时也学习信息的重要手段,今年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化.计算机在管理中应用的普及,利用计算机实现各种管理势在必行,对于机关单位来说,利用计算机支持高效率完成通讯录,是适应社会制度要求、推动机关单位信息利用计算机支持高效率完成通讯管理,是适应现在社会制度要求、推动机关单位信息管理走向科学化、规范化的必要条件。

随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。

通信录管理系统是典型的信息管理系统。

通信录管理系统的水平,是衡公司发展水平的一个重要指标。

通信录管理系统工作烦琐,包含了大量的信息数据,因此就需要一个完善的职工信息管理系统来实现对这些数据的有效管理,满足公司管理者的需求。

随着科学技术的发展,计算机领域不断取得新的研究成果。

计算机的应用越来越广泛.计算机知识也越来越普及.计算机的应用也不仅仅局限于科学研究方面.计算机的应用与我们的生活息息相关.在学校里学生的成绩管理系统,在日常生活中给我们带来很大方便的通讯录,都与计算机的管理系统有关,都是通过程序设计,开发,调试形成的管理系统.将网络和通讯录管理结合起来。

使得组会人员对参考人员的实际情况一目了然,经过详细的系统调查,开发出的操作简单而且方便使用的一个通讯系统。

实现参会代表的动态管理,使得对信息的管理更加方便,同时计算机具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好。

这样组会人员在工作起来效率高,可以不用再做大量的记录。

从而大大减轻了机关单位职员的工作量。

运用数据结构中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。

通过完成本课题,进一步熟悉C++语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C++语言的文件操作,进一步熟悉指针的用法,数组的建立运用和函数的调用等,更好地掌握好C++的知识,用理论联系实际更好的锻炼我们接受信息、用运信息的能力。

通讯录系统就是一个典型的事例,它为人们解决了信息存储混乱的问题。

通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人的信息以文档保存。

本文介绍了简易通讯录管理系统在Microsoft Visual C++ 6.0环境下的实现过程:系统的分析,功能模块的设计,系统的调试和测试。

此系统的主要管理的信息有:联系人的姓名,,年龄,性别,部门联系人的号码等.加深对C++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。

用C++语言编写一个通讯录管理系统软件,要求能实现通讯录管理系统中增加新记录, 删除记录, 显示通讯录的所有信息, 按名字查询信息, 保存通讯录,拨号,退出系统。

1 课程设计目的及意义《面向对象程序设计》课程设计是实践性教学环节之一,是《面向对象程序设计》课程的辅助教学课程。

该课程设计要求学生综合运用在《面向对象程序设计》课程中学到的面向对象技术与实际编程相结合,独立完成一项较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和C++编程技术的理解和掌握,培养实际的应用程序开发能力。

在课程设计过程中,使学生养成良好的程序设计风格,并掌握C++应用程序的设计开发过程和编程方法、测试方法。

2 详细设计2.1需求描述2.1.1通讯录界面设计主要功能是设计通讯录的界面,能够提示用户的实际操作等。

我采用的是按照序号来实现相应的操作的,其中:1添加联系人,2删除联系人,3拨号,4显示所有联系人,5修改信息,6查询联系人,7 关闭通讯录2.1.2通讯录添加联系人模块主要功能是添加联系人模块,添加操作是根据用户的要求实现的。

包括添加联系人的姓名、电话、QQ、邮编、地址、部门等,最后输入完成后,将提示信息“新联系人信息已经保存好!!”。

2.1.3通讯录删除联系人模块主要功能是删除不再需要的联系人。

其中包括输入你要删除输入电话或电话号码如果没有的话,将提示:“对不起!!!联系人中没你要找的人!!!”;如果找到,则提示:“删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!”2.1.4通讯录拨号模块显示查找的联系人,包括姓名及电话号码,如果查找到姓名则输出电话号码,如果找不到则返回信息"对不起!!!!没有找到文件!!!!!"2.1.5通讯录显示所有联系人模块显示所有的联系人的信息,包括姓名、电话、QQ、邮编、地址并提示所有联系人已经全部显示出来!!2.1.6通讯录修改联系人模块主要是修改联系人的信息,界面提示要输入需要修改的姓名或者电话号码,如果不正确,显示对不起,联系人中没有你找的人。

如果正确,则显示出改联系人的所有信息,并提示根据下面提示修改信息,姓名、电话号、QQ、邮编、地址等2.1.7通讯录关闭通讯录模块提示谢谢使用!2.2功能描述2.2.1添加联系人;通过输入联系人的如下信息:姓名、电话、QQ、邮编、地址,并把输入的信息保存对象的属性,创建或者打开文件,并向文件中写入新添加的联系人信息添加联系人的具体代码:void person::add_person() //在类外定义成员函数add_person{ cout <<endl <<"根据下面提示输入新联系人信息" <<endl <<endl<<"姓名 :" ; //输出姓名cin >>name; //输入namefflush(stdin);cout <<"电话 : "; //输出电话号码cin >>number; //输入numberfflush(stdin);cout <<"QQ : "; //输出QQ号cin >>qq; //输入qq号fflush(stdin);cout <<"邮编 : "; //输出邮编cin >>post; //输入postfflush(stdin);cout <<"地址 : "; //输出地址cin >>address; //输入addressfflush(stdin);cout<<"部门"; //输出部门cin>>dept; //输入deptfflush(stdin);cout<<"性别"; //输出性别cin>>sex; //输入sexfflush(stdin);cout<<"年龄"; //输出年龄cin>>age; //输入agefflush(stdin);save_new(); //保存新增加的联系人cout <<endl <<endl <<"新联系人信息已经保存好!!!!!" <<endl <<endl;//输出"新联系人信息已经保存好!!!!!"system("pause");//系统暂时停顿||暂停}2.2.2删除联系人首先输入你要删除电话号码,删除操作时采用输入的姓名或者电话号码与文件中的姓名或者电话号码比较,从头到尾开始遍历,如果没有的话,将提示:对不起!!!联系人中没你要找的人!!!如果找到,则提示删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!void person::del_person()//在类外定义成员函数{ofstream outData("temp.txt", ios::out);//定义ofstream类的对象outdDtaifstream inData("pperson.txt", ios::in);//定义ofstream类的对象inDataif (!outData || !inData)//if语句{cout <<endl <<"对不起!!!!找不到文件!!!!" <<endl;//输出"对不起!!!!找不到文件!!!!"system("pause");//系统暂时停顿||暂停return;//返回上述信息}string sign;//定义string类对象signcout <<endl <<"你要删除输入姓名或电话号 :";//输出"你要删除输入姓名或电话号 :"cin >>sign;//输入signstring str1; //定义string类对象str1bool flag = true;string str; //定义string类对象strwhile (inData >>name >>number)//while语句{getline(inData, str);//函数用于输入流,读取字符到buffer中的strif ((sign==name) || (sign==number))//判断输入信息是否与所存信息相同,相同则进行下述操作{cout <<endl <<"你想删除的联系人:" <<endl <<endl;//输出"你想删除的联系人:"cout <<str1 <<endl;//输出对象str1cout <<setiosflags(ios::left) <<setw(17) <<name<<" " <<number <<str <<endl;//显示出姓名、编号flag = false;break;//跳出if语句}outData <<setiosflags(ios::left) <<setw(17) <<name<<" " <<number <<str <<endl;//显示出姓名、编号}if (flag) //if语句{cout <<endl <<"对不起!!!联系人中没你找的人!!!!" <<endl <<endl;//输出 "对不起!!!联系人中没你找的人!!!!"}else //否则进行下述操作{while (getline(inData, str)) //while语句{outData <<str <<endl; //显示str}outData.close(); //关闭inData.close(); //关闭ofstream out("pperson.txt", ios::out);//定义类 ofstream的对象out ||ofstream输出ifstream in("temp.txt", ios::in);//定义ifstream的对象in|| ifstream输入if (!out || !in) //if语句{cout <<endl <<"对不起不能打开文件!!!" <<endl <<endl;//输出"对不起不能打开文件!!!"system("pause"); //系统暂时停顿||暂停return; //返回}while (getline(in, str)) //while语句{cout <<str <<endl; //定义string类对象str}out.close(); //关闭输出in.close(); //关闭输入cout <<endl <<"这个人的信息已经从你的通迅录中删除!!!" <<endl <<endl;//输出"这个人的信息已经从你的通迅录中删除!!!"}system("pause"); //系统暂时停顿||暂停 }2.2.3拨号输入姓名查找到后将姓名与电话显示出来,代码如下:void person::dial_person() //拨号{ifstream inData("pperson.txt",ios::in);//定义ifstream类的对象inDatabool flag = false;if (!inData) //if语句{cout <<endl <<"对不起!!!!没有找到文件!!!!!" <<endl;//输出"对不起!!!!!!!!!没有找到文件"system("pause"); //系统暂时停顿||暂停return; //返回}elseflag = true;string name1,numer1;while(getline(inData,name1)){if(flag){cout<<endl<<"所有联系人信息如下: "<<endl;cout<<name1<<","<<numer1<<endl;} system("pause"); //系统暂时停顿||暂停}}2.2.4显示所有联系人的实现:把文件中的各种信息读取并显示出来,代码如下://显示所有联系人void person::show_all() //在类外定义成员函数{ifstream inData("pperson.txt",ios::in);//定义ifstream类的对象inDataif (!inData) //if语句{cout <<endl <<"对不起!!!!没有找到文件!!!!!" <<endl;//输出"对不起!!!!没有找到文件!!!!!"system("pause"); //系统暂时停顿||暂停return; //返回}bool flag = true;string record; //定义string类对象recordwhile (getline(inData, record)) //while语句{if (flag) //if语句{cout <<endl <<"所有联系人信息如下: "<<endl;//输出"所有联系人信息如下: "}cout <<record <<endl; //输出recordflag = false;}if (flag) //如果{cout <<endl <<"你的通迅录中没有联系人!!!!!" <<endl <<endl;//输出"你的通迅录中没有联系人!!!!!"}else //否则{cout <<endl <<"所有联系人已经全部显示出来!!!!!" <<endl <<endl;//输出"所有联系人已经全部显示出来!!!!!"}system("pause"); //系统暂时停顿||暂停}2.2.5 修改联系人模块只要输入来联系人的名字或者电话,进行文件爱你的遍历查找到联系人的信息,而后进行修改。

相关文档
最新文档