搜档网
当前位置:搜档网 › 通讯录管理系统课程设计报告..

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

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

设计课题题目

一、课程设计目的与要求

1.课程设计目的

(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。

(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。

2. 课程设计要求

制作一个通讯录系统。

(1)该程序具有查找、添加、修改、删除功能。

(2)通讯录包括:姓名、电话、街道、城市、省、邮编等。

二、总体设计

根据系统的要求,系统总体设计如图1所示。

三、详细设计

1、数据结构设计

#include /*标准输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

#define FILENAME "phone.dat"

struct date //定义一个结构体类型数组

{ char name[10]; /*姓名*/

char phone[12]; /*电话*/

char email[20]; /*邮箱*/

char QQ[20]; /*QQ*/

} per[10];

int menu() //主菜单选择函数

2.函数说明

(1) 主函数

main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。

(2)

四、程序清单

1、头文件

#include /*标准输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

#define FILENAME "phone.dat"

2、主函数

void main() //主函数

{

int n=0,i;

while(1)

{ switch (menu())

{ case 1: { printf("\n\t 通讯信息录入\n"); //信息录入

n=Input(per, n);

}

break;

case 2:

printf("\n\t\t\t 通讯录记录表\n"); //显示记录

Display(per,n);

break;

case 3:

printf("\n\t保存功能\n");

WritetoText(per,n); //保存数据

printf("\t");

system("pause"); //操作完成后进行暂停

break;

case 4:

printf("\n\t从通讯录中删除记录\n");

n=Delete_a_record(per,n); //删除记录

printf("\t");

system("pause");

break;

case 5:

printf("\n\t修改通讯录中的记录\n");

Change(per,n); //修改数据

printf("\t");

system("pause");

break;

case 6:

printf("\n\t添加记录到通讯录\n"); //添加记录

n=Input(per,n);

break;

case 7:

printf("\n\t在通讯录中查找记录\n");

Query_a_record(per,n); //查找记录

printf("\t");

system("pause"); //从程序里调用”pause”命令break;

case 0:

printf("\n\t\t谢谢使用,再见!\n"); //结束程序

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

system("pause");

exit(0);

}

五、总程序和分工执行结果

#include /*标准输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

#define FILENAME "phone.dat"

struct date //定义一个结构体类型数组

{ char name[10]; /*姓名*/

char phone[12];

char email[20]; /*邮箱*/

char QQ[20];

}per[10];

int menu() //主菜单选择函数

{ int c; //定义一个整型变量

do{

system("cls"); //清屏

printf("\t*******通讯录*******\n");

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

printf("\t 1、通讯信息录入\n");

printf("\t 2、通讯信息显示\n");

printf("\t 3、通讯信息保存\n");

printf("\t 4、通讯信息删除\n");

printf("\t 5、通讯信息修改\n");

printf("\t 6、通讯信息增加\n");

printf("\t 7、通讯信息查询\n");

printf("\t 0. 退出\n");

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); //清空缓存

scanf("%c",&sign);

i++;

}

return(n+i);

}

void writeToFile(struct date per[10],int n)

{ FILE *fp=NULL;

int i=0;

fp=fopen("phone.dat","wb");

if(fp==NULL)

{ printf("打开文件出错!\n");

exit(0);

}

for(i=0;i<10;i++)

fwrite(&per[i],sizeof(per),1,fp); //把字节为1的信息写入文件

fclose(fp);

}

void Display(struct date per[10],int n)

{ int i;

printf("----------------------------------------------------------------------\n"); //格式/

printf(" 姓名电话号码QQ 电子邮箱\n");

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

for(i=1;i

{

printf("%-15s%-14s%-14s%-14s\n",per[i-1].name,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

if(i==n)

{printf("\t通讯录中没有此人!\n");

return(n);

}

for(j=i;j

{ strcpy(per[j].phone,per[j+1].phone);

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

strcpy(per[j].QQ,per[j+1].QQ);

strcpy(per[j].email,per[j+1].email);

}

printf("\t\t\t已经成功删除!\n");

return(n-1);

}

void Query_a_record(struct date per[10],int n)

{ int m;

printf("\t\n请选择查询方式:\n");

printf("\t┌──────┐\n");

printf("\t│1------姓名│\n");

printf("\t│2------电话│\n");

printf("\t│3------返回│\n");

printf("\t└──────┘\n");

printf("请选择:");

scanf("%d",&m);

while(m!=1&&m!=2&&m!=3&&m!=4)

{

printf("输入错误,请重新选择:");

scanf("%d",&m);

}

if(m==1)

{ char s[20];

int i=0;

printf("\t请输入想查询的姓名:");

scanf("\t%s",s);

while(strcmp(per[i].name,s)!=0&&i

if(i==n)

{

printf("\t通讯录中没有此人!\n");

return;

}

printf("\t此人QQ: %s\n",per[i].QQ);

printf("\t电话号码: %s\n",per[i].phone);

printf("\t电子邮箱: %s\n",per[i].email);

} ;

if(m==2)

{ char s[20];

int i=0;

printf("\t请输入想查询的电话:");

scanf("\t%s",s);

while(strcmp(per[i].phone,s)!=0&&i

if(i==n)

{

printf("\t通讯录中没有此人!\n");

return;

}

printf("\t此人姓名: %s\n",per[i].name);

printf("\t此人QQ: %s\n",per[i].QQ);

printf("\t电子邮箱: %s\n",per[i].email);

} ;

}

void Change(struct date per[10],int n)

{ char s[20];

int i=0;

printf("\t请输入想修改的记录中的名字:");

scanf("%s",s);

while(strcmp(per[i].name,s)!=0&&i

if(i==n)

{ printf("\t通讯录中没有此人!\n");

return;

}

printf("姓名:");

scanf("%s",per[i].name);

printf("电话号码:");

scanf("%s",per[i].phone);

printf("QQ:");

scanf("%s",per[i].QQ);

printf("电子邮箱:");

scanf("%s",per[i].email);

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

}

void WritetoText(struct date per[10],int n)

{ int i=0;

FILE *fp; //定义文件指针

char filename[20]; //定义文件名

printf("\t保存到文件\n"); //输入文件名

if((fp=fopen("phone.dat","w"))==NULL)

{ printf("\t无法打开文件\n");

system("pause");

return;

}

fprintf(fp,"***************************************通讯录********************************\n");

fprintf(fp," 姓名电话号码QQ 电子邮箱\n");

fprintf(fp,"-----------------------------------------------------------------------------\n");

while(i

{ fprintf(fp,"%-10s\t%-3s\t%-20s\t%-20s\n",per[i].name,per[i].phone,per[i].QQ,per[i].email);

i++;

}

fprintf(fp,"-------------------------------------------------------------------------\n");

fprintf(fp,"********************************共有%d条记录***************************\n",n);

fclose(fp); //关闭文件

printf("保存成功!\n");

}

void main() //主函数

{ int n=0,i;

while(1)

{ switch (menu())

{ case 1: { printf("\n\t 通讯信息录入\n"); //信息录入

n=Input(per, n);

}

break;

case 2:

printf("\n\t\t\t 通讯录记录表\n"); //显示记录

Display(per,n);

break;

case 3:

printf("\n\t保存功能\n");

WritetoText(per,n); //保存数据

printf("\t");

system("pause"); //操作完成后进行暂停

break;

case 4:

printf("\n\t从通讯录中删除记录\n");

n=Delete_a_record(per,n); //删除记录

printf("\t");

system("pause");

break;

case 5:

printf("\n\t修改通讯录中的记录\n");

Change(per,n); //修改数据

printf("\t");

system("pause");

break;

case 6:

printf("\n\t添加记录到通讯录\n"); //添加记录

n=Input(per,n);

break;

case 7:

printf("\n\t在通讯录中查找记录\n");

Query_a_record(per,n); //查找记录

printf("\t");

system("pause");

break;

case 0:

printf("\n\t\t谢谢使用,再见!\n"); //结束程序

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

system("pause");

exit(0);

}

}

}

图1 通讯录主菜单结果

图2 信息录入

图3 通讯信息显示

图4 通讯信息保存

五、调试与测试

所谓程序调试是对程序的查错和排错。对此程序我们进行了以步骤:

人工检查,即静态检查。此过程我们对于写好的程序进行了排查,并且进行了注释。

上机调试。通过上机调试发现的错误为动态检查,这时发现了许多错误和警告,我们根据提示逐一改正。

运行程序。这一步骤我们逐一检查每个菜单是否运行正常与正确,在这个过程中我们出现了许多格式不正确,我们细心的进行修改。

总之,在我们对程序进行了细心的调试和测试之后,我们的程序正常运行了,但是其中还是有很多不足的地方。比如我们的修改成绩这一向就是不完善的,要是程序里出现了不同班但学号相同时这个问题就没有解决,在以后我们会进行改善。

六、结语

心得体会:

通过这一周的课程设计,我对一些专业知识和程序设计有了更深的了解,同时也尝试着, 去应用自己的所掌握的知识。本次高级程序课程设计主要是对本学年学习的C程序知识,同时加上基础知识,设计一些课题。

经过几天的奋战,我感受很深。在设计的过程中不可避免的遇到了很多的问题.尤其是在调试过程中,会因为某些原因出不来结果,也会因为个别错误而导致运行不出来,在这个过程中,遇到问题是不可避免的,但是在遇到困难是我们不退缩。在老师和同学的帮助与指导下,我们顺利的完成了本次课程设计,并调试出结果。

在调试结果出来时,我更是无比的兴奋,无比的自豪。总之,通过这次高级程序课程设计,我对自己的知识有了更好的掌握和应用,在以后的学习和生活中受用终身。在以后的学习中我们更多的要投身于实践中,多动手,多动脑,才能更好的把学习学好。

七、参考文献

[1]袁志祥主编数据结构(C语言版)例题详解与课程设计指导第二版中国科技大学出版社

[2]刘甫迎刘光会王蓉主编程序设计教程(第二版) 北京电子工业出版社2008

[3]郭胜主编程序设计清华大学出版社2002

[4]施燕妹陈培陈发吉主编C#语言程序设计教程中国水利水电出版社2001

通讯录管理系统实验报告

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

C语言课程设计报告—手机通讯录管理系统

C程序课程设计报告 --手机通讯录管理系统 姓名:谢骏 学院:珠宝学院 学号:649 班级:141082

一课程设计目的和内容概述 1.目的:加深对《C语言》课程所学知识的理解,进一步巩固C语言编程方法。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。 2.内容:设计一个简易的手机通讯录管理系统。该题目要求在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、、绘图函数,以及文件的读写操作等。 其中结构体,函数的调用,算法的设计是尤为重要的。 二题目 手机通讯录管理系统。 [问题描述] 该系统模拟手机通讯录管理系统,实现对手机中的通讯录进行管理 [基本要求] 要能提供以下几种功能: (1)查看功能:选择此功能时,列出下列三类选择:

A:办公类B:个人类C:商务类 (2)当选中某类时,显示出此类所有数据中的姓名和电话号码 (3)添加数据功能:能录入新数据,每个结点包括:姓名,电话号码,分类(可能选项有:w为办公类p为个人类b为商务类),电子邮件。例如:杨春商务类 当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 三程序设计 1.总体设计 首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过通过主函数来判断输入字母,从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。 2.详细设计

个人通讯录管理系统c语言源程序优秀版)

#include /*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件#include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/

void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/ if ((fp=fopen("同通讯录.txt","w"))==NULL) /*只写方式判断*/

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

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

学生通讯录管理系统的设计与实现 问题描述: 纸质的通讯录已经不能满足实际需求,容易丢失,查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其它一些需要使用的通讯录的人员进行管理和应用的一种应用程序。 需求分析: 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判断输入进行

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

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

三、详细设计 1、数据结构设计 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" struct date //定义一个结构体类型数组 { char name[10]; /*姓名*/ char phone[12]; /*电话*/ char email[20]; /*邮箱*/ char QQ[20]; /*QQ*/ } per[10]; int menu() //主菜单选择函数 2.函数说明 (1) 主函数 main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。 (2)

四、程序清单 1、头文件 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" 2、主函数 void main() //主函数 { int n=0,i; while(1) { switch (menu()) { case 1: { printf("\n\t 通讯信息录入\n"); //信息录入 n=Input(per, n); } break; case 2: printf("\n\t\t\t 通讯录记录表\n"); //显示记录 Display(per,n); break; case 3: printf("\n\t保存功能\n"); WritetoText(per,n); //保存数据 printf("\t"); system("pause"); //操作完成后进行暂停 break; case 4: printf("\n\t从通讯录中删除记录\n"); n=Delete_a_record(per,n); //删除记录 printf("\t"); system("pause"); break;

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

二〇〇八~ 二〇〇九学年第二学期 信息科学与工程学院课程设计报告书 课程名称:C语言课程设计 班级: 学号: 姓名:薛其乐 指导老师:

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

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

char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select()) { case 1: printf("\n\t添加记录到通讯录\n"); /*添加记录*/ n=Input(pe,n); break; case 2: printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/ Display(pe,n); break; case 3: printf("\n\t从通讯录中删除记录\n");

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

通讯录管理系统课程设 计报告 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

个人通讯录管理系统

C语言程序设计 课程设计报告 个人通讯录管理系统设计 专业__网络工程___ _____ 班级___(3)班___________ 学号__3148119322 姓名__吴道金 _ 学号_ 3148119319 _姓名_ 林东垚 ___ 学号_ 3148119359 _姓名__ 林家勇 __ 学号__3149119349__________姓名___上官景铨_____ ______ 福建工程学院软件学院 2015年月日 (正文部分)

一、需求分析 建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。功能要求(1) 通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。 (2) 输入功能:可以一次完成若干条信息的输入。 (3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示) (4) 查找功能:可以按姓名等多种方式查找通讯信息 (5) 增加、删除、修改功能:完成通讯录信息的多种更新 二、总体设计

三、详细设计 void menu(); /*菜单*/ void Add(); /*添加记录*/ void print(); /*输出记录*/ void Find(); /*查找记录(按姓名)*/

void Delete(); /*删除记录*/ void SaveFree(); /*保存到文件*/ void Creat(); /*打开文件*/

四、程序源代码 #include #include #include

C语言通讯录程序课程设计报告书

3.6 实例6 通讯录程序 本实例希望设计一个通讯录程序,要求实现通讯录信息的录入,并具有添加、查询、删除、显示等功能;使用结构体存储通讯录中记录信息;使用链表来实现通讯录信息的添加、删除、查询及显示等操作;通讯录程序可实现文件读写,在通讯录信息录入结束之后,可存入文件中,在下次程序运行时可将通讯录中的记录读取到程序中。通讯录程序可采用基于Win32控制台程序构建或采用基于MFC应用向导.EXE的应用程序,下面对这两种方法进行详细介绍。 3.6.1. 设计目的 1、掌握结构体的基本工作原理和工作方式。 2、熟悉结构体与链表的使用方法。 3、熟悉C语言下数据的输入与输出。 4、掌握C语言下对TXT文件的读写操作。 5、熟悉函数的设计方法及调用方法。 3.6.2. 基本要求 1、本实例要求实现对通讯录信息的查找、添加、删除、显示等功能,每个功能模块均能实现随时从模块中退出,可以通过键盘对功能进行选择,完成一个通讯录管理系统的运行。

2、要使用结构体来实现对通讯录信息的存储。 3、使用链表来实现对通讯录信息的查找、添加、删除、浏览显示。 4、使用文件对记录进行存储,程序运行时还可以从文件中读取记录。 5、系统设计完成后应实现类似下图所示界面。 3.6.3 设计结构及算法分析 在进行程序设计时,选择一种合理的数据存储结构是非常关键的。本实例根据题目要求,采用结构体来存放通讯录中的信息,并采用文件存储通讯录中的信息。 1、存储结构 本实例存储数据时,除了采用最常用的基本类型存储外,采用结构体的方式来存储通讯录中的个人信息,结构体如下所

示: struct stu { char name[20]; /*人名*/ char telephone[20]; /*电话*/ char sex[4]; /*性别*/ char company[20]; /*单位*/ struct stu *next; /*链表节点*/ }; typedef struct stu STU; 2、main()主函数 采用模块化设计,功能放在各模块函数中实现。主函数是程序的入口,在其中采用循环结构,根据用户的键盘输入,依次调用各功能函数。 3、mycreate()函数------创建链表函数 函数根据用户输入的信息,存储到结构体中,并建立链表结构,函数返回链表的头指针。链表建立完成后,可根据链表的头指针来添加后续指针。 4、myadd()函数------添加学生信息记录函数 函数根据用户输入信息,分配内存,将数据存储到结构体中,并建立新的链表节点,链接到已经建立好的链表尾部。 5、mydelete()函数------删除链表节点

个人通讯录管理(c语言课程设计)

安徽工业大学 《C语言课程设计》实习综合报告课题名称:个人通讯录管理系统 实习成员:王刚 学号: 109074372 专业班级: 网络工程103班 指导教师: 郑啸老师

目录 一.问题描述 (2) 二. 各功能流程图与设计思路 (3) 2.1显示模块 (3) 2.2查找模块……………………………………………4.. 2.3添加模块 (6) 2.4删除模块 (8) 2.5修改模块 (9) 三、文件的读取与保存 (11) 四、程序源代码 (12) 五、调试与运行结果 (18) 六、计算机学院课程设计评定意见 (24) 一.问题描述

设计通讯录包含以下功能: (1)通讯录的每一条信息包括姓名、单位、固定电话、移动手 机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ 等。 (2)输入功能:可以一次完成若干条信息的输入。 (3)显示功能:完成全部通讯录信息的显示。 (4)查找功能:可以按姓名等多种方式查找通讯信息。 (5)增加、删除、修改功能:完成通讯录信息的多种更新。 二.各功能流程图与设计思路 Menu菜单:

运用switch()进行操作: case'1': 显示功能,list()函数 说明:利用for循环,逐个输出已保存的内容 代码如下: //*****************显示通讯录中的内容************* void list() { printf("编号姓名电话 \t手机 \t工作单位\tEMAIL \t\tQQ\n"); for(i=0;i

java通讯录课程设计报告

JIANGXI AGRICULTURAL UNIVERSITY JA V A课程设计报告 题目:通讯录系统 二0一二年十二月 摘要 随着Internet速度的提高和使用的普及,网络上各式各样的应用层出不穷,通讯录系统就是其中的一种。在现实生活中,我们管理通讯录有多种方式,为了进一步提高管理通讯录的效率以及及时更新通讯录,特开发通讯录系统来方便用户使用和管理通讯录。 本系统采用Ecilpse编写程序,具有良好的程序结构和人机交互界面,通用性强。本文将从开发技术、需求分析、系统设计、编码实现和设计总结这几个方面,详细介绍

通讯录系统的设计和实现过程。 关键词:通讯录系统;JA V A;Eclipse;需求分析。

目录 1 绪论 (2) 1.1 概述 (2) 2 开发技术与工具选择 (2) 2.1 Eclipse介绍 (2) 2.1.1 Eclipse的基本概念 (2) 2.1.2 Eclipse 插件开发环境 (2) 2.1.3 Eclipse的主要组成 (2) 3 需求分析 (3) 3.1 概要说明 (3) 3.2 产品描述 (3) 3.3 系统功能列表 (3) 3.4 系统功能说明 (3) 3.4.1 <添加模块> (3) 3.4.2 <查询模块> (3) 3.4.3 <修改模块> (4) 3.4.4 <删除模块> (4) 3.5系统质量需求 (4) 4 系统设计 (4) 4.1说明 (4) 4.2总体设计结构图 (4) 4.3 总用例图 (5) 4.4 流程图 (5) 5 编码与实现 (8) 5.1包结构图 (8) 5.2主界面 (9) 5.3组操作的页面 (9) 5.4 好友操作界面 (10) 6 项目设计总结 (11) 6.1系统概述 (11) 6.2关键问题的分析和解决 (11) 6.3 系统展望 (11) 6.4 自身收获 (11) 致谢 (12) 参考文献 (13)

个人通讯录管理系统C语言源程序优秀版

个人通讯录管理系统C语言源程序优秀版 Last revision date: 13 December 2020.

#i n c l u d e/*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件 #include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/ void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/

班级通讯录管理系统课程设计分析报告

高级语言程序设计(1)课程设计 专业班级学号 姓名完成日期指导教师: 1.程序设计说明书 【设计题目】班级通讯录管理系统 【问题描述】 信息1002班上学生的通讯基本信息包含姓名、电话号码、QQ号和宿舍号。对信息1002班学生的基本通讯信息进行统一整理,并可以按电话号码或姓名等查到学生个人基本通讯信息。可以显示所有的通讯记录,并对现有的通讯记录进行修改和增删等处理。 【基本要求】 1.通过此软件可以直接录入各个学生的基本通讯信息,并且会将所有信息自动保存到磁盘 上。 2.通过此软件可以直接对已录入的各个学生的通讯基本信息进行修改,并且修改完成后会将 更改后的信息情况自动保存到原磁盘文件中。 3.通过此软件可以直接对信息1002班每个同学的基本信息情况进行查询。 【算法思想】 1.根据要求,通讯录数据以文本文件存放在文件中: 2.需要提供文件的输入输出的等操作: 3.还需要保存记录已进行修改,删除,查找的操作: 4.另外还需提供键盘式选择菜单实现功能的选择。 【总体设计】 图1系统功能模块图 【详细设计】 主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】

图2.主函数流程图 Voidmenu()/*主界面*/ { intn,w1; voidenter();voidadd();voidmodify();voidbrowse();voiddelete();voidsearch(); do { puts("\t*******菜单**************\t\n\n"); puts("\t\t\t\t1.新建联系人"); puts("\t\t\t\t2.添加联系人"); puts("\t\t\t\t3.修改"); puts("\t\t\t\t4.删除"); puts("\t\t\t\t5.浏览"); puts("\t\t\t\t6.查找"); puts("\t\t\t\t7.退出"); puts("\n\n\t*****信息1002班通讯录*************\t\n"); printf("请选择服务种类(1-7):[]\b\b"); scanf("%d",&n); if(n<1||n>7) {w1=1;getchar();} elsew1=0; }while(w1==1); switch(n) { case1:enter();break;/*输入模块*/ case2:add();break;/*添加模块*/ 【模块流程图】 main函数

通讯录课程设计报告

大学 课程设计说明书 课程名称管理信息系统题目通讯录管理系统 学院 班级

学生姓名 指导教师 日期 目录 1.需求分析 (3) 2.系统分析 (4) 2.1.系统的可行性研究 (4) 2.2.功能需求分析 (4) 3.系统设计 (5) 3.1.系统模块设计 (5) 3.2.数据库设计 (5) 4.系统实施 (7) 4.1.开发环境 (7) 4.2.建立数据库 (7) 4.2.1.数据库创建代码 (7) 4.2.2.数据库表创建代码 (8) 4.3.程序设计 (10) 4.3.1.主程序的设计 (10) 4.3.2.登录界面的设计 (12) 4.4.系统测试 (19) 5.课程设计总结 (25)

6.参考文献 (26) 1.需求分析 随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须

经常与亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发通讯录管理系统。 通讯录管理系统是一个基于SQL数据库储存和JAVA界面模式的个人通讯录管理系统。它是将自己的联系人的具体信息集中管理,成为一个方便人们使用的小软件。在开发过程中主要运用Java, SQL Server技术,由于开发工具和数据库之间的良好使用,可以为开发带来方便,使之成为一个可施行的系统。从而达到开发的目的-----实现对通讯录信息的管理。 通过采用相关技术,以及老师的辅导和同学们的帮助,将系统设计的功能全部实现。功能包括:用户的登录, 添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯的联系人,并且可以根据数据表的各字段来查询你所要找的联系人等功能。 2.系统分析 2.1. 系统的可行性研究 目的:可行性研究的目的是用最小的代价在尽可能少的时间内确定问题是否能够解决。而该系统正式用比较简单的VFP语言来编写的小型的、实用的通讯录信息管理系统,既能很好地完成对用户信息的管理,又比较经济实惠。本系统采用的是VFP语言,在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上也有很丰富的相关资料,通过参考一些功能模块程序的设计,实现该系统是完全可以的。 本系统的设计是在windows XP中文版环境下,使用Visual开发的。它是可以运行于windows XP相关平台的数据库开发系统。Visual不仅可以简化数据库管理,而且应用程序的开发流程更为合理,它使组织数据,定义数据库规则和建立应用程序的工作变得简单易行,利用可视化的设计工具和向导,用户可以快速的创建表单、查询等。 2.2. 功能需求分析 本系统主要实现对通讯录信息进行管理,需要实现以下几个方面的管理功能: (1)通讯录管理信息:信息的添加、删除、浏览、修改和查询等操作。 (2)系统维护:包括用户登录,用户修改密码,数据的修改、浏览、添加、删除以及按姓名、联系方式、地址进行查询。

C++-通讯录课程设计报告

C++面向对象程序设计 课程设计报告 》 设计题目:通讯录系统 学生学号: P P 学生姓名: 王元波次仁多布杰 专业班级:2009级计算机科学与技术(3)班学生成绩: 指导教师:蔡正琦 ] 计算机科学与信息工程学院 2010-6-26

一、设计任务分析 实现以下功能: · 1) 通讯录编辑(添加、删除); 2) 按不同的项进行查找; 3) 对已存在的通讯录按不同的项排序; 4) 将通讯录写入文件; 5) 从文件读入通讯录。 二、模块设计 本次程序设计主要设计了六个模块(主要是:(),(),(),(),(),(),())()函数用于通讯录中的信息进行添加,主要流程如下: — ()函数用于通讯录中的信息进行删除,主要流程如下:

()函数用于通讯录中的信息进行修改,主要流程如下: ()函数用于通讯录中的信息进行查找,主要流程如下:

~ ()函数用于通讯录中的信息进行排序,主要流程如下: ()函数用于从文本文件中读取信息,主要流程如下:

()函数用于将信息写入文本文件,主要流程如下:

三、… 四、主要数据结构 结构数组: struct student o<

个人通讯录管理系统课程设计报告示例

个人股权转让协议书 转让方: 受让方: ____________________________________ 公司(以下简称合营公司),于______年____月_____日成立,由甲方与________________合资经营,注册资金为_____币_________万元,投资总额_______币_________万元,实际已投资_____币________万元。甲方愿将其占合营公司____ %的股权转让给乙方;经公司董事会通过,并征得他方股东的同意,现甲乙双方协商,就转让股权一事,达成协议如下: 一、股权转让的价格、期限及方式 1、甲方占有公司____%的股权,根据原合营公司合同书规定,甲方应投资____币______万元。现甲方将其占公司____%的股权以____币______万元转让给乙方。 2、乙方应于本协议生效之日起____天内按第一条第一款规定的货币和金额以银行转帐方式分____次付清给甲方。 二、甲方保证对其拟转让给乙方的股权拥有完全、有效的处分权,保证该股权没有质押,并免遭第三人追索,否则应由甲方承担由此引起的一切经济和法律责任。 三、有关公司盈亏(含债权债务)的分担(任选一款)。 1、本协议生效后,乙方按股份比例分享利润和分担风险及亏损(含转让前该股份应享有和分担公司的债权债务)。

2、股权转让前,聘请在中国注册的会计师(或其他方式)对公司进行审计,乙方按双方认可的审计报告表的范围承担甲方应分担的风险、亏损和享有权益。股权转让生效后,若发现属转让前,审计报告表以外的合营公司的债务,由乙方按股权比例代为承担,但应由甲方负责偿还。股权转让生效后,乙方取得股东地位,并按股份比例享有其股东权利和承担义务。 3、股权转让前,聘请在中国注册的会计师(或公司董事会组织)对公司进行审计,甲方按审计报告表的范围承担应分担的风险、亏损和享有权益,甲方应分担的债权债务,应在其股权款中扣除。本协议生效后,尚未清结的以及审计报告以外属甲方应分担的债权债务,均由乙方按股权比例享有和承担(或由乙方先行承担,然后由乙方向甲方追偿)。 四、违约责任 如乙方不能按期支付股权价款,每逾期一天,应支付逾期部分总价款千分之______的逾期违约金。如因违约给甲方造成经济损失,违约金不能补偿的部分,还应支付赔偿金。 五、纠纷的解决(任选一款) 凡因履行本协议所发生的争议,甲乙双方应友好协商解决如协商不成: 1、向_______人民法院起诉; 2、提请仲裁委员会仲裁; 六、有关费用负担

数据结构课程设计报告通讯录.doc

数据结构课程设计报告 专业:计算机科学与技术 年级: 课题名称:通讯录 小组成员1: 小组成员2: 小组成员3: 信息技术学院专业教研室一 一、问题描述

设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,结合C语言基本知识。编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。 设计内容:本系统应完成一下几方面的功能: 1) 输入信息——enter(); 2) 显示信息———display( ); 3) 查找以姓名作为关键字———search( ); 4) 删除信息———delete( ); 5) 存盘———save ( ); 6) 装入———load( ) ; 设计要求: 1) 每条信息至包含:姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项 2) 作为一个完整的系统,应具有友好的界面和较强的容错能力 3) 上机能正常运行,并写出课程设计报告 二、需求分析 A,添加: 系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名(name),街道(street),城市(city),邮编(eip),国家(state). B,删除: 首先由用户输入要删除的人员的姓名,然后调用删除函数,删除该人员的所有相关资料. C,显示所有人员信息: 该功能将显示已经保存的所有人员的姓名,街道,城市,邮编及国家. D,查询: 可由用户输入要查找的人员姓名,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息. E,退出系统 关闭通讯录管理系统. 三、概要设计 六个函数的实现: void enter(); 新添纪录

通讯录管理系统

测试与光电工程学院 课程设计任务书 测控技术与仪器系 100814 班学号 100814415 姓名邓志扬 课题名称:通讯录管理系统的设计 课题要求: 使用C语言设计一个班级通讯录,通迅录数据信息构成内容可自行设计(如:姓名、邮政编码、电话号码等等),通信录数据类型定义为结构体类型或用数组实现。要求实现存取、显示、删除记录、查询记录等功能。 (1)查看功能,选择此功能是列出下列三类选择 A、办公类 B、个人类 C、商务类当选中某类时,显示出此类中所有数据中的姓名和电话号码 (2)增加功能能录入新数据(一个节点包括姓名,电话号码,分类(可选项有:A、办公类,B、个人类,C、商务类)、电子邮件) 例如:杨春商务类 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入,当通讯录中超过15条信息时,存储空间已满,不能自录入新数据了。 (3)拨号功能能显示出通讯录中所有人的姓名,当选中某个人的姓名时,屏幕中模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声音 (4)修改功能选中某个人的姓名时,可对此人的数据进行相应修改 (5)删除功能选中某个人的姓名时可对此人的相应数据进行删除并自动调整后续条目的编号 课题进程: 1)回顾C语言设计及数据结构设计的相关知识。2周 2)设计基本架构。4周 3)调试、完善、撰写报告。3周 主要参考资料: [1] 谭浩强主编. C语言程序设计(第二版).清华大学出版社, 2005. [2] 谭浩强.C程序设计题解与上机指导(第三版)[M]北京:清华大学出版社,2005年7月 指导教师:付跃文

目录 一、设计目的 (4) 二、设计要求与功能描述 (4) 1.设计要求 (4) 2.功能描述 (5) 三、系统分析与设计 (6) 1、功能模块的设计分析 (6) 2、数据结构设计分析 (9) 3、函数功能描述 (9) 四、系统调试与运行 (11) 五、总结 (18) 六、源程序清单: (19)

C语言通讯录系统课程设计报告

通讯录系统的设计与实现桂林电子科技大学电信三班傅得耕 3.1系统的需求分析 通讯录系统作为一个应用软件将为人民提供一个可以串联人与人之间的信息的一个平台。根据系统界面的提示信息对通讯录进行查询、初始化等操作。 系统功能需求分析描述如下: (1)创建联系人。 (2)显示所有联系人:显示可以进行的操作。 (3)删除联系人。 (4)查询:根据姓名进行查询,并可显示所有关于该人的信息。 (5) :退出。 3.2系统的设计 3.2.1 系统的总体设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现通讯录系统信息的创建联系人、删除、查找等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解联系人的情况。 (2)系统模块结构图 根据需求分析结果,通讯录系统可以分为五大模块:创建联系人模块、显示功能模块、查找联系人功能模块、删除联系人模

块以及退出模块。 ㈡查询人物信息 进入此菜单功能模块,输入您要查询的图书的名字。 图书查询模块流程如图: 3.3 创建

删除系统 3.4 源代码 #include #include #include #define LEN sizeof(struct people) struct people { char name[10]; char address[50]; char postcode[7]; char phonenum[12]; struct people * next; }; int n = 0, c; static struct people * head; void insert(); void show();

相关主题