文档库 最新最全的文档下载
当前位置:文档库 › 简单的通讯录实验报告

简单的通讯录实验报告

简单的通讯录实验报告
简单的通讯录实验报告

二〇一二 年 十 月

课程设计说明书 本科毕业设计

题 目:简单通讯录程序 学生姓名:李天罡 学 院:工学院 专 业:数字媒体技术 班 级:2011级 指导教师:王金祥

目录

引言 (3)

第一章需求与分析...................................... I

1.1开发环境 ....................................................................................................... I

1.1.1软件环境 ........................................................................................................... I

1.1.2硬件环境 ........................................................................................................... I

1.1.3开发平台 ........................................................................................................... I

1.2功能需求 ....................................................................................................... I

1.2.1数据字段 ........................................................................................................... I

1.2.2主要功能 ........................................................................................................... I 第二章总体设计 ...................................... II

2.1流程图 ......................................................................................................... II

2.2主要模块功能介绍 .................................................................................... III

2.2.1选择模块 ........................................................................................................ III

2.2.2增添删减模块 ................................................................................................ III

2.2.3查询模块 ........................................................................................................ I V

2.2.4排序模块 ........................................................................................................ I V 第三章详细设计 ...................................... IV

3.1源代码 ........................................................................................................ I V 第四章实体机测试..................................... XV

4.1测试的目标 ..................................................................................................... XV

4.2测试方法 ......................................................................................................... XV

4.3测试结果 ........................................................................................................ XVI 总结 .............................................. XXIII

引言

在计算机和电子通信技术迅速发展的今天,人们之间的交流也越来越频繁,世界变的越来越小,手工记录他人联系方式的方法显得更加麻烦,而且还不易维护。因此,本系统开发出电子版的通讯录管理系统,方便用户对他人记录信息的查找和保存。

本系统的开发主要分为4个部分,包括C++程序设计、需求分析、系统设计和测试。通过开发过程的深入,不断加深对系统的理解,完善系统的功能,此外大量的测试工作,也保证了系统的稳定性和安全性。本通讯录管理系统采用了单链表的数据结构,很方便的实现对记录进行插入、删除、排序,使物理位置上不连续的存储单元,在逻辑上的次序是固定的,这样不但节省空间,也避免了排序时大量的移动数据,十分灵活,能够较好地完成记录的添加、删除、修改、显示和保存等功能。

总之,本通讯录管理系统不仅和手工同学录管理系统相比有很大优势,同时按关系显示功能,一定程度上实现了对记录的分类;按姓名查找和按电话号码查找(自动识别是固定电话号码还是移动电话号码)功能的设计,也确实给人们日常生活带来了方便,这样使本系统和其他电子通讯录相比也有自己特有的优势,是一个功能较为完善的通讯录管理系统。

第一章需求与分析

软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

1.1开发环境

1.1.1软件环境

Window 7操作系统

1.1.2硬件环境

计算机硬件:Intel 酷睿i5 2G内存

1.1.3开发平台

通讯录管理系统在Microsoft Visual C++ 6.0上实现,开发工具是面向对象语言。

1.2功能需求

1.2.1数据字段

姓名、电话号码、学号

1.2.2主要功能

(1)对记录的录入、删除、显示、查询、修改和排序;

(2)与数据库连接,实现通讯录记录信息的保存于读取;

(3)退出系统时保存信息,以便下次打开系统时进入目前的工作状态。

第二章总体设计2.1流程图

2.2主要模块功能介绍

2.2.1选择模块

选择功能该功能的设计,不仅可以在拨出电话前,实现查找某人信息的功能;同时,如果收到某个未接电话,知道该电话的号码却却不知道该电话是谁打来的,则可通过电话查询功能,查找拨打该电话的人的信息。

2.2.2增添删减模块

添加或者删减或修改联系人,改模块,可以分别实现对记录姓名、固定电话、移动电话、住址、email地址和与操作者关系的修改,修改的同时,保证修改后的信息符合记录信息的约束限制。

2.2.3查询模块

查询联系人其中按姓名查询,是根据输入待查记录的姓名,查询该记录的信息。

而电话查询,则是根据输入的电话号码,查询该记录的信息,系统将自动识别是输入的固定电话号码还是移动电话号码。

2.2.4排序模块

联系人的排序整理其中按姓名查询,是根据输入待查记录的姓名,查询该记录的信息。

第三章详细设计

详细设计阶段的根本任务是确定应该怎样具体地实现所要求的系统,也就是说,通过对软件结构进行细化,得到每个模块详细的数据结构和算法。

详细设计阶段的任务是要设计出程序的“蓝图”,此设计阶段的结果基本上决定了最终的程序代码的质量。因此衡量程序的质量,不仅要看它的逻辑是否正确、性能是否满足要求,更主要的是要看它是否容易阅读和理解。结构化程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础。

3.1源代码

#include

#include

#include

#include

using namespace std;

class student

{public:

char num[20];

char name[20];

char address[40];

char tel_num[12];

char post_code[7];

char e_mail[40];

};

class function:public student

{public:

void del();

void find_num();

void find_name();

void list_num();

void list_name();

void correct();

void format();

void show();

};

//主函数

int main()

{

function a;

char select1;

cout<

int m=0;

do

{

cout<<"---------------------------------学生通讯录-----------------------------------"<

cout<<"************************************************************************** ****"<

cout<<"*1.通讯录编辑2.查询联系人 3.按序排列 4.格式化5.显示通讯录 6.清屏7.退出*"<

cout<<"************************************************************************** ****"<

cout<<"请选择:";

cin>>select1;

cout<<"------------------------------------------------------------------------------"<

switch(select1)

{

case'1':cout<<"1.添加2.删除3.修改4.返回主菜单"<

char select2;

cout<<"请选择:"<

cin>>select2;

switch(select2)

{

case '1':a.add();

break;

case'2':a.del();

break;

case'3':a.correct();

break;

case'4':break;

default:cout<<"输入错误!"<

}

case'2':cout<<"1.姓名查找2.学号查找3.返回主菜单"<

char select3;

cout<<"请选择:";

cin>>select3;

switch(select3)

{

case'1':a.find_name();

break;

case'2':a.find_num();

break;

case'3':break;

default:cout<<"输入错误!"<

}

break;

case'3':cout<<"1.按学号排序2.按姓名排序3.返回主菜单"<

cout<<"请选择:";

char select4;

cin>>select4;

switch(select4)

{

case'1':a.list_num();

break;

case'2':a.list_name();

break;

case'3':break;

default:cout<<"输入错误!"<

}

break;

case'4':cout<<"请确认删除所有资料(Y/N)";

char select5;

cin>>select5;

if(select5=='Y'||select5=='y')

a.format();

break;

case'5':a.show();break;

case'6':system("cls");break;//清屏函数

case'7':m=1;cout<<"谢谢使用!"<

default:cout<<"输入错误!"<

}

}while(m!=1);

return 0;

}

//添加联系人

void function::add()

cout<<"输入添加个数(10个以内):";

cin>>i;

student stud1[40]={0};

ofstream outfile("学生通讯录.dat",ios::app|ios::binary); if (! outfile)

{

cerr<<"打开错误,程序将退出!";

abort();

}

for(int j=0;j

{

cout<<"学号:";

cin>>stud1[j].num;

cout<<"姓名:";

cin>>stud1[j].name;

cout<<"地址:";

cin>>stud1[j].address;

cout<<"电话号码:";

cin>>stud1[j].tel_num;

cout<<"邮编:";

cin>>stud1[j].post_code;

cout<<"电子邮件:";

cin>>stud1[j].e_mail;

outfile.write((char*)&stud1[j],sizeof(stud1[j]));

}

outfile.close ();

}

//删除联系人

void function::del()

{

student stud2[40]={0};

char name[20]="\0";

cout<<"请输入要删除的学生的姓名:";

cin>>name;

ifstream infile("学生通讯录.dat",ios::binary);

if (!infile)

{

cerr<<"打开错误,程序将退出!";

abort();

}

int k=0;

while(1)

{

infile.read((char*)&stud2[k],sizeof(stud2[k]));

if(infile.eof())break;

}

infile.close();

remove("学生通讯录.dat");

ofstream outfile("学生通讯录.dat",ios::binary);

if (!outfile)

{

cerr<<"打开错误,程序将退出!";

abort();

}

int i=0;

while(1)

{if(i>k-1)break;//每删除一项就会减少一组数据,所以是k-1 if(!strcmp(stud2[i].name,name))

i=i+1;

if(i>k-1)break;

outfile.write((char*)&stud2[i],sizeof(stud2[i]));

i++;

}

outfile.close();

if(k-1==0)

remove("学生通讯录.dat");

}

//修改联系人

void function::correct()

{

student stud3[40]={0};

ifstream infile("学生通讯录.dat",ios::binary);

int k=0;

while(1)

{if(infile.eof())break;

infile.read((char*)&stud3[k],sizeof(stud3[k]));

k++;

}

infile.close();

char name[20]="\0";

cout<<"请输入要修改学生的姓名:";

cin>>name;

int x;

for(int i=0;i

{

if(!strcmp(stud3[i].name,name))

x=i;

char select;

cout<<"1.修改姓名 2.修改学号 3.修改地址 4.修改邮编 5.修改电话号码 6.修改E_MAIL"<

cout<<"请选择:";

cin>>select;

char name1[20]="\0";

char num1[20]="\0";

char address1[40]="\0";

char post_code1[7]="\0";

char tel_num1[20]="\0";

char e_mail1[40]="\0";

switch(select)

{

case'1':cout<<"输入要修改的姓名:";

cin>>name1;

strcpy(stud3[x].name,name1);

cout<<"修改成功"<

break;

case'2':cout<<"输入要修改的学号:";

cin>>num1;

strcpy(stud3[x].num,num1);

cout<<"修改成功"<

break;

case'3':cout<<"输入要修改的地址:";

cin>>address1;

strcpy(stud3[x].address,address1);

cout<<"修改成功"<

break;

case'4':cout<<"输入要修改的邮编:";

cin>>post_code1;

strcpy(stud3[x].post_code,post_code1);

cout<<"修改成功"<

break;

case'5':cout<<"输入要修改的电话号码:";

cin>>tel_num1;

strcpy(stud3[x].tel_num,tel_num1);

break;

case'6':cout<<"输入要修改的E_MAIL";

cin>>e_mail1;

cout<<"修改成功"<

break;

default:cout<<"输入错误!";break;

}

remove("学生通讯录.dat");

ofstream outfile("学生通讯录.dat",ios::binary);

int l=0;

while(1)

{if(l>k-2)break;

outfile.write((char*)&stud3[l],sizeof(stud3[l]));

l++;

}

outfile.close();

}

//按学号查询

void function::find_num()

{

student stud4[40]={0};

ifstream infile("学生通讯录.dat",ios::binary);

if(infile.peek()==EOF) //发现如果不判断文件是否为空,本程序格式化过后查找出现未知数据。

{

cout<<"文件为空"<

return;

}

cout<<"请输入学号:";

char num[20]="\0";

cin>>num;

cout<<"------------------------------------------------------------------------------"<

int i=0;

while(1)

{

infile.read((char*)&stud4[i],sizeof(stud4[i]));

if((!strcmp(stud4[i].num,num))||infile.eof()) break;

i++;

}

if(!infile.eof())

{

cout<<"学号:"<

cout<<"姓名:"<

cout<<"地址:"<

cout<<"电话号码:"<

cout<<"邮编:"<

cout<<"E-MAIL:"<

}

cout<<"输入的学号查不到"<

infile.close();

}

//按姓名查找

void function::find_name()

{

student stud5[40]={0};

ifstream infile("学生通讯录.dat",ios::binary);

if(infile.peek()==EOF)

{

cout<<"文件为空"<

return;

}

cout<<"请输入姓名:";

char name[20]="\0";

cin>>name;

cout<<"------------------------------------------------------------------------------"<

for(int i=0;i<40;i++)

{

infile.read((char*)&stud5[i],sizeof(stud5[i]));

if(!strcmp(stud5[i].name,name)||infile.eof())

break;

}

if(!infile.eof())

{

cout<<"学号:"<

cout<<"姓名:"<

cout<<"地址:"<

cout<<"电话号码:"<

cout<<"邮编:"<

cout<<"E-MAIL:"<

}

else

cout<<"输入的姓名查不到"<

infile.close();

}

//按学号排序

void function::list_num()

{

student stud6[40]={0};

int k=0;

while(1)

{if(infile.eof())break;

infile.read((char*)&stud6[k],sizeof(stud6[k]));

k++;

}

char num[20]="\0";

char name[20]="\0";

char address[40]="\0";

char tel_num[12]="\0";

char post_code[7]="\0";

char e_mail[40]="\0";

for(int i=0;i

{

for(int j=0;j

{

if(strcmp(stud6[j].num,stud6[j+1].num)>0)

{

strcpy(num,stud6[j].num);

strcpy(stud6[j].num,stud6[j+1].num);

strcpy(stud6[j+1].num,num);

strcpy(name,stud6[j].name);

strcpy(stud6[j].name,stud6[j+1].name);

strcpy(stud6[j+1].name,name);

strcpy(address,stud6[j].address);

strcpy(stud6[j].address,stud6[j+1].address);

strcpy(stud6[j+1].address,address);

strcpy(tel_num,stud6[j].tel_num);

strcpy(stud6[j].tel_num,stud6[j+1].tel_num);

strcpy(stud6[j+1].tel_num,tel_num);

strcpy(post_code,stud6[j].post_code);

strcpy(stud6[j].post_code,stud6[j+1].post_code);

strcpy(stud6[j+1].post_code,post_code);

strcpy(e_mail,stud6[j].e_mail);

strcpy(stud6[j].e_mail,stud6[j+1].e_mail);

strcpy(stud6[j+1].e_mail,e_mail);

}

}

}

infile.close();

remove("学生通讯录.dat");

ofstream outfile("学生通讯录.dat",ios::binary);

int l=0;

while(1)

outfile.write((char*)&stud6[l+2],sizeof(stud6[l+2]));

l++;

}

outfile.close();

}

//按姓名排序

void function::list_name()

{

student stud7[40]={0};

char num[20]="\0";

char name[20]="\0";

char address[40]="\0";

char tel_num[20]="\0";

char post_code[7]="\0";

char e_mail[40]="\0";

ifstream infile("学生通讯录.dat",ios::binary);

int k=0;

while(1)

{if(infile.eof())break;

else

infile.read((char*)&stud7[k],sizeof(stud7[k]));

k++;

}

infile.close();

for(int i=0;i

{

for(int j=0;j

{

if(strcmp(stud7[j].name,stud7[j+1].name)>0)

{

strcpy(num,stud7[j].num);

strcpy(stud7[j].num,stud7[j+1].num);

strcpy(stud7[j+1].num,num);

strcpy(name,stud7[j].name);

strcpy(stud7[j].name,stud7[j+1].name);

strcpy(stud7[j+1].name,name);

strcpy(address,stud7[j].address);

strcpy(stud7[j].address,stud7[j+1].address);

strcpy(stud7[j+1].address,address);

strcpy(tel_num,stud7[j].tel_num);

strcpy(stud7[j].tel_num,stud7[j+1].tel_num);

strcpy(stud7[j+1].tel_num,tel_num);

strcpy(post_code,stud7[j].post_code);

strcpy(stud7[j+1].post_code,post_code);

strcpy(e_mail,stud7[j].e_mail);

strcpy(stud7[j].e_mail,stud7[j+1].e_mail);

strcpy(stud7[j+1].e_mail,e_mail);

}

}

}

remove("学生通讯录.dat");

ofstream outfile("学生通讯录.dat",ios::binary);

int l=0;

while(1)

{if(l>k-2) break;

outfile.write((char*)&stud7[l+2],sizeof(stud7[l+2]));

l++;

}

outfile.close();

}

//格式化(删除文件)

void function::format()

{

remove("学生通讯录.dat");

}

//显示通讯录

void function::show()

{

student stud8[40]={0};

ifstream infile("学生通讯录.dat",ios::in|ios::binary);

infile.seekg(0,ios::beg);

if(infile.peek()==EOF)

{

cout<<"文件为空"<

return;

}

int i=0;

while(1)

{

infile.read((char*)&stud8[i],sizeof(stud8[i]));

if(infile.eof())

break;

else

cout<<"学号:"<

cout<<"地址:"<

cout<<"电话号码:"<

cout<<"邮编:"<

cout<<"E-MAIL:"<

i++;

}

infile.close();

}

第四章实体机测试

4.1测试的目标

什么是测试,测试的目标是什么?G..Myers给出来一些关于测试的规则,这些规则可以看作是测试的目标或定义,其内容如下:

1)测试是为了发现程序中的错误而执行程序的过程;

2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

3)成功的测试是发现了至今为止尚未发现的错误的测试。

4.2测试方法

实机运行源代码

4.3测试结果

添加联系人

编辑联系人个数

通讯录管理系统实验报告

通讯录管理系统实验报告 信息科学与技术学院《程序设计实习》实训报告书 目: 计算机科学与技术题 专业: 计算机科学与技术班级: 姓名: 学号: 同组人员: 指导老师: 设计时间: 目录 1.实训计 划 ..................................................................... ................................... 1 2.问题描 述 ..................................................................... ................................... 1 3.问题分 析 ..................................................................... ................................... 2 4.算法设 计 ..................................................................... ................................... 4 5.程序模块设 计 ..................................................................... ............................ 5 6.技术难点与分 析 ..................................................................... ........................ 8 7.系统测 试 ..................................................................... ................................... 9 8.心得体 会 .....................................................................

简单的通讯录实验报告

( 二〇一二 年 十 月 课程设计说明书 本科毕业设计 题 目:简单通讯录程序 学生姓名:李天罡 学 院:工学院 专 业:数字媒体技术 班 级:2011级 指导教师:王金祥

目录 引言 (3) 第一章需求与分析...................................... I 1.1开发环境 ....................................................................................................... I 1.1.1软件环境 ........................................................................................................... I 1.1.2硬件环境 ........................................................................................................... I 1.1.3开发平台 ........................................................................................................... I 1.2功能需求 ....................................................................................................... I 1.2.1数据字段 ........................................................................................................... I 1.2.2主要功能 ........................................................................................................... I 第二章总体设计 ...................................... II 2.1流程图 ......................................................................................................... II 2.2主要模块功能介绍 .................................................................................... III 2.2.1选择模块 ........................................................................................................ III 2.2.2增添删减模块 ................................................................................................ III 2.2.3查询模块 ........................................................................................................ I V 2.2.4排序模块 ........................................................................................................ I V 第三章详细设计 ...................................... IV 3.1源代码 ........................................................................................................ I V 第四章实体机测试..................................... XV 4.1测试的目标 ..................................................................................................... XV 4.2测试方法 ......................................................................................................... XV 4.3测试结果 ........................................................................................................ XVI 总结 .............................................. XXIII

c语言通讯录管理实验报告及源程序代码

C语言程序设计实训报告 课程名称 C语言程序设计实训 课题名称通讯录管理 专业软件工程 班级 K软件151 学号 姓名 指导教师 2016年 1 月 1 日

湖北汽车工业学院科技学院 C语言程序设计实训任务书 课程名称 C语言程序设计实训 课题通讯录管理 专业班级软件工程 学生姓名 学号 指导老师 审批

一、设计内容与设计要求 1.设计内容: 设计课题:通讯录管理 一、问题描述: 该设计实现对通讯录得管理功能,具体包括从键盘输入通讯录的信息、从指定的文件中读入通讯录的信息、按姓名查询通讯录的信息、按分类查询通讯录的信息、删除指定姓名的通讯录的信息、将通讯录信息保存在指定的文件中等。 二、功能要求: 1)能从键盘输入通讯录的信息(增加,输入时需要能检查该姓名的通讯录 的记录是否已经存在,如果存在,需要询问是否是覆盖还是增加,需要判断输 入的类型是否存在) 2)能从指定的文件中读入通讯录的信息 3)能按姓名查询通讯录的信息 4)能按分类查询通讯录的信息 5)能删除指定姓名的通讯录的信息 6)能将通讯录信息保存在指定的文件中 7)所有数据符合实际应用要求 2.设计要求: 1)设计正确,方案合理。 2)界面友好,使用方便。 3)程序精炼,结构清晰。 4)上机演示。 3.设计报告要求: 课程设计报告格式如下: 1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。 2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释)。 3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。 二、进度安排

数据结构实验一_通讯录

数据结构实验报告 实验名称:实验一——线性表 学生:大学霸 班级: xxxxxxxxxx 班序号: xx 学号: xxxxxxxxxx 日期: 2012年11月1日 1.实验要求 实验目的: 1.学习指针,模板类,异常处理的使用; 2.掌握线性表的操作实现方法; 3.培养使用线性表解决实际问题的能力。 实验容: 利用线性表实现一个通讯录管理,通信录的数据格式如下: struct DataType { int ID; //编号 char name[10]; // char ch; //性别 char phone[13]; // char addr[31]; //地址 }; 具体要求: 1.实现通信录的建立、增加、删除、修改、查询等功能 2.能够实现简单的菜单交互,即可以根据用户输入的命令,选择不同的操作 3.能够保存每次更新的数据 4.编写main()函数测试操作的正确性 2. 程序分析 编程完成通讯录的一般性管理工作如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含、、住址等个人基本信息。用《数据结构》中的链表做数据结构结合c语言基本知识编写一个通讯录管理系统。本程序为使用方便,几乎不用特殊的命令,只需按提示输入即可,适合更多的用户使用。对于建立通讯录管理系统,则需了解并掌握数据结构与算法的设计方法,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。

2.1 存储结构 节点结构: 2.2 关键算法分析 本实验从整体上分为七大模块:( 1)输入联系人信息;(2)添加联系人信息;(3)查找 联系人信息;(4)查看联系人信息;(5)删除联系人信息;(6)修改联系人信息;(7)退出通讯录管理。 通讯录系统图 2.2.1通讯录的建立 伪代码: 1.在堆中申请新的结点; 2.新节点的数据域为a[i]; 3.将新节点加入到链表中; 4.修改尾指针; 5.全部结点插入后需要将终结结点的指针域设为空。 C++实现: ContactBook::ContactBook(DataType a[],int n)//尾插法 { front=new Node; rear=new Node;

用XML做通讯录实验报告

综 合 性 实 验 报 告 学院: 专业: 学号: 姓名:

计算机与信息技术学院综合性、设计性实验报告 专业:年级/班级:学年第学期 课程名称XML基础指导教师 本组成员 学号姓名 实验地点实验时间 项目名称个人通讯薄一的设计与实现实验类型综合性 一、实验目的 1、掌握XML文档的基本语法,能够得到格式良好的XML文档; 2、能够了解并掌握XML DTD的定义方法及其用途; 3、能够熟练使用XMLSPY来创建DTD文件及对应的有效的XML文件,并进行验证; 二、实验仪器或设备 学院提供公共机房,1台学生微型计算机。 三、总体设计(设计原理、设计方案及流程等) 设计原理:按照XML、DTD的语法规则来编写、保存文件XML、DTD文件。 设计方案及流程: 利用XML文档作为存储载体来存储个人通讯薄,按照以下要求设计并实现该通讯薄: 1、内含同学(classmate)、朋友(friend)、家人(home)等人员。每条通讯录至少包 含以下信息: a、姓名(name):必须有一个,其中包含一个枚举类型的性别(sex)属性; b、性别(sex):必须有一个; c、联系方式(tel):必须有一个; d、QQ号:一个或多个; e、地址(address):一个或多个; f、备注(other):一个或多个; g、根据需要可添加其它字段。

2、为该XML文档,编写DTD文档。 四、实验步骤(包括主要步骤、代码分析等) 1、按照以上设计编写一个规范的XML文档 这句话放为XML文件的声明,作为文件的第一行,在其前面不能有空白、其他处理指令或注释。XML声明以标识结束。在该XML声明中,属性version 的值为1.0,指出了该XML文件使用的XML版本,目前该属性的值只可以取1.0。属性encoding规定XML文件采用哪种字符集进行编码,在这encoding的值为“UTF-8”,那么标记的名字以及标记包含的文本内容中就可以使用汉字、日文、英文等。最后,文件在保存的时候必须选择UTF-8编码来保存,否则会出错。 如果在XML声明中没有指定encoding的值,那么该属性的默认值为UTF-8。 在XML文档中,有且仅有一个根标记,其他标记都必须封装在根标记中如图所示: 在该XML文件中,根标记的名字为“txl”,在根标记中封装了一个或多个名字为“title”、“classmate”、“friend”、“home”的标记。在名为“classmate”、“friend”、“home” 的标记下,又都包含了名为“name”、“sex”、“tel”、“QQ”、“address”、“other”的子标记,他们分别包含了姓名、性别、联系方式、QQ号、地址、备注这些信息。至此,该XML文件可以称为一个规范的XML文件。 使用XMLSpy,使用按钮检验XML文件的规范性,所得结果为:

Android实验报告_基于SQLite的通信录

第一次实验Android界面设计 一. 实验目的及实验环境 1. 实验目的 1)掌握SQLiteOpenHelper类结构 2)掌握基于SQLite数据库的应用开发过程 3)掌握Content Provider发布数据的方法 4)掌握Content Resolver获取数据的方法 2.实验环境 系统开发平Android Studio 3.0 系统开发平台:Android 7.1 运行平台:Windows10 x64 运行环境:https://www.wendangku.net/doc/0112278199.html, Framework SDK 2.0 二. 实验教材、组织方式、实验内容 1.实验教材:Andorid开发与应用 2.组织方式:个人独立完成 2.实验内容: 实现基于SQLite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项。 三.方案设计 Android系统中集成了SQLite数据库,并且为数据库的操作提供了相关的类和方法,便于没有数据库开发经验的开发者编写程序。另外,Android平台中利用Content Provider机制来实现跨应用程序数据共享。一个应用程序可以通过Content Provider来发布自己的数据,其他的应用程序可以通过Content Resolver 来获取共享数据。

四.运行结果

五.总结 通过这次实验掌握了SQLite OpenHelper类结构,掌握了基于SQLite数据库的应用开发过程以及Content Provider发布数据的方法和掌握Content Resolver获取数据的方法。 六.附录:源代码 主布局文件activity_main.xml:

Java实验通讯录 实验报告

集中上机实习报告实验题目用java实现简单功能的学生通讯录

实验题目 用java实现简单功能的学生通讯录; 需求分析和系统设计 需求分析要实现的功能分析: 通过题目可知要设计一个学生通讯录,要求实现简单的通信录管理,能够 输入通信录卡片(实现增、删、改等功能),能够分组,并能够实现按名字(或 其他方式)查询功能; 实现界面:可以是DOS界面,功能按提示方式输入实现;可以是Windows界面,功能用菜单形式,输入界面用对话框形式。 概要设计 为了实现实现通讯录界面,需要完成对电话簿的添加,删除,修改功能,因此只需要完成对这三个按钮事件的处理。这三个按钮同样可以用一个监听器 类来实现事件的监听。区分他们的方法同样是根据按钮标题的不同来区分,当 鼠标单击列表组件时,显示不同人员的联系信息,所以需要为列表组件添加鼠 标事件监听器。 算法分析 在实现功能时只用了简单的面向对象的设计方法,在处理多个按钮事件时,区分按钮的关键是按钮的标题区分,我用了按钮命令事件处理,并用if else 来区分“添加”,“删除”,“修改”这三个按钮。界面上放入一个列表主件, 一个“姓名:”的标签和一个输入姓名的编辑框,一个“电话:”的标签和一 个联系电话的编辑框,一个“地址:”的标签和一个地址的编辑框,还有“添加:”、“删除:”、“修改:”等按钮,及对mouseClicked 事件的监听类。 构造了 JFrame mainFrm 为主窗口, JTextField name 为姓名输入框, JTextField tel 为电话输入框, JTextField add 为地址输入框,

JList dataList 为列表组建, String[] ming 为姓名数组, String[] phone 为电话数组, String[] addr 为地址数组。 在实现过程中,定义PhoneBook类继承了MouseAdapter类与ActionListener接口,就可以用Book类来实现按钮命令监听器和鼠标事件监听器。如果出现错误操作,会在控制台出现异常,且操作无效。 模块划分与说明 学生表 流程图 1,进入通讯录后先在姓名输入框内输入姓名如xx,在电话输入框内输入联系电话,在地址输入框内输入地址; 2,点击“添加”按钮,姓名xx出现在面板左侧的列表中; 3,(1)继续1,2,步骤可向学生通讯录中添加更多学生信息如yy; (2)可对已添加的学生信息进行修改,如将xx的电话号改变:在列表中点击xx姓名,对xx信息进行修改,最后点击“修改”按钮,修改后的信息被保存; (3)可对已添加的学生信息进行删除操作,如将xx的信息删除:在列表中点击xx姓名,然后点击“删除”按钮,即可将学生信息删除;

C语言实验报告材料 通讯录

C语言集中上机报告 通信录 院系: 班级: 姓名: 合作者: 指导教师:

2015年6月1日 目录 一概述 (3) 课程设计的目的 (3) 二总体方案 (4) 三程序的调试与运行结果说明 (4) 四课程设计总结 (6) 五后记 (7) 六附录 (7) 参考文献 (11)

一概述 课程设计的目的 实现个人通讯录管理,录入包括姓名、地址、邮政编码、电话号码的信息。其中: 1、对n名学生包括姓名、地址、邮政编码、电话号码等信息进行输入; 2、显示所有记录的信息,若无记录,则给出提示信息; 3、可以按姓名进行查询; 4、可以按姓名进行删除; 6、退出程序 1.课程设计的要求 教师要求: 1、为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。 2、要求:界面友好,易于操作。(本题目限最多一个人完成) 需要的基本知识和技能: 1、利用C语言进行程序设计的能力; 2、理解和运用结构化程序设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程序设计开发文档的能力。 2.课程设计的主要设计思想 整个程序的设计是通过对每一个功能的设计,然后,再对每一个功能的程序进行模块化,从而形成一个完整的管理系统。自顶向下、逐步细化、逐步求精。在对于给定问题进行透彻的了解和详细的分析的基础上,把问题分解成若

干个按顺序执行的逻辑部分(称为“模块”)。每个子任务如果仍很复杂,还可以再分解为若干个子任务。对于每个模块的设计都采用这种“自顶向下、逐步细化”的方法,将它们分解成为基本结构为止,就如同写文章先拟出题目和中心内容,再确定分为几大部分,每一大部分又分哪几节,每一节分为几段,每一段包括哪几个意思,这就是“自顶向下,逐步细化”的方法。 二总体方案 整体设计思路:程序主要运用到了文本文件的打开和读取,文件中存取信息的格式为结构体数组,一个主函数下面分为个子函数。此程序运行的前提是必须首先在编译器的子文件中建立一个文本文件,则可以在运行程序的过程中对这个文本文件进行相关读取。 主要特点及具备功能:简洁明了,易于读者阅读。运用了链表结构,可以自动开辟内存空间储存,操作简单,运用了while循环。 整体框图: 三程序的调试与运行结果说明 主界面和菜单: 结构体构造初始化文件添加联系人显示联系人查找联系人 删除联系人退出

通讯录实验报告

实验课程名称通讯录管理系统 专业班级 10级计科1班 学生姓名 学号 指导教师 2012至2013学年第一学期第1 至18 周

目录 第1章概述 (3) 1.1现状分析 (3) 1.2实现意义 (3) 第2章系统分析 (4) 2.1用户需求分析 (4) 2.2管理者需求分析 (4) 第3章概要设计 (5) 3.1主控菜单设计 (5) 3.2 总结构设计流程图 (6) 第4章详细设计 (6) 4.1通讯录建立模块设计 (6) 4.2通讯录查询模块设计 (7) 4.3通讯录删除模块设计 (7) 4.4通讯录链表的输出模块设计 (8) 第5章运行与测试 (9) 第6章总结和心得 (9) 参考文献 (10) 附件(源代码) (10)

第1章概述 1.1现状分析 日益繁多的人际交往使得我们很难记住与每个人之间的联系方式,通讯录能够便捷的给我们带来所需要的相关信息。为了实现通讯录管理的几种操作功能,首先设计一个含有多少个菜单项的主控菜单程序,然后再为这些菜单配上相应的功能。 1.2实现意义 随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机或者手机中的电话簿程序来帮助人们记住这些事情,极其简便。这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。然而要靠计算机来记住这些信息,首先就得要求用单链表做数据结构,设计一个实现通讯者信息的输入、查询、删除、输出、等功能的通讯录管理系统。每条通讯者信息包含:编号、姓名、性别、电话号码、地址等信息。

《通讯录管理系统(c语言)》实训报告(含代码)

《高级程序设计》课程实训报告 题目:通讯录管理系统 完成人: 专业班级: 学号: 指导教师: 2012年 1 月 5 日

1 题目与要求 1.1 问题提出 本人计划编写一个通讯录管理系统。通讯录一般包括通讯者的姓名、电话及类别等信息,用来管理学生基本信息及成绩信息。 要求实现通讯者的插入、查询、删除等操作。 1.2 本系统涉及的知识点 结构、数组、循环、函数、分支、文件操作等。 1.3 功能要求 1、建立学生信息,每个通讯者的信息包括:姓名、电话号码、QQ、类别(小学,初中,高中,大学); 2、新增通讯录信息; 3、根据姓名,电话号码,QQ等查找该通讯者的信息并输出; 4、输入通讯者的姓名,进行查找并修改信息,若不存在该通讯者,则提示说明; 5、根据姓名删除指定信息; 6、显示全部的通讯者信息; 7、能够将输入信息导出文件,同时能把文件导入到内存中; 8、退出整个系统操作。 2 功能设计 2.1 算法设计 1、利用switch语句设计如图1所示的主菜单:

图1 学生信息管理系统主菜单 2、菜单选项示例: 选择1后,调用新增函数,进入函数后利用printf(),scnaf()语句实现一个如图2所示的输入。 图2 排序子菜单

选择2后,调用查找函数,进入函数后利用switch语句实现一个如图3所示的菜单,该菜单中每个选项调用一个函数,完成通讯录信息的查找。

图3 查找子菜单 3、根据所选菜单编写相应代码: 1)主函数main():根据选单的选项调用各函数,并完成相应的功能。 2)菜单函数menu():显示提示选单。 3) 新增函数add():在通讯录结构体总追加入新的通讯录信息,并返回选单。 4)查找函数find():查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 5)修改函数alter():修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 6)删除函数Delete():删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。 7)显示函数list():显示通讯录中的所有记录。 8)导入函数input():能从指定的文件中读入通讯录的信息. 9)导出函数output的:能将通讯录的信息写入指定的文件中 10)退出函数 quit():退出选单。 11)名字查找函数Find():作为查找,输入修改,删除时调用的名字查找函数,判断是否存在要查找的记录,若存在则返回‘0’,不存在则返回其他值。 12)电话号码查找函数Find_num(),QQ查找函数Find_qq(),类别查找函数Find_type()与名字查找函数功能一致。

通讯录实验报告

安徽理工大学 数据库系统概论课程设计说明书 题目: 通讯录系统 院系:计算机科学与工程学院 专业班级:电子信息技术及仪器11-1班 学号: 2011302807 学生姓名:周松林 指导教师:胡胜利 2013年 06月 10日

安徽理工大学课程设计(论文)任务书计算机科学与工程学院

2013年03月20日安徽理工大学课程设计(论文)成绩评定表

目录 1 需求分析 (1) 2 总体设计 (2) 2.1数据库设计 (2) 2.1.1通讯录系统的数据字典 (2) 2.1.2概念结构设计 (2) 2.1.3通讯录数据库逻辑结构设计 (3) 2.2通讯录数据库实现 (3) 3 详细设计 (4) 3.1建立数据库 (4) 3.2进行数据库连接 (5) 3.3程序代码 (9) 4 总结 (15) 参考文献 (16)

1 需求分析 设计通讯录系统的总体目标:利用所学的VC++和数据库系统的相关知识,设计出具有一定功能的通讯录系统。在本次程序设计,我是在SQLsever中建立相应的表,然后应用ODBC将数据库与VC++链接起。 通讯录的基本功能如下: (1)具有查找功能。编写查找程序代码,用户根据自己需要,通过VC++功能界面查找所需内容。 (2)具有删除功能。编写删除程序代码,通过VC++功能界面删除数据库中的记录。 (3)具有编辑功能。编写相应编辑程序代码,实现对数据库中的记录的修改,达到用户目的。 (4)具有插入功能。编写相应插入程序代码,实现对数据库进行插入记录功能。

2 总体设计 2.1数据库设计 2.1.1通讯录系统的数据字典 由于本次课程设计的内容是设计通讯录系统,根据用户需求,建立以下联系人基本信息表,如下表所示。 表2-1联系人基本信息 2.1.2概念结构设计 通过需求分析构造基本表,确定了通讯录的数据项。然后将需求分析得到的用户需求抽象为信息结构,画出E-R图。如下图所示:

数据结构实验报告之通讯录的实现

数据结构实验报告之通讯录的实现 一、实验题目 利用线性表实现一个通讯录管理,通信录的数据格式如下: struct DataType { int ID; //编号 char name[10]; //姓名 char ch; //性别 char phone[13]; //电话 char addr[31]; //地址 }; 要求: ?实现通讯录的建立、增加、删除、修改、查询等功能 ?能够实现简单的菜单交互,即可以根据用户输入的命令,选择不同的操作。 ?能够保存每次更新的数据(选作) ?能够进行通讯录分类,比如班级类、好友类、黑名单等等(选作) ?编写测试main()函数测试线性表的正确性 二、实验目的 1、熟悉C++语言的基本编程方法,掌握集成编译环境的调试方法。 2、掌握线性表的操作的实现方法。 3、运用线性表解决实际问题。 三、实验内容 通过编写一个C++程序完成一个简易的通讯录管理系统,能够实现建立,增加,删除,修改,查找,浏览,输出,菜单等基本功能。管理系统中每个元素含有成员的ID、姓名、性别、电话、地址等信息。程序是使用链表的功能,通过一些算法简单的实现。 四、算法思路与主要代码 1. 通信录管理结构:建立,增加,删除,修改,查找,浏览,菜单。 2.建立通讯录 构造函数,建立头节点 PHONEBOOK::PHONEBOOK() { first = new DataType; first->next = first->prior = first; first->ID = 0; }

头插法,添加联系人 1:在堆中建立新结点 2:将 a[i]写入到新结点的数据域 3:修改新结点的指针域 4:修改头结点的指针域,将新结点加入链表中 即 1:Node * s=new Node 2:s->data=a[i] 3:s->next=front->next; 4:front->next=s 代码实现 void PHONEBOOK::Insert() { DataType *data = new DataType; data->next = first->next; data->prior = first; first->next = data; data->next->prior = data; m++; data->ID = m; 3.查找联系人 按姓名查找查找是指用户输入要查找的联系人的姓名,系统该函数内找到该联系人,返回该联系人数据域的指针,在主函数中输出该联系人的全部信息。 即1. 初始化工作指针p; 2. 循环以下操作直到p为空或找到用户 1. 如果p的数据等于i,则返回P的数据域指针; 2. P指针指向下一个节点; 3.若找不到返回空指针。 代码实现 void PHONEBOOK::Search() { cout << "请输入要查找的联系人的姓名:"; char aname[10]; cin >> aname; DataType *p = first->next; while (p) { //找到则输出信息 if (strcmp(p->name aname) == 0) {

通讯录管理系统C++实验报告

通讯录管理系统C++实验报告

《C++数据结构》 课程设计 班级信管1123 指导老师吴卫祖 学号 201211671330 姓名易梓麒

2014 年 7 月 7 日

目录 目录 (4) 通讯录管理系统 (5) 一. 问题描述 (5) 1.1系统总体描述 (5) 1.2需求分析 (6) 1.3系统实现方案 (6) 二.概要设计(流程) (6) 三.详细模块设计 (9) 3.1信息录入 (9) 3.2显示信息 (10) 3.3按姓名查找信息 (10) 3.4删除联系人信息 (11) 3.5保存信息至文件 (12) 3.6读取信息 (12) 3.7添加信息 (13) 3.8退出 (13)

3.9主函数 (14) 四.程序运行示意图 (15) 4.1主界面 (15) 4.2输入信息 (16) 4.3显示记录 (16) 4.4删除记录 (17) 4.5查阅记录 (17) 4.6保存记录 (18) 4.7读取记录 (19) 4.8添加记录 (19) 五.总结与心得 (20) 六.附录#源代码 (20) 通讯录管理系统 一.问题描述 1.1系统总体描述 本系统是一款基于对通讯录中联系人进行管理的系统,可使用户更好的对通讯录中的联系人进行基本的操作。

1.2需求分析 根据需求,该系统应具备以下功能: 1.对联系人基本信息的录入 2.显示所有联系人的基本信息 3.按照姓名查找联系人信息 4.删除联系人信息 5.保存联系人信息至文件 6.从文件中读取联系人的信息 7.添加新联系人信息 1.3系统实现方案 为实现系统功能,本系统共分为构建链表函数,显示函数,查找函数,删除函数,保存函数,读取函数,添加函数以及退出系统。这七个函数通过主函数switch语句进行调用。 二.概要设计(流程) 开始

通讯录大型实验报告

大类基础课程大型实验 实验题目通讯录 学生姓名 学生学号 学生班级 任课教师 提交日期 计算机科学与技术学院

通讯录实验报告 一、大型实验的内容 通讯录用于联系人信息的管理,要求完成的主要的功能包括查询功能、根据姓名对人员信息排序输出、能根据姓名、电话修改或删除人员信息等。可以完成查询联系人、添加、删除或修改联系人、从小到大依次显示联系人信息等工作。要求使用学习过的C/C++程序设计的知识完成通讯录的设计与实现。 二、运行环境 通讯录(LMS)在Visual Studio 2010平台下开发,操作系统:Windows 7。 硬件环境:(备注:可以查看“计算机”属性) 处理器:Intel(R) Core(TM) i5-2557M CPU @ 1.70GHz 1.70GHz 内存:2.00GB 系统类型:32位操作系统 三、实验课题分析(主要的模块功能、流程图) 3.1 通讯录的主要功能 通讯录主要功能为:查询功能、根据姓名对人员信息排序输出、能根据姓名、电话修改或删除人员信息等,可以完成查询联系人、添加、删除或修改联系人、从小到大依次显示联系人信息等工作。详细的系统功能结构为图1所示。 图1 系统结构图 系统各模块的功能具体描述为:

1、查找模块 选择查找方式,不同查找方式的结果可能会有差异。根据姓名、电话能精确查询人员信息;根据地址能够进行模糊查询人员信息;根据人员类别能查询人员信息。 2、输入模块 使用者可以添加新的联系人,添加内容包括联系人的姓名、性别、电话、地址、邮政编码、邮箱、QQ号、类别。 3、排序展示模块 该功能可以显示排序前通讯录中所有联系人信息,然后按照各名字的中文ASCII大小从小到大进行排序,然后显示排序后的所有联系人信息。 4、变更人员模块 修改:首先进行查找,按姓名或电话号码进行查找,找到相应的联系人直接进入修改。根据提示选择该联系人需要修改的字段,并进行修改。 删除:首先进行查找,按姓名或电话号码进行查找,找到相应的联系人直接进入确认删除。 3.2 系统分析及设计 系统涉及对象有一个基本类:人员类。人员类涉及的功能操作归纳为如下表1所示:表1 人员类涉及的操作 3.3系统的实现 (1)类的编写 系统工程名为:LMS。包含了person类,Node类(图书类)两个基本类。 具体类结构声明如下: person类 #ifndef PRESONL_H #define PRESONL_H #include #include #include #include

通讯录管理系统实验报告

实验报告 一程序设计目的和要求 1.掌握从“对象“的角度看问题,而不仅仅是功能的划分的思想; 2..熟练掌握将对象所具有的功能和属性封装到一个类中及其用功能; 3.熟练掌握文件的存取方法; 4.了解综合系统设计的基本原理; 5.掌握C语言程序的综合应用。 二程序设计任务内容 通讯录管理系统给用户提供了一个在Windows操作系统上运行的通讯录管理平台,用户可以对联系人进行在电话号码、姓名以及简介等方面的添加、删除、修改等管理操作。同时系统还可以判断登录用户功能,根据用户的分类,其拥有的权限也不同,系统可以通过判断登录用户的用户名和密码,从而判断其是否是首次登陆。系统亦可获取登录用户的权限信息,从而判断该用户能够使用该系统的哪些特定功能,不同级别的用户不能够越权使用系统功能。 通讯录管理系统软件是为用户提供一个保存联系人及信息管理进行辅助的应用软件、功能描述如下。 1.用户选择:进入界面后用户可以选择自己的种类,当用户登录后根据权限判断该用户是新用户还是老用户,可以使用哪些对应的功能。 2.给用户提供功能选择界面: 新老用户对应的功能选择界面是不同的。功能选择界面包括输入功能选项、调用相应程序两大需求。 3.初始化联系人:用户根据提示输入联系人的电话号码、姓名、简介。可一次性输入多个联系人的相关信息。系统将联系人的信息存储在系统磁盘的文件中,以便进行管理、查找和备份。 4.浏览联系人:用以查看联系人的信息以及联系人的电话号码。 5.修改联系人:提示用户输入要进行修改操作的联系人的信息,如果在文件中有该联

实验报告 系人的电话号码存在,则将该电话号码所对应的姓名、电话号码、简介以及得票数所对应文件中加以修改。由系统提示是否继续进行修改操作,让用户可多次进行修改操作。 6.修改密码: 按照提示用户要输入旧密码一次以及新密码两次来进行用户的密码修改,被修改的信息将会储存在文件中,下一次用户要登陆的话得输入新密码才能成功登陆进行其他操作。 三 程序详细设计说明 系统结构设计 1.总体设计 本系统的总体思想基于结构化的程序设计。应用高级语言程序设计中的基本控制结构,如循环和选择,着重实现管理系统的增、删、改、查等典型的管理功能。因此,系统的设计方法是结构化设计方法,开发手段是C 语言,在Microsoft Visual C++ 6.0环境下开发。 2.系统模块结构图 依据需求分析结果,通讯录管理系统可以分为3个模块: 用户选择模块、 用户登陆模块、 用户管理模块。 如图1所示。 图1系统模块结构图 通讯录管理系统 用户选择模块 用户登陆模块 用户管理模块

Android手机通讯录实验报告

Android手机通讯录实验报告学院:安徽机电职业技术学院 专业:软件技术 班级:软件3141 姓名:张程庆小分组 指导老师:范宏宇

小组分组详细信息 组长:张程庆 文档:赵晶蓉 编程:蔡婷、刘朝群、宋昱昊界面:江晓雨 测试:王健康

目录 1.系统描述 1.1问题描述 (1) 1.2功能描述 (2) 1.3数据需求 (3) 1.4设计意义 (4) 2.界面设计 2.1主界面 (5) 2.2新建界面 (6) 2.3修改界面 (7) 2.4查询界面 (8) 2.5添加界面 (9) 3.运用的组件 4.java代码部分截图 5.xml代码部分截图 6.设计总结与收获

1.系统描述 1.1问题描述 在我们学习完Android的相关知识以及软件技术这门学科所涉及的不同编程语言,让我们在现在这个学习阶段对软件编程有了一定的了解,这次的实验是做我们都很熟悉的通讯录,实现手机通讯录的基本功能,包括添加手机联系人,查询手机联系人,删除手机联系人等最基本操作。 这次的手机通讯录是以java语言为主体,xml布局,结合Android 的移动开发平台等实现安卓手机通讯录的基本操作,做到基本的操作都能够完好的运行,在数据丢失后也能够及时的找回。 1.2功能描述 1.3数据需求 本程序是编程通讯录的相关信息,包括联系人姓名、手机号码、公司

号码、存储信息等,在我们的通讯录中利用客户输入的相关用户信息进行保存从而传输到数据库中。 1.4设计意义 我们设计的通讯录包括添加联系人、删除联系人、修改联系人信息、存储联系人信息等基本的手机通讯录的功能,在现在的信息和现代化社会环境下,为了更加方便的找到我们的朋友或家人,我们需要更加简洁方便手机通讯录来方便我们联系他人,随着手机的不断更新换代我们的通讯录也向着更加人性化的方向发展着。 在未来的发展中,通讯录作为手机最基本的功能,对人们的影响也有了一定的程度,人们也越发多的使用着手机通讯录,相信在今后的发展中我们会做到更好,更方便他们的生活。实现人与人更亲密的互动。

通讯录管理系统实验报告

通讯录管理系统实验报告 021240505——胡越编写目的: 学生通讯录管理系统,可以实现对学生管理的功能。通过操作软件可以管理维护用户的信息,具体操作会包括增加、修改、删除、查询用户信息等。并能实现对其进行文件的打开读写与加载。 其软件功能包括: 1.添加用户 2.查找用户 3.修改用户 4.册除用户 5.显示所有用户 6.分类显示用户 需求说明: 该系统信息包括对用户的手机号,及用户姓名。 通过对文件的加载实现的用户的录入、查找、修改、删除、显示、及分类显示。 分类显示是对其手机号码的归属地的实现。以及对字符串处理函数的合理应用。 所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况。 对其用户进行修改,实在总体的情况下的修改,并且不改变其他变量以及用户的信息。 总体设计: 1.系统功能可按其各个功能进行模块划分,具体如下 1》主菜单,显示该系统的主要功能的提示,运行结果如下。

2》添加用户,实现对用户的信息的加载保存,其功能运行结果如下。 3》查找用户,是实现在文件中对其进行查找与显示,其功能运行如下。

4》删除用户,是实现在文件中的删除操作,其功能运行如下。 5》修改用户,是实现在文件中的修改信息,并且不改变其他的信息,其功能运行如下。

6》分类显示,是实现在文件中对其用户进行判断,并加以显示,其功能运行如下。 数据结构 2.本系统中主要的数据结构就是用户的信息,包含用户姓名、手机号,在处理过程中各项可以作为一个用户的不同属性来进行处理

通讯录实验报告

滁州学院 课程设计报告 课程名称:数据结构 设计题目:通讯录管理系统 系别:计算机与信息工程学院 专业:计算机科学与技术 组别:第七组 起止日期: 2011年11月20日~ 2012 年1月8日指导教师: 刘士喜胡成祥 计算机与信息工程学院二○ 一一年制

课程设计任务书

目录 1 需求分析 (1) 1.1 课程设计目的与要求 (1) 1.1.1 课程设计目的 (1) 1.1.2 课程设计要求 (1) 2 概要设计 (1) 2.1 系统功能概要 (1) 2.2 数据结构及原理 (2) 3 详细设计 (3) 3.1 各模块调用关系 (3) 3.2 插入信息 (3) 3.3 显示信息 (4) 3.4 查询信息 (5) 3.5 其他功能 (6) 4 系统测试 (9) 总结 (14) 致谢 (14) 参考文献 (14) 附录 (16)

1 需求分析 1.1 课程设计目的与要求 1.1.1 课程设计目的 随着信息社会的高速发展,人与人之间的联系越来越频繁,通讯方式越来越多样化,如何保证与朋友、同学、同事、领导、亲戚等之间的联系,并能方便快捷的查找、记录、修改其相关通讯信息。仅靠以前单独的手工记录已远远不能满足当前的需要。 开发一个通讯录管理系统,借助计算机可以方便、快捷、灵活的管理个人的朋友及相关人员的通讯信息,了解友人相关信息,帮助与友人保持联络。 所以设计一个通讯录管理系统管理各人的通讯信息是非常必要的,同时,通过用循环双向链表设计通讯录管理系统可以让我们更好的去理解循环双向链表,更好的学好数据结构这门课程。 1.1.2 课程设计要求 建立通讯录信息,实现基础数据信息的录入,信息包括姓名、街道、城市、邮编、国家等内容。 实现查看信息的功能,能够输出全部的通讯录信息。 实现通讯录管理系统的维护,能够提供包括添加通讯信息、删除通讯信息和查询通讯录信息等功能。 提供查询通讯录信息的方法,便于用户查找通讯信息。 能将通讯录保存在文件中。 2 概要设计 2.1 系统功能概要 通讯录管理系统是基于双向循环链表设计而成的信息管理系统。该系统通过对程序进行模块化,建立添加、显示、查找和删除功能的函数,各函数中运用双向循环链表存储数据。从主函数开始执行,调用各函数,并运用文件相关知识将信息存入磁盘中。系统功能模块图如图2-1所示

相关文档
相关文档 最新文档