数据结构-通讯录管理系统的设计与实现

数据结构-通讯录管理系统的设计与实现
数据结构-通讯录管理系统的设计与实现

课程设计报告

课程设计名称:数据结构课程设计系:三系

学生姓名:

班级:

学号:

成绩:

指导教师:

开课时间:2011-2012学年一学期

宿迁学院

课程设计任务书

课程名称:数据结构

指导教师:

专业班级:

学生姓名:

起止日期: 2012.12-2013.1

设计题目一:通讯录管理系统的设计与实现

1 概述

1.1现状分析

课程设计是实践教学中的重要环节,它以某一门课程为基础,涉及和课程相关的各方面知识,是一门独立于课程外的特殊课程。课程设计就是让所有同学对课程更全面的应用。本次实验项目“通讯录管理”就是针对数据结构的一门应用较为广泛的系统管理方法。

1.2 实现意义

本次实验应用性能很好,结构清楚,能随时添加、删除、查找、修改、输出联系人;并且可以用姓名、编号两种方式;而且其中增加了排序功能,使得插入之后排序为接下来的操作提供便利,操作更精确,以人性化的方式展现出来,效果十分突出。

2 系统分析

编程完成通讯录的一般性管理工作如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含编号、姓名、性别、电话号码、住址个人基本信息。用《数据结构》中的链表做数据结构结合c语言基本知识编写一个通讯录管理系统。本程序相对简单,使用方便,几乎不用特殊的命令,只需按提示输入即可。对于建立通讯录管理系统,则需了解并掌握数据结构与算法的设计方法,尤其在算法方面,链表及结点的联系,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。

3 概要设计

3.1算法的设计

本实验从整体上分为七大模块:(1)通讯录链表的建立;(2)通讯者结点的插入;(3)通讯者结点的查询;(4)通讯者结点的删除;(5)通讯者结点的修改;(6)通讯录链表的输出;(7)退出通讯录管理通讯者结点的删除系统。

3.2 通讯录系统图

系统功能模块图如图所示:

4 详细设计

4.1 主菜单模块设计

编写一个主控菜单驱动程序,输入0—6以进入相应选择项。 1. 实现循环和功能选择

假设输入选择用变量k ,它作为0-6之间的一个输入变量,由getchar 读入,提供给switch 语句。使用while 语句循环实现重复选择,并在主函数void main( )中实现。

2.得到k 的合理值

设计一个函数用来输出提示信息和处理信息输入,这个函数应该返回一个数值k ,以便供给switch 语句使用。对于k 输入值,在switch 中case 语句对应数字0—6,在swith 语句中再调用相应的函数,使得程序得以执行,对于不符合要求的输入,提示输入错误并要求重新输入。

主菜单 创建通讯录 插入

通讯录

查找通讯录

删除通讯录

输出通讯录

退出通讯录

修改通讯录

系统功能模块图

4.2 通讯录建立模块设计

1.系统用到的数据有:

char number[5]; //编号

char name[20]; //姓名

char sex[10]; //性别

char telephone[20]; //电话

char address[20]; //地址

函数:

LinkList CreateList(void); //实现通讯录链表的建立功能

void InsertNode(LinkList head,ListNode *p); //实现通讯录结点的插入

void PaixuNode(linklist *&l); //信息按编号排序

ListNode *ListFind(LinkList head); //实现通讯录结点的查找

void DeleteNode(LinkList head); //实现通讯录结点的删除

void ModifyNode(LinkList head); //实现通讯录结点的修改

void PrintList(LinkList head); //实现通讯录结点的输出*/

2.我们知道的建立链表有两种方法,一种为头插入法,一种为尾插入法。头插入法是每次将新插入的结点插在链表的表头,而尾插入法是将新插入的结点插入在链表的尾部。我们这里用尾插入法描述算法。

(1) 使链表的头尾指针head、rear指向新生成的头结点(也是尾结点);

(2) 置结束标志为0(假);

(3)while(结束标志不为真)

{

P指向新生结点;

读入一个通讯者数据至新结点的数据域;

将新结点链接到尾结点之后;

使为指针指向新结点;

提示:是否结束建表,读入一个结束标志;

}

(4) 尾结点指针域置空值NULL。

具体算法如下:

/-------------------------------------------------------/

/* 用尾插入法建立通讯录链表函数*/

/------------------------------------------------------/

LinkList CreateList(void)

{//尾插入法建立带头结点的通讯录链表算法

LinkList head=(ListNode *)malloc(sizeof(ListNode));//申请头结点

ListNode *p,*rear;

int flag=0; //结束指标置0

rear=head; //尾指针初始化指向头结点

while(flag==0)

{ p=(ListNode *)malloc(sizeof(ListNode));//申请新结点

printf("编号(1) 姓名(2) 性别电话(4) 地址(5)\n");

printf("-----------------------------------------------------------\n");

scanf("%s%s%s%s%s",p->data.num,p->https://www.360docs.net/doc/c43972173.html,,p->data.sex,p->data.phone,p->data.addr);

rear->next=p; //新结点连接到尾结点之后

rear=p; //尾指针指向新结点

printf("结束建表吗?(1/0):");

scanf("%d",&flag); //读入一个标志数据

}

rear->next=NULL; //终端结点指针域置空

return head; //返回链表头指针

}

4.3 通讯录插入模块设计

插入结点的基本思想是:使用两个指针变量p1和p2分别指向当前访问过的结点和下一个待访问的结点,循环顺序查找链表,寻找插入结点的位置,其中p1指向待插入结点的前一个结点。

(1)用p1指向原链表头结点,p2指向链表的第一个结点;

(2)while(p2=NULL && p2->data.numdata.num)

{

p1=p2; //p1指向刚访问过的结点;

p2=p2->next; //p2指向表的下一个结点

(3)插入新结点。

具体算法如下:

/-------------------------------------------------------/

/*在通讯录链表head中插入结点*/

/-------------------------------------------------------/

void InsertNode(LinkList head,ListNode *p)

{

ListNode *p1,*p2;

p1=head;

p2=p1->next;

while(p2!=NULL && strcmp(p2->data.num,p->data.num)<0)

{

p1=p2; //p1指向刚访问过的结点

p2=p2->next; //p2指向表的下一个结点

}

p1->next=p; //插入p所指向的结点

p->next=p2; //连接表中剩余部分

}

4.4 通讯录查询模块设计

查询的基本思想是:首先输入要查找的通讯者的编号或姓名,从表头顺序访问表中结点。如查找成功,则返回一个指向查找到的通讯者信息的结点;若查找失败,则返回一个空的指针值NULL。

当按编号好查找时,如需要查找的通讯者编号不在表中,则不一定需要循环才比较到表尾,因为表是按编号递增有序的;而当按姓名查找时,这要循环比较到表尾,才能确定查不到的情况。

具体算法如下:

/-------------------------------------------------------/

/* 有序通讯录链表上的查找*/

/-------------------------------------------------------/

ListNode * ListFind(LinkList head)

{//有序通讯录链表上的查找

ListNode *p;

char num[5];

char name[9];

int xz;

printf("----------------------------n");

printf(" 1. 按编号查询\n");

printf(" 2. 按姓名查询\n");

printf("----------------------------\n");

printf(" 请选择1/2:");

p=head->next; //假定通讯录表带有结点

scanf("%d",&t);

if(t==1){

printf("请输入要查找者的编号:");

scanf("%s",num);

while(p && strcmp(p->data.num,num)<0)

p=p->next;

if(p==NULL || strcmp(p->data.num,num)>0)

p=NULL; //没有查到要查找的通讯者

}

else

if(t==2) {

printf("请输入要查找者的姓名: ");

scanf("%s",name);

while(p && strcmp(p->https://www.360docs.net/doc/c43972173.html,,name)!=0)

p=p->next;

}

return p;

}

4.5 通讯录删除模块设计

删除的基本思想是:先调用查找函数,查询到要删除的结点,删除结点即可。

算法如下:

/*****************************/

/* 通讯录链表上的结点的删除*/

/*****************************/

void DelNode(LinkList head)

{

char s;

ListNode *p,*q;

p=ListFind(head);//调用查找函数

if(p==NULL)

{

printf("没有查到要删除的通讯者!\n");

return;

}

printf("%s%s%s%s%s\n",p->data.number ,p->https://www.360docs.net/doc/c43972173.html,,p->data.sex,p->data.telephone, p->data.address);

printf("真的要删除该结点吗?(y/n) : ");

scanf("%s",&s);

if(s=='y')

{ q=head;

while(p!=NULL && q->next!=p)

q=q->next;

q->next=p->next;//删除结点

free(p); //释放被删除的结点空间

printf("通讯者已被删除!\n");

return; }

printf("通讯者没有被删除!\n");

}

4.6通讯录修改模块设计

修改的基本思想是:先调用查找函数,查询到要修改的结点,修改从新输入结点即可。

算法如下:

void ModifyNode(LinkList head)//通讯录链表上的结点修改

{

char ch;

ListNode *p,*q1;

p=ListFind(head);

if(p==NULL)

{

printf("没有查到要修改的通讯者!\n");

return;

}

else if(p!=NULL)

{

printf("真的要修改该结点吗? (y/n)");

scanf("%s",&ch);

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

{

q1=head;

printf("\n输出新编号: ");

scanf("%s",p->data.number);

printf("输出新姓名: \n");

scanf("%s",p->https://www.360docs.net/doc/c43972173.html,);

printf("输出新性别: \n");

scanf("%s",p->data.sex);

printf("输出新电话: \n");

scanf("%s",p->data.telephone);

printf("输出新地址: \n");

scanf("%s",p->data.address);

printf("修改成功!\n");

}

if(ch=='n'||ch=='N')

printf("无需修改\n");

}

}

4.7 通讯录输出模块设计

输出的基本思想是:只要将表头的指针赋给一个指针变量p,然后用p向后扫描,直到表尾,p为空值。

具体算法如下:

/**********************************/

/* 通讯录链表的输出函数*/

/**********************************/

void PrintList(LinkList head)

{

ListNode *p;

p=head->next; //因为链表带头结点,使p指向链表开始结点

printf("编号姓名性别联系电话地址\n");

printf("----------------------------------\n");

while(p!=NULL)

{

printf("%s,%s,%s,%s,%s\n",p->data.num,p->https://www.360docs.net/doc/c43972173.html,,p->data.sex,p->data.phone,p->data.addr);

printf("----------------------------------\n");

p=p->next;//后移一个结点

}

}

5通讯录程序:

#include

#include "string.h"

#include "stdlib.h"

int flag1=0; //全局变量flag1为0

typedef struct //通讯录结点类型

{

char number[5]; //编号

char name[20]; //姓名

char sex[10]; //性别

char telephone[20]; //电话

char address[20]; //地址

} DataType;

typedef struct node //结点类型定义

{

DataType data; //结点数据域

struct node *next; //结点指针域

} ListNode;

typedef ListNode *LinkList;

LinkList head;

ListNode *p;

/*可加可不加

LinkList CreateList(void); //实现通讯录链表的建立功能

void InsertNode(LinkList head,ListNode *p); //实现通讯录结点的插入

void PaixuNode(linklist *&l); //信息按编号排序

ListNode *ListFind(LinkList head); //实现通讯录结点的查找

void DeleteNode(LinkList head); //实现通讯录结点的删除

void ModifyNode(LinkList head); //实现通讯录结点的修改

void PrintList(LinkList head); //实现通讯录结点的输出*/

LinkList CreateList(void) //尾插法建立带头结点的通讯录链表算法{

LinkList head=(ListNode *)malloc(sizeof(ListNode)); //申请头结点

ListNode *p,*rear;

char flag='y'; //结束标志置y

rear=head; //尾指针初始指向头结点

while (flag=='y')

{

p=(ListNode *)malloc(sizeof(ListNode)); //申新结点

printf("编号姓名性别电话地址\n");

printf("-----------------------------------------------\n");

printf("输入的编号:\n");

scanf("%s",p->data.number);

printf("输入的姓名:\n");

scanf("%s",p->https://www.360docs.net/doc/c43972173.html,);

printf("输入性别:\n");

scanf("%s",p->data.sex);

printf("输入电话:\n");

scanf("%s",p->data.telephone);

printf("输入地址:\n");

scanf("%s",p->data.address);

rear->next=p; //新结点连接到尾结点之后

rear=p; //尾指针指向新结点

printf("继续建表?(y/n):");

scanf("%s",&flag);

}

rear->next=NULL; //终端结点指针置空

return head; //返回链表头指针

}

void InsertNode(LinkList head,ListNode *p)//在通讯录链表head中插入结点

{

ListNode *p1,*p2;

p1=head;

p2=p1->next;

while(p2!=NULL && strcmp(p2->data.number,p->data.number)<0)

{

p1=p2; //p1指向刚访问过的结点

p2=p2->next; //p2指向表的下一个结点

}

p1->next=p; //插入p所指向的结点

p->next=p2; //连接表中剩余的结点

}

//新增通信录排序模块,排序比较简单,通过不断比较,结点指针相互赋值交换解决void OrderList(ListNode *&l)//按编号排序,调用插入函数之后才可以排序

{

ListNode *p,*q,*s;

q=head;

p=q->next->next;

q->next->next=NULL;

while(p)

{

while(q->next&&(strcmp(p->data.number,q->next->data.number)>0))//比较字符串

q=q->next;

s=p->next;

p->next=q->next;

q->next=p;

p=s;

q=head;

}

}

ListNode *ListFind(LinkList head) //有序通讯录链表的查找

{

ListNode *p;

char number[10];

char name[20];

char t;

printf("----------------\n");

printf(" 1. 按编号\n");

printf(" 2. 按姓名\n");

printf("----------------\n");

printf("请选择1/2: ");

p=head->next; //假定通讯录表带有结点

scanf("%d",&t);

if (t==1)

{

printf("请输入所求的编号:");

scanf("%s",number);

while(p && strcmp(p->data.number,number)<0)//优化的地方

p=p->next;

if(p==NULL || strcmp(p->data.number,number)>0)

p=NULL; //没有查到要查找的通讯者

}

else

if (t==2)

{

printf(" 请输入要求的姓名:");

scanf("%s",name);

while(p&&strcmp(p->https://www.360docs.net/doc/c43972173.html,,name)!=0)

p=p->next;

}

return p;

}

void DeleteNode(LinkList head) //通讯录链表上的结点删除

{

char s;

ListNode *p,*q;

p=ListFind(head); //调用查找函数

if (p==NULL)

{

printf("没有查到要删除的通讯者!\n");

return;

}

printf("%s %s %s %s\n",p->data.number ,p->https://www.360docs.net/doc/c43972173.html,,p->data.sex,p->data.telephone,p->data.address);

printf("真的要删除该结点吗?(y/n) : ");

scanf("%s",&s);

if(s=='y')

{ q=head;

while(p!=NULL && q->next!=p)

q=q->next;

q->next=p->next;//删除结点

free(p); //释放被删除的结点空间

printf("通讯者已被删除!\n");

return;

}

printf("通讯者没有被删除!\n");

}

void ModifyNode(LinkList head)//通讯录链表上的结点修改

{

char ch;

ListNode *p,*q1;

p=ListFind(head);

if(p==NULL)

{

printf("没有查到要修改的通讯者!\n");

return;

}

else if(p!=NULL)

{

printf("真的要修改该结点吗? (y/n)");

scanf("%s",&ch);

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

{

q1=head;

printf("\n输出新编号: ");

scanf("%s",p->data.number);

printf("输出新姓名: \n");

scanf("%s",p->https://www.360docs.net/doc/c43972173.html,);

printf("输出新性别: \n");

scanf("%s",p->data.sex);

printf("输出新电话: \n");

scanf("%s",p->data.telephone);

printf("输出新地址: \n");

scanf("%s",p->data.address);

printf("修改成功!\n");

}

if(ch=='n'||ch=='N')

printf("无需修改\n");

}

}

/********通讯录链表的输出函数**********/

void PrintList(LinkList head)

{

ListNode *p;

p=head->next;

printf("编号姓名性别联系电话地址\n");

printf("----------------------------------------------------\n");

while (p!=NULL)

{

printf("%s %s %s %s %s\n",p->data.number,p->https://www.360docs.net/doc/c43972173.html,,p->data.sex,p->data.telephone,p->data.address);

printf("----------------------------------------------------\n");

p=p->next; /*后移一个结点*/

}

}

void main()

{

int k,j=1;

ListNode *l;

while(j)

{

printf("\t\t\t 通信录链表课程设计\n");

printf("\t\t\t********************************");

printf("\n\t\t\t 1.通讯录链表的建立");

printf("\n\t\t\t 2.通讯者结点的插入");

printf("\n\t\t\t 3.通讯者结点的查询");

printf("\n\t\t\t 4.通讯者结点的删除");

printf("\n\t\t\t 5.通讯者结点的修改");

printf("\n\t\t\t 6.通讯录链表的输出");

printf("\n\t\t\t 0.退出通讯录管理系统");

printf("\n\t\t\t******************************");

printf("\n请选择菜单号(0--6):");

scanf("%d",&k);

getchar();

switch(k)

{

case 1:

{

printf("\n 1.通讯录链表的建立\n ");

head=CreateList( );

flag1=1;

break;

}

case 2:

{

if(flag1!=1)

{

printf("请先建立表!");

getchar();

system("cls");

}

else

{

printf("\n 2.通讯者信息的插入\n");

printf("\n编号姓名性别电话地址\n");

printf("--------------------------------------\n");

p=(ListNode *)malloc(sizeof(ListNode)); /*申请新结点*/

printf("输入编号:\n");

scanf("%s",p->data.number);

printf("输入姓名:\n");

scanf("%s",p->https://www.360docs.net/doc/c43972173.html,);

printf("输入性别:\n");

scanf("%s",p->data.sex);

printf("输入电话:\n");

scanf("%s",p->data.telephone);

printf("输入地址:\n");

scanf("%s",p->data.address);

InsertNode(head,p);

printf("排序:\n");

OrderList(l); //调用通讯录排序函数此处放在插入模块下面}

break;

}

case 3:

{

if(flag1!=1)

{

printf("请先建立表!");

getchar();

system("cls");

}

else

{

printf("\n 3.通讯录信息的查询\n");

p=ListFind(head);

if (p!=NULL)

{

printf("编号姓名性别联系电话地址\n");

printf("--------------------------------------------------\n");

printf("编号:%s\n姓名:%s\n性别:%s\n联系电话:%s\n地址:%s\n",

p->data.number,p->https://www.360docs.net/doc/c43972173.html,,p->data.sex,p->data.telephone,p->data.address);

printf("---------------------------------------------------\n");

}

else printf("没有查到要查询的通讯者!\n");

break;

}

case 4:

{

if(flag1!=1)

{

printf("请先建立表!");

getchar();

system("cls");

}

else

{

printf("\n 4.通讯录信息的删除\n");

DeleteNode(head); /*删除结点*/

}

break;

}

case 5:

{

if(flag1!=1)

{

printf("请先建立表!");

getchar();

system("cls");

}

else

{

printf("\n 5.通讯录信息的修改\n");

ModifyNode(head);

}

break;

}

case 6:

{

if(flag1!=1)

{

printf("请先建立表!");

getchar();

system("cls");

}

else

{

printf("\n 6.通讯录链表的输出\n");

PrintList(head);

}

break;

}

case 0:

printf("是否退出(y/n)?");

k=getchar();

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

{

j=0;

printf("\n\n\t\t\t谢谢使用!谢谢使用!");

printf("\n按任意键退出");

}

break;

default:

printf("\n 输入有错,请重新输入!\n");

printf("\n按任意键继续...");

getchar();

system("cls"); //清屏功能

break;

}

}

}

}

6通讯录程序运行结果:

此处未经过排序直接输出

通讯录管理系统的设计与实现

课程设计报告 通讯录管理系的设计与实现 姓名:钟婷英 班级:计122 学号:1213023039 时间:2014年1月10日 1,问题描述 通讯录是用来记载和查询联系人通讯信息的工具,电子通讯录已经为手机,电子词典等设备中不可缺少的工具软件,请设计一个能够满足这种需求的软件,基本功能模块如下图所示。 输入:记录的录入。 显示:通讯录的显示。 查找:按指定方式,输入关键字,查找指定记录。 插入:实现记录的添加或在指定位置插入记录。 保存:将内存中正在被操作的通讯录以文件形式保存到磁盘。 读入:保存的逆操作,讲存在磁盘中的通讯录文件读到内存中。 排序:按指定关键字对通讯录数据进行排序。 修改:提供修改某条记录的功能。 移动:移动记录在通讯录中的存储位子,使其被查找或显示时的位序前移或后移。 退出:结束程序运行。 2,设计要求 (1)设计通讯录数据的逻辑结构和物理结构。 (2)通讯录至少包括下列数据信息:姓名,电话,单位等。 (3)完成图示基本功能。 (4)软件易用,操作简单。 (5)根据自己使用通讯录体会扩充其他功能,如按姓名查找,按号码查找,按序号删除等。 (6)设计足够多的测试用例 主程序 输 入 显示 查找 插入 删除 保存 读入 排序 修改 移动 退出

(7)数据输入有效性检验:如姓名不能为空,号码中不能有非法字符等。(8)提供分组管理的相关功能,如:分组显示,加入组,组创建,组查询等。(9)可视化的界面设计。 3,概要设计 1,使用struct data struct addressList定义结构体类型,struct data结构体中包括年月日的定义,strcut addressList中包括联系人ID账号,名字,性别,名族,生日,手机号码,QQ号码和家庭地址等。 struct date { int year; int month; int day; }; struct addressList { char ID[10]; char name[10]; char gender[4]; char minzu[2]; date birthday; char shoujihao[14]; char QQ[11]; char address[40]; }; 2,程序设计过程中用到的函数有: int zhujiemian( ); void tianjia(fstream & ); void xiugai(fstream & ); void shanchu(fstream & ); void chazhao(fstream & ); void liulan(fstream & ); int findRecord(fstream &, const char *); int getAmount(fstream & ); 3,整个程序用的是面向对象的方法,在主函数中调用各种函数,来实现通讯录的功能。在主函数中,使用的是c++语言中的开关语句(switch)用来选择通讯录的各种功能。

通讯录管理系统

通讯录管理系统说明书 一、使用的技术和开发平台: 基于https://www.360docs.net/doc/c43972173.html,技术开发的数据库应用程序。开发平台为windows,使用的语言为C#2008,数据库为:MSSQL SERVER2008 二、系统功能模块 本系统是使用c#2008和MSSQL SERVER2008开发的一个数据库应用程序,其主要功能是实现对不同组别的联系人信息进行管理,具体来说分如下几个功能模块: 1、后台管理模块 对系统管理员账户的添加、删除、修改等操作 2、登录验证系统 系统启动时,将出现登录窗口,要求用户输入正确的用户名和密码,否则无法进入系统。 2、联系人管理系统 登录成功后将进入系统的主窗口(FormMain.cs),如下图所示: 其中组别是对联系人分的类,根据添加到数据库中的所有联系人的组别确定,是可以更改的。主窗口第一次显示时,默认显示第一个组别的所有联系人。可以在左边树形列表中选择不同的组别,同时右边的ListView自动显示不同组别的所有联系人。在联系人菜单下可以实现新增联系人、删除联系人、修改或查看联系人以及搜索,不论是新增、删除还是修改联系人完毕后,下面的ListView会同时更新显示联系人及组别。状态栏显示登录账户名和选中组别包含的联系人个数。 当用户单击新增联系人菜单项时,弹出如下窗体(FrmAdd.cs),以实现新增:

其中组别是根据数据库中已有的组别自动加载到组合框中的。当用户在ListView中选择某个联系人后再单击删除联系人菜单项,可将该联系人删除。当用户在ListView中双击某个联系人或单击修改或查看联系人菜单项,会弹出如下窗体(FrmMod.cs),以实现修改或查看联系人:不论是添加还是修改联系人时,组别都是可以修改的,注意姓名和组别不能为空。

通讯录管理系统课程设计报告完整版

通讯录管理系统课程设 计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

设计课题题目 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main ()在程序设计中的实现思路和方法。 2. 课程设计要求 制作一个通讯录系统。 (1)该程序具有查找、添加、修改、删除功能。 (2)通讯录包括:姓名、电话、街道、城市、省、邮编等。 二、总体设计 根据系统的要求,系统总体设计如图1所示。 1

printf("\t--------------------\n"); printf("\t请您选择(0-7):"); scanf("%d",&c); }while(c>7&&c<0); return(c); } int Input(struct date per[10],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\t姓名:"); scanf("%s",per[n+i].name); printf("\t电话号码:"); scanf("%s",per[n+i].phone); printf("\t电子邮箱:"); scanf("%s",per[n+i].email); printf("\tQQ:"); scanf("%s",per[n+i].QQ); gets(x); printf("\n\t是否继续添加?(Y/N)"); fflush(stdin); ame,per[i-1].phone,per[i-1].QQ,per[i-1].email); if(i>1&&i%10==0) { printf("\t-----------------------------------\n"); printf("\t"); system("pause"); printf("\t-----------------------------------\n"); } } printf("----------------------------------------------------------------------\n"); system("pause"); } int Delete_a_record(struct date per[10],int n) { char s[20]; int i=0,j; printf("\t请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现 问题描述: 纸质的通讯录已经不能满足实际需求,容易丢失,查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其它一些需要使用的通讯录的人员进行管理和应用的一种应用程序。 需求分析: 1)输入数据建立通讯录。 2)查询通讯录中满足要求的信息。 3)插入新的通讯录信息。 4)删除不需要的通讯录信息。 5)查看所有的通讯录信息。 主界面设计要求: 1)通讯录的建立 2)插入通讯录记录 3)查询通讯录记录 4)删除通讯录记录 5)显示通讯录记录 6)退出系统 设计要求: A.建立通讯录时,每个学生的信息包括:学号,姓名,电话。

B.查找时,学号、姓名、电话均能够作为查询字段。 C.查看所有的通讯录信息时,所有记录需要时有序的(按学号排序,按姓名排序(字典序),按电话号码排序)。 D.存储结构:要求使用顺序存储结构。 E.数据使用:使用本班级的具体信息。 需求分析: 本次设计目的是学生信息管理系统,可存入每个学生的基本信息,所有学生信息都可根据名字、学号、电话、邮箱进行查询,也都能够根据这四个基本信息检索到一个学生并删除其数据。输入形式:student.txt,以文件形式进行输入。 输出形式:根据不同的输入进行不同的操作。 达到功能:能插入一个学生的信息,能删除一个学生的信息,能查询一个学生的信息。 测试数据:班上70个同学的基本数据。 概要设计: 数据类型:顺序链表 ArrayList类 学生数据结构:StuData类包含name、id、phone、email四个String基本类型。 所有操作写在Structure中,包含insert、remove、query、printAll。 Main函数用Java标准输入,循环输入,用switch判断输入进行

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

C课程设计通讯录管理 系统 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

课程设计说明书(论文)课程名称 C++程序设计实践 题目通信录管理系统 专业软件工程班级 学号姓名 xx 起止日期 指导教师赵新慧成绩 辽宁石油化工大学计算机与通信工程学院

摘要 本次课程设计任务是通过编写一个通信录管理系统,学习用Visual?C++?开发简单的管理系统。采用Visual?C++?软件为主要开发工具。巩固和加深学生对C++课程的基本知识的理解和掌握,掌握C++编程和程序调试的基本技能,利用C++进行简单软件设计的基本思路和方法,提高运用C++解决实际问题的能力,掌握书写程序设计说明文档的能力使用计算机进行信息管理。实现通信录的管理功能(添加、删除、排序)、按姓名查询的功能,以及把联系人资料保存在文件中,将文件中内容读出来。使用计算机进行系统管理,不仅提高了工作效率,而且大大提高了其安全性,尤其对于复杂的信息管理,计算机能充分地发挥它的优越性,通信录管理系统是每个人不可缺少的部分,在课程设计中,系统开发平台为Windows XP,程序设计语言采用Visual C++,在程序设计中,运用了面向对象解决问题的方法。程序通过调试运行,初步实现了设计目标。 Abstract The curriculum design task is through the preparation of a student achievement ranking management system, learning management system with Visual C++ 6 to develop simple. Using Visual C++ 6 software as the main development tool. To consolidate and deepen the students the basic knowledge of C++

通讯录管理系统的设计与实现

数据结构实验报告 实验名称:通讯录管理系统的设计与实现 试验时间:2011.1.13 班级:姓名 学号: 指导老师:1.问题描述: 通讯录是用来记录,查询联系人通讯信息的工具。电子通讯录已成为手机,电子词典等电子设备中不可缺少的工具软件。设计一个能够,满足这种需求的软件。 基本功能模块:输入,显示,查找,插入,删除,保存,读入,排序,修改,移动,退出。 2.设计要求: (1)基本要求 1.设计通讯录数据的逻辑结构和物理结构。 2.通讯录至少包含下列数据信息:姓名,电话,地址等。 3.完成图示基本功能。 4.软件易用,操作简单。 5.根据自己使用通讯录的体会,扩充其他功能,如按姓名查找,按学 号查找,按序号查找等。 (2)较高要求 1.数据输入有效性检验:如姓名不能为空,号码中不能有非法字符等。 2.提供分组管理的相关功能,如:分组显示,加入组,组创建,组查 询等。 3.可视化的界面设计。 3.测试案例:

请输入您的选择(0--6): 1 分别输入编号,姓名,性别,电话,地址(输入0 结束通信录的建立): 编号:01 姓名:张三 电话:152****1919 地址:2-222 编号:0 请输入您的选择(0--6): 2 编号:01 姓名:张三 电话:152****1919 地址:2-222

是否继续添加?(Y/N):N 请输入您的选择(0--6): 3 请选择查询的方式(1 编号,2 姓名):1 请输入编号:01 编号:01 姓名:张三 电话:152****1919 地址:2-222 请问是否继续查询?(Y/N):N

请输入您的选择(0--6): 4 输入删除编号:01 删除学生信息如下: 编号:01 姓名:张三 电话:152****1919 地址:2-222 请输入您的选择(0--6): 5 通讯录的全部信息如下: *****编号*****姓名*****性别*****电话*****地址*****

通讯录管理系统需求分析

通讯录管理系统需求分析 项目编号:S1-BS-HTML-001 l项目概述 1.引言 1.1编写目的 在完成了针对通讯录管理系统的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。 此需求规格说明书对《通讯录管理系统》软件做了通讯录管理系统的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。 本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。

1.2项目背景 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 1.3定义 需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。 2.任务概述 2.1目标 实现通讯录管理系统的基本功能,可以实现电话用户的查询、电话号码的查询、电话号码所在地的查询、电话号码的添加及删除等功能,以方便人们的记录和通讯。 2.2运行环境 2.2.2.1服务端 A. 操作系统:Windows 2003 Server 2.2.2.2客户端 A. Windows 95/98/me/Xp/2000/2003, Unix, Linux,Vista,Mac OS各版 2.3条件与限制 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 3.数据描述 开始 3.1数据流图 以可读写的方式打开一个数据文件 将此文件的内容读出,并存入一个新的结构体类型的数组中。 调用menu()菜单函数

c++课程设计(通讯录管理系统)

通讯录管理系统 要求: 1.创建文本文件,记录联系人的信息。 2.以菜单方式工作 3.联系人的信息包括:姓名,籍贯,电话号码,QQ号等信息 4.管理系统的功能包括: a)增加:添加新的联系人 b)删除:删除一个联系人(输入电话号码,删除该联系人) c)修改:修改某个联系人的信息 i.修改姓名 ii.修改电话号码 iii.修改籍贯 iv.修改QQ号 d)查询 i.根据名字查询联系人信息(查询结果不唯一) ii.根据电话号码查询联系人信息 iii.根据QQ号查询联系人信息 实现过程分析: 建立一个文本文件,记录联系人的基本信息 建立以下几个类: 1.联系人类:表示一个联系人 数据成员包括: 姓名 籍贯 电话号码 QQ号 成员函数包括 一组set函数为数据成员赋值 一组modify函数,修改数据成员的值 Display函数:显示联系人的信息 2.通讯簿类(这是一个数据库类):用于记录所有联系人的信息 数据成员包括: 联系人的数量 联系人对象数组 成员函数包括 构造函数:读取文本文件中的数据,并根据文件内容创建联系人对象数组 析构函数:将对象数组中的内容写入到文本文件中。 增加函数:增加一个联系人 删除操作:删除一个联系人 Display:显示所有联系人的信息 修改某一联系人的信息: 查询并显示某一联系人的信息:

3.用户类(这是一个操作类,完成通讯簿的操作):用户拥有一个通讯簿,并且可以对通讯录进行管理 数据成员包括: 通讯簿对象 成员函数包括(成员函数体现用户的行为): 添加联系人:调用通讯簿对象的增加函数完成联系人的添加 删除联系人:调用通讯簿对象的删除操作删除一个联系人 Display:显示所有联系人的信息 修改某一联系人的信息:调用通讯簿对象的函数完成操作 查询并显示某一联系人的信息:调用通讯簿对象的函数完成操作4.界面菜单类:用来给出操作提示 数据成员:可以不定义数据成员 成员函数: Display函数:显示操作菜单的提示。说明:可以根据需要定义多个函数,显示不同的菜单(操作提示)。 #include #include #include #include class person { int tel; int QQ; char name[20]; char nplace[40]; public: int set_tel() { return tel; } int set_QQ() {

C 通讯录管理系统的设计与实现..

目录 摘要 (1) 关键词 (1) 第一章绪论 (2) 1.1课题背景 (2) 1.2 目的和意义 (2) 第二章需求分析 (3) 2.1 范围 (3) (1) 标识 (3) (2) 系统概述 (3) 2.2 需求概述 (3) (1) 系统目标 (3) (2) 运行环境 (3) ①设备 (3) ②支持程序 (3) ③用户的特点 (3) 2.3功能需求 (4) (1)功能介绍 (4) (2) 系统用例图 (4) 2.4实体关系图 (5) 第三章概要设计 (6) 3.1 范围 (6) (1) 标识 (6) (2) 系统概述 (6) 3.2 系统结构 (6) 3.3 通讯录界面设计 (7) 第四章系统详细设计 (8) 4.1 范围 (8) (1) 标识 (8)

(2) 系统概述 (8) 4.2 详细设计说明 (8) 第五章测试说明 (16) 5.1 范围 (16) (1) 标识 (16) (2) 系统概述 (16) 5.2 测试计划及预期结果 (16) 5.3 具体测试情况 (16) 第六章总结 (19) 参考文献 (20)

通讯录的设计与实现 摘要 随着互联网的不断发展,互联网对我们生活产生的影响越来越大。在日常的生活中,我们需要接触很多不同的人,如何运用互联网技术实现朋友圈通讯录的管理呢?这是我们日常生活中经常要面临的问题。本次毕业设计中设计的通讯录管理系统既可以实现对通讯录进行管理,在本地进行通讯录的增加、修改、删除、更新等操作。本次设计的通讯录管理系统主要是了解通讯录管理系统的业务逻辑,熟悉通讯录管理系统的实现方式,模拟了真实的通讯录管理软件,为后续相关内容的学习打下了坚实的基础。 通讯录管理系统是一个专门针对少用户的实用系统,它方便了大家对众多信息的储存和快速查询的功能,大大减少了查找过程的时间,是一个比较实用的通讯录管理系统,。对我们后续学习移动端的通讯录管理也会有很大的帮助。 本设计使用的计算机语言是C++,C++语言是在C语言的基础上作了进一步的强化。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它的应用范围广泛,具备很强的数据处理能力。作为C语言家族的一种,C++也具备了C 语言所具有的优点,并对其进行了优化封装,是开发者更容易操作运用,所以本次课程设计采用了C++作为系统的开发语言。本通讯录管理系统的主要功能有:建立通讯录的链表、插入通讯录信息、查询通讯录信息、删除通讯录信息,输出通讯录信息,保存到通讯录信息。采用的是面向过程的方法,封装函数功能,调用各个功能函数来实现系统的各个功能。 关键词 通讯录;链表;类;

通讯录管理系统课程设计报告书(C语言)[1]

开放教育 课程设计报告书 课程名称:通讯录管理系统 班级:综合邮政07秋 学号: 0 姓名:王芬 指导老师:高海东

通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子 邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person;

通讯录管理系统的设计与实现

大连民族大学 计算机科学与工程学院实验报告 实验题目: 1. 学生信息管理系统的设计与实现 2. 暴力算法在旅行商问题中的应用 课程名称:信息系统开发案例 实验类型:□演示性□验证性□操作性□设计性 综合性 专业:软件工程班级:144 学生姓名:赵耀学号:2014082430 实验日期:2017年3月6日—4月27日 实验地点:金石滩校区I303机房 实验学时:24学时实验成绩: 指导教师:赵戈

通讯录管理系统的设计与实现 摘要 本项目用C++语言开发了一个简单的通讯录管理系统,该系统能对联系人信 息进行“增删改查”。系统的UI设计基于Windows系统自带的控制台。测试结 果表明该通讯录管理系统可以稳定正确运行,具有较高的可靠性。 关键词:通讯录管理系统;C++语言;Windows 控制台 目录 1.选题的背景和意义 (3) 2.需求分析 (3) 2.1 用例图 (3) 2.2 用例文本 (4) 3.总体设计 (5) 3.1 通讯录管理系统功能模块图 (5) 3.2 主控main函数执行流程图 (6) 3.3 执行流程图的解释说明 (6) 3.4 存储结构设计 (7) 4.详细设计 (8) 5程序运行结果 (9) 6总结和展望 (9) 7附录 (10) 程序源代码: (10)

1.选题的背景和意义 当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。人们之间的联系越来越便捷,这就使得要经常与很多人保持着联系,而单纯依靠人脑已经很难记住所有人的联系方式还有其各做附加信息。通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文件保存。本文介绍了c++编写简易通讯录管理:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息由:联系人的姓名、性别、电话号码,加深对c++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。用c语言编程一个通讯录管理系统软件,要求能实现通讯录管理系统中的增加信息,删除信息,显示通讯里的所有信息,按名字查询信息,保存通讯录,退出系统。。 2.需求分析 2.1 用例图 通讯录管理系统的用例图如下图所示: 图2.1 用例图

学校通讯录管理系统数据库设计

数据库设计 在本实例中使用的是SQLServer 2000数据库管理系统。数据库服务器安装的位置为本机,数据库名称为commu ni catio nserver 。下面将介绍数据库分析和设计、数据表的创建、数据表关系图和创建存储过程的内容。 4.2.1 数据库分析和设计 在本节中,将根据上一节系统功能的设计分析创建各数据表的实体E-R关系图,它是数 据库设计非常重要的一步,下面用E-R图的形式表示出各实体的属性。 1. 用户E-R实体图 用户的实体具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性,ER图如图4-5所示。 图4-5 用户E-R实体图 2. 地区E-R实体图 地区的实体具有地区编号、地区名称2个属性,E-R图如图4-6所示。 图4-6 地区E-R实体图 3. 职务E-R实体图 职务的实体具有职务编号、职务名称2个属性,E-R图如图4-7所示。 图4-7 职务E-R实体图 姓名用户权限性别 1 用户E-mail 地区 职务职务名称

4. 学校E-R 实体图 学校的实体具有学校名称、学校所在地区、在校学生人数3个属性,可用 E-R 图表示, 如图4-8所示。 (学校名称X 学校一(在校学生人数 图4-8 学校E-R 实体图 5. 通讯录E-R 实体图 通讯录的实体具有联系人姓名、地址、联系电话、所属职务、所在学校、所在单位、所 属地区7个属性,E-R 图如图4-9所示。 图4-9 通讯录E-R 实体图 4.2.2 数据表的创建 在上面一节中讲解了实体的 E-R 图,本节中将根据E-R 图的内容,创建企业信息管理系 统中的各数据表,在此系统中共涉及到 5个数据表的应用,分别为如下。 1、 字段采用camel 风格定义 2、 用不同颜色区分字段 主键:蓝色 外键:白色 既是主键又是外键:淡蓝色 普通字段:青绿 学校编号 学校所在地区 联系电话 通讯录 所在单位 * 所在学校 彳所属职务

通讯录管理系统实现与设计

武汉理工大学 毕业设计(论文) 通讯录管理系统实现与设计 学院(系): 专业班级: 学生姓名: 指导教师:

目录 第一章绪论 (2) 1.1课题简介 (2) 1.2开发的意义 (2) 1.3团队构成 (3) 第二章开发环境及实现技术 (4) 2.1开发环境 (4) 2.2开发工具简介 (4) 第三章系统设计 (6) 3.1概要设计 (6) 3.2详细设计 (7) 第四章数据库设计 (9) 4.1数据库A CCESS简介 (9) 4.2数据库需求分析 (10) 4.3数据库需求分析 (10) 第五章详细设计 (12) 5.1系统登录模块的设计与实现 (12) 5.2主界面的设计与实现 (16) 5.3单人资料模块的设计与实现 (19) 5.4模糊查询模块的设计与实现 (22) 5.5全体资料模块的设计与实现 (25) 5.6用户注册模块的设计与实现 (26) 5.7用户维护模块的设计与实现 (28) 5.8备忘提醒模块的设计与实现 (29) 第六章系统使用说明 (33) 6.1使用说明 (33) 6.2运行环境 (33) 第七章设计心得 (34) 参考文献 (35)

第一章绪论 1.1课题简介 通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。 随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。 1.2开发的意义 计算机已经成为我们学习和工作的得力助手,使用其可方便的管理通讯录 今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域。 现在我国的通讯录管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。 我作为一个计算机应用专业的毕业生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我所学的知识编制出一个实用的程序来帮助用户进行财务管理。 开发这一系统的好处大约有以下几点: 第一、可以存储大量的通讯录信息,安全、高效;

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

合肥学院 计算机科学与技术系 课程设计报告 2013~2014学年第二学期 课程面向对象课程设计 课程设计名称通讯录程序 学生姓名XXX 学号 专业班级XXXXX 指导教师XXX 20 年月

目录 一、设计题目 (1) 二、设计要求 (1) 三、总体设计 (1) 3.1系统功能框架 (1) 3.2系统功能说明 (3) 四、详细设计 (3) 1.数据结构设计 (3) 2.系统模块设计 (10) 五、运行结果 (13) 一.设计题目 随着社会的进步与发展,通讯越来越密切。希望能通过对java课程设计的学习和掌握来编写一个通讯录管理系统。 二.设计要求 (1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。 (2)程序必须与数据库进行通信。

(3)系统必须是图形用户界面的形式并连接数据库 三. 总体设计 3.1 3.2 系统功能说明 (1)具有新用户注册功能。 (2)具有注册用户登录功能。 (3)具有数据的录入功能。 (4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。(5)具有按条件删除数据功能。

(6)具有统计功能 4. 详细设计 4.1数据结构设计(java程序设计) //登录系统 package com.ibm.etp.addressbook.action; import java.util.HashMap; import java.util.List; import https://www.360docs.net/doc/c43972173.html,er; import com.ibm.etp.addressbook.service.LoginService; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { private static final long serialVersionUID = 1L; public String username; public String password; private String message; @Override public String execute() throws Exception { HashMap result = new HashMap(); List list = null; System.out.println(username); if(username == null || username.trim().length() == 0) { result.put("success", false); result.put("msg", "https://www.360docs.net/doc/c43972173.html,ername.empty"); } else if(password == null || password.trim().length() == 0) { result.put("success", false); result.put("msg", "login.password.empty"); } else { LoginService ls = new LoginService(); list = ls.checkLogin(username); } if(list == null) { result.put("success", false); result.put("msg", "https://www.360docs.net/doc/c43972173.html,er.not.exist"); } else if(list.get(0).getPassword().equals(password)) { result.put("success", true); result.put("msg", "login.success"); } else {

基于c语言的通讯录管理系统设计与实现

基于c语言的通讯录管 理系统设计与实现 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

《高级语言程序设计》 ——基于c语言的通讯录管理系统的 设计与实现 姓名:王炳旭 学号: 1216F0610119 指导老师:孟芸 系别:信息工程系 专业班级:计科F1201班

《高级语言程序设计》课程设计任务书 设计内容及要求: 1.设计内容 输入功能:记录信息并保存文件中。 显示功能:输出文件中所有信息。 查找功能:查询所需通讯信息。 删除功能:删除无用信息。 2.设计要求 建立通讯录信息,信息包含姓名、性别、班级、电话,保存在文件中; 能够输出文件中所有通讯录信息。 能够提供按姓名、班级或性别查询信息; 能够提供按姓名删除通讯录信息的功能; 时间安排: 九月:选择自己所要设计的程序,查阅书籍、网上查询,收集所需资料解决疑惑。 十月:开始编写程序,不断分析。 十一月:代码实现,程序能够运行。 十二月:写报告,完成课程设计。 《高级语言程序设计》课程设计教师评阅成绩表

《高级语言程序设计》课程设计承诺书

目录 1.引言----------------------------------------------------------------------- 2 1.1设计内容------------------------------------------------------------- 2 1.2设计任务及具体要求--------------------------------------------------- 2 1.3系统环境------------------------------------------------------------- 3 2.总体设计------------------------------------------------------------------- 3 2.1系统功能简介--------------------------------------------------------- 3 2.2总体程序框图--------------------------------------------------------- 3 2.3各个模块之间的主要关系----------------------------------------------- 4 3.详细设计------------------------------------------------------------------- 4 3.1各个模块的程序流程图及运行界面--------------------------------------- 4 3.2关键代码分析说明----------------------------------------------------- 8 3.3程序使用说明--------------------------------------------------------- 9 4.总结----------------------------------------------------------------------- 9 致谢------------------------------------------------------------------------- 9 参考文献--------------------------------------------------------------------- 9 附录------------------------------------------------------------------------ 10 1.引言 当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文档保存。本文介绍了简易通讯录管理系统在VC++6.0环境下的实现过程:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息

通讯录管理系统数据库设计说明

通讯录管理系统数据库设计与实现 1 需求简介() 1.1功能概述 1.2数据要求 功能中涉及的数据项说明。 1.用分组基本信息(Admin):包括分组号、分组名; 2.用户基本信息(Dormitory):包括账号、密码、昵称、个性签名,这样可以 方便分清用户记录的联系人;

3.联系人基本信息(linkman):包括、性别、关系、手机号、座机号、QQ、E-mail、 生日、工作单位、地址、所属用户、所属分组; 1.3数据字典 数据项列表 数据项编号数据项名数据项含义与其它数据项的关系存储结构别名TXL-1 G_number 分组号CHAR(10) TXL-2 G_name 分组名CHAR(20) TXL-3 ID 所属用户等同于账号ID CHAR(10) TXL-4 ID 账号CHAR(10) TXL-5 Nickname 昵称CHAR(20) TXL-6 Password 密码CHAR(20) TXL-7 Qianming 签名CHAR(50) TXL-8 L_number 联系人号CHAR(100) TXL-9 Name CHAR(20) TXL-10 Sex 性别CHAR(2) TXL-11 Concern 关系CHAR(10) TXL-12 Phone 手机号CHAR(11) TXL-13 Landline 座机号CHAR(10) TXL-14 QQ QQ号CHAR(10) TXL-15 Email E-mail CHAR(20) TXL-16 Work 工作单位CHAR(30) TXL-17 Address 地址CHAR(30) TXL-18 Birthday 生日Date 数据结构列表 数据结构编号数据结构名 数据结构 含义 组成 DS-1 Grouping 分组G_number,G_name,ID, DS-2 Worker 用户ID,Nickname,Password,Qianming DS-3 Linkman 联系人L_number,Name,Sex,Concern,Phone,Landline,QQ,Email,Work,Address,Birthday,ID,G_number

课程设计--通讯录管理的设计与实现

课程设计--通讯录管理的设计与实现

课程设计(大作业)报告 课程名称:数据结构课程设 计 设计题目:通讯录管理的设计与实 现 院系:信息技术学院 班级:10级计算机应用技术 班 设计者:李婷 学号:201011020120 指导教师:阿圆 设计时间: 2011-12-26~2011-12-30

信息技术学院 昆明学院课程设计(大作业)任务书 姓名:李婷院(系):信息技术学院 专业:计算机应用技术学号:201011020120 任务起止日期:2011-12-26~2011-12-30 课程设计题目: 通讯录管理的设计与实现 课程设计要求: 1)问题描述 通讯录管理系统一般包括通讯者结点信息的插入、查询、删除、输出功能,通讯者结点的信息一般包括编号、姓名、性别、电话、地址等项。 2) 基本功能 (1)通讯录的建立; (2)通讯者信息的插入;

(3)通讯者信息的查询(按姓名或编号查询); (4)通讯者信息的删除; (5)通讯录信息的输出; 工作计划及安排: 1、问题分析和任务定义;(0.5天) 2、数据类型和结点结构设计;(0.5天) 3、算法设计与分析(1.5天) 4、编码实现和上机调试;(1.5天) 5、总结和整理课程设计报告。(1天) 指导教师签字 2011年12 月29 日

课程设计(大作业)成绩 学号:201011020120 姓名:李婷指导教师:阿圆 课程设计题目: 通讯录管理的设计与实现 总结: 我们经过一个星期的时间把我们的通讯录管理的设计与实现做了出来,时间有些赶,做出来的有点不是很好,我们主要做了菜单模块:显示通讯员信息的菜单,共用户选择所需功能;输出模块:添加删除功能:能根据通讯员人事的变动情况,添加删除记录,利用void Add(Link l)实现添加,利用void Del(Link l)实现删除;显示模块:把通讯员的信息显示出来,通过void Disp(Link l)来实现;查询功能:能根据编号和姓名进行查询通过void Qur(Link l)实现;编辑功能(高级):根据查询对相应的记录进行修改,并存储;保存功能:能对输入的数据进行相应的存储;而我主要的是完成主菜单,添加,删除,显示四个模块和其他的模块的完善,我们分工合作,而另一些部分,我虽然没写,但是组员是在一边写一边跟我讲解每条语句的意思是什么,而我写的时候,

相关文档
最新文档