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

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

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

集团标准化小组:[VVOPPT-JOPP28-JPPTL98-LOPPNN]

《高级语言程序设计》

——基于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环境下的实现过程:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息

由:联系人的姓名、班级、性别、电话号码,加深对c++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。用c++语言编程一个通讯录管理系统软件,要求能实现通讯录管理系统中的增加信息,删除信息,显示通讯里的所有信息,按名字查询信息,保存通讯录,退出系统。

1.1设计内容

通讯录管理系统设计内容:

输入功能:记录信息并保存文件中。

显示功能:输出文件中所有信息。

查找功能:查询所需通讯信息。

删除功能:删除无用信息。

1.2设计任务及具体要求

1.设计任务:自学C语言中相关知识,设计出通讯录管理系统。

2.设计要求:

建立通讯录信息,信息包含姓名、性别、班级、电话,保存在文件中;

能够输出文件中所有通讯录信息。

能够提供按姓名、班级或性别查询信息;

能够提供按姓名删除通讯录信息的功能;

时间安排:

九月:选择自己所要设计的程序,查阅书籍、网上查询,收集所需资料解决疑惑。

十月:开始编写程序,不断分析。

十一月:代码实现,程序能够运行。

十二月:写报告,完成课程设计。

1.3系统环境

VC++6.0

2.总体设计

2.1系统功能简介

该通讯录管理系统分为以下四个功能:

1.输入功能:可以添加通讯录记录,选择添加人数,依次输入姓名、班级、性别、电话号码后,提示信息保存成功,按任意键会返回主菜单。

2.显示功能:可以输出所有通讯录里的记录。

3.查找功能:可以选择姓名、班级、性别三种方式查询信息。所输入信息不存在时,提示该信息不存在,返回主菜单。

4.删除功能:在显示的所有通讯录信息里,输入要删除通讯录信息的姓名,即删除成功。

5.退出:结束运行,退出程序。

2.2总体程序框图

该通讯录系统共有四个功能模块。打开程序之后,先进入主菜单,根据需求选择功能,分别有输入、显示、查找、删除。输入功能可以添加通讯录记录,选择添加人数,依次输入姓名、班级、性别、电话号码。显示功能可以输出所有通讯录里的记录。查找功能可以选择姓名、班级、性别三种方式查询信息。删除功能可以删除无用的信息。

图2-1 总流程图

2.3各个模块之间的主要关系

该系统用下面四个功能模块编写,每个模块执行不同的功能,体现了模块化设计的思想。下面四个模块都是利用C语言文件,向文件中追加数据、读取、查询数据和删除数据。

输入:用fopen()建立一个文本文件,然后用fwrite()向其中输入数据,再用fclose()函数关闭并保存文件。

显示:通过循环依次输出文件中的数据,即输出所有通讯录里的信息。

查找:为了满足用户的实际需求,设计了三种查询方式,可以用姓名、性别、班级三种方式查找通讯录记录。这里用到strcmp()函数,通过比较字符串是否相同来判别是否找到相关信息,找到后,就把文件中的数据赋给对应的变量,再把变量所带的值输出到屏幕上。

删除:输入你要删除的人的姓名后,系统会自动删除文件中的记录。

3.详细设计

3.1各个模块的程序流程图及运行界面

1.输入模块

在主菜单选择1,进入输入界面,按显示输入记录人数和信息,信息有姓名、班级、性别、电话号码,数据可以自动从内存保存到文件中。如图 3.1-2。显示信息保存成功后,输入任意键返回主菜单。

图3-1 输入流程图

图3-2 输入运行界面

2.显示模块

用户进入显示功能,显示功能利用循环显示文件中所有信息,所有信息显示成功后,会提示所有信息显示成功,若文件中没有信息,显示信息不存在,输入任意键可以返回主菜单。如图3-3。

图3-3 显示流程图

图3.1-4 显示运行界面

3.查找模块

进入查找界面,选择要查找信息的方式,有姓名、班级、姓名。输入条件,用strcmp()函数通过比较字符串是否相同来判别是否找到相关信息,找到则显示此所有信息,未找到显示“该信息不存在”。如下图3-5。输入任意键可以返回主菜单。

图3-5 查找流程图

根据班级查找信息:

图3-6

根据性别查找信息:

图3-7

根据姓名查找信息:

图3-8

4.删除模块

在主菜单选择4,进入删除功能,根据自动显示的文件中的所有信息,输入要删除信息的姓名,就可以在文件中永久删除此信息,若删除成功显示删除信息成功。如下图3-9。

图3-9 删除流程图

图3-10 删除运行界面

3.2关键代码分析说明

1.结构体的创建:

结构体(structure)是一个或多个相同数据类型或不同数据类型的变量集合在一个名字下的用户自定义说明。为了增强程序的可读性,使程序更简洁,c程序员经常用typedef为结构体类型定义一个更简单、直观、有意义和可读性更好的别名。

typedef struct address

{

char name[20];/* 姓名 */

char clas[20];/*班级 */

char sex[10];/* 性别 */

char tel[20]; /* 电话号码 */

}ADDRESS;/*结构体*/

ADDRESS adr[N],temp[N];

起初我创建结构体是typedef struct address{}ADDRESS adr[N];这是错误的,没有真正明白结构体的知识。通过我上网查询,除了上边的一种方法,还可以struct address{};typedef struct address ADDRESS;ADDRESS adr[N];typedef是把结构名重命,换成一个简单的。

2.文件

打开文件

if((fp=fopen("f:\\通讯录.txt","r"))==NULL)

{

printf("打开文件失败!请按任意键返回主菜单!\n");

scanf("%s",&q);

system("cls");

main();

}

读取文件

while(!feof(fp))

{

fread(&temp[m],sizeof(ADDRESS),1,fp);

m++;

}

关闭文件

fclose(fp);

这是一个重要的知识点,也是我最弱的一点,我通过询问我的指导老师学会并掌握。我们要把信息从内存保存到文件中,再从文件中把信息读取到内存,只有在内存中才可以修改信息。

fp=fopen("f:\\通讯录.txt","a");文件名字和文件地点可以自己设置。a是添加的意思,不清除文件中本有的信息,w则是重写文件中的信息。

3.3程序使用说明

随着网络与信息技术的发展,人们的联系人越来越多,需要联系的人逐渐增多,需要记录的

信息也逐渐增多。以前是将这些信息手写到通讯录中,这很容易造成信息的丢失,而且查找起来

很不方便。

本系统主要实现同学信息的管理,包括同学信息的添加、查询和删除,及一些辅助功能。

4.总结

通讯录管理系统能够较好的管理我们的通讯录记录。

在编写过程中,我逐步了解到程序模块化设计的思想含义。模块化思维就是编程任何一个功能模块或者函数的时候,要多想一些,不要局限于完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大地避免重复性的工作。

另外,我们要重视程序中的算法,算法是程序的灵魂,我们要学习先进的算法,来提高自己的编程能力。

在整个程序的设计中,语法的错误还是比较容易检查出来,但是对于那些逻辑思维问题方面的缺陷不易查出,因此常常出现系统提示没有错误但是仍然不能够正常运行的境

况,尽管有很多不足之处,但我在整个系统程序设计的过程中,我可以感受到自己对C语言有了一定的掌握,对整体的把握度也提高了很多。

通过这次课程设计,我对c语言有了更深的了解,增强了程序的编写能力,提高了专业知识,对程序的模块化观念也更加清晰。在程序的运作和调试过程中,出现了很多错误,通过请教指导老师和自己反复的复习课本知识以及参考课外书籍,不停地修改和调试,我终于完成了这个程序。

致谢

历时将近三个月的时间终于将通讯录课程设计完成,从课题的选择到最终完成,孟芸老师始终都给予了我细心的指导和不懈的支持。在编写程序的过程中遇到了无数的困难和障碍,都在老师和同学的帮助下解决了。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。也要感谢这篇报告所涉及到的各位学者,本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成此次课程设计。

尤其要强烈感谢我的指导老师——孟芸老师,她作为一名优秀的、经验丰富的教师,具有丰富的专业知识和实践经验,她对我进行了无私的指导和帮助,不厌其烦的帮助我进行程序的修改和改进,并对我提出严格要求,引导我不断开阔思路,使我增长了知识,锻炼了心态,培养了良好的习惯。

在此向帮助和指导我的孟芸老师表示最衷心的感谢!

参考文献

[1] 郭翠英.c语言课程设计案例精编.北京市三里河路6号.中国水利水电出版社

[2]苏小红,孙志刚.c语言大学实用教程学习指导(第三版).北京市海淀区万寿路173信箱.电子工业出版社

[3] 明日科技.c语言项目案例分析.北京清华大学学研大厦A座.清华大学出版社

[4]苏小红,孙志刚.c语言大学使用教程(第三版).北京市海淀区万寿路173信箱.电子工业出版社

附录

源程序

1.头文件

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

#define N 100

int i,j;/* 定义全局变量 */

typedef struct address

{

char name[20];/* 姓名 */

char clas[20];/*班级 */

char sex[10];/* 性别 */

char tel[20]; /* 电话号码 */

}ADDRESS;/*结构体*/

ADDRESS adr[N],temp[N];

/* 函数声明 */

int main();

void enter();/*输入模块*/

void search();/*查找模块*/

void del();/*删除模块*/

void display();/*显示模块*/

void xingming();

void banji();

void xingbie();

2.主菜单

#include "xu.h"

int main()

{

int n;

system("cls");

printf("\n\t\t\t\t 通讯录主菜单\n\n\n");

printf("\n\t\t\t\t 1.输入信息\n");

printf("\n\t\t\t\t 2.显示信息\n");

printf("\n\t\t\t\t 3.查找信息\n");

printf("\n\t\t\t\t 4.删除信息\n");

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

printf("\n\t\t请选择执行编号:");

scanf("%d",&n);

switch(n)

{

case 1:enter();break;

case 2:display();break;

case 3:search();break;

case 4:del();break;

case 0:exit(0);

}

}

3.输入界面

/*函数功能:输入信息

函数参数:字符变量q表示代数

函数返回值:无*/

#include "xu.h"

void enter()

{

char q;

FILE *fp;

system("cls");

printf("输入记录人数:");

scanf("%d",&j);

printf("\n\n输入记录信息\n");

printf("name\t\tclas\t\tsex\t\ttel\n\n");

for(i=0;i

{

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

scanf("%s %s %s %s",&adr[i].name,&adr[i].clas,&adr[i].sex,&adr[i]. tel);

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

}

fp=fopen("f:\\通讯录.txt","a");

for(i=0;i

{

fwrite(&adr[i],sizeof(ADDRESS),1,fp);

}

fclose(fp);

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

printf("请输入任意键返回:");

scanf("%s",&q);

system("cls");

main();

}

4.显示界面

/*函数功能:显示文件所有信息

函数参数:字符变量q表示代数

函数返回值:无*/

#include "xu.h"

void display()

{

FILE *fp;

char q;

int m=0;

system("cls");

if((fp=fopen("f:\\通讯录.txt","r"))==NULL)

{

printf("打开文件失败!请按任意键返回主菜单!\n");

scanf("%s",&q);

system("cls");

main();

}

while(!feof(fp))

{

fread(&temp[m],sizeof(ADDRESS),1,fp);

m++;

}

fclose(fp);

for(i=0;i

printf("%s %s %s %s\n\n",temp[i].name,temp[i].clas,temp[i].sex,tem p[i].tel);

printf("所有信息显示成功!\n\n\n");

printf("请输入任意键返回主菜单进行其他操作:");

scanf("%s",&q);

system("cls");

main();

}

5.查找界面

/*函数功能:查找信息

函数参数:常量m表示次数,字符变量q表示代数

函数返回值:无*/

#include "xu.h"

void search()

{

char s[20];

char q;

FILE *fp;

int flag=0,m=0,z;

system("cls");

printf("\t\t\t1.按姓名查找\n\n\t\t\t2.按班级查找\n\n\t\t\t3.按性别查找\n\n");

printf("\t\t\t请选择查找方式\t\t");

scanf("%d",&z);

switch(z)

{

case 1:xingming();break;

case 2:banji();break;

case 3:xingbie();break;

}

}

void xingming()

{

char s[20];

char q;

FILE *fp;

int flag=0,m=0,z;

system("cls");

if((fp=fopen("f:\\通讯录.txt","r"))==NULL)

{

printf("打开文件失败!请按任意键返回主菜单!\n");

scanf("%s",&q);

system("cls");

main();

}

while(!feof(fp))

{

fread(&temp[m],sizeof(ADDRESS),1,fp);

m++;

}

fclose(fp);

printf("请输入查找信息的姓名:");

scanf("%s",s);

for(i=0;i

{

if(strcmp(temp[i].name,s)==0)

{

flag=1;

printf("name\t\tclas\t\tsex\t\ttel\n\n");

printf("%s\t\t%s\t\t%s\t\t%s\n\n\n",temp[i].name,temp[i].clas,temp[i].se x,temp[i].tel);

}

}

if(flag==0)

printf("该姓名不存在!\n\n");

printf("请输入任意键返回:");

scanf("%s",&q);

main();

}

void banji()

{

char s[20];

char q;

FILE *fp;

int flag=0,m=0,z;

system("cls");

if((fp=fopen("f:\\通讯录.txt","r"))==NULL)

{

printf("打开文件失败!请按任意键返回主菜单!\n");

scanf("%s",&q);

system("cls");

main();

}

while(!feof(fp))

{

fread(&temp[m],sizeof(ADDRESS),1,fp);

m++;

}

fclose(fp);

printf("请输入查找信息的班级:");

scanf("%s",s);

for(i=0;i

{

if(strcmp(temp[i].clas,s)==0)

{

flag=1;

printf("name\t\tclas\t\tsex\t\ttel\n\n");

printf("%s\t\t%s\t\t%s\t\t%s\n\n\n",temp[i].name,temp[i].clas,temp[i].se x,temp[i].tel);

}

}

if(flag==0)

printf("该信息不存在!\n\n");

printf("请输入任意键返回:");

scanf("%s",&q);

main();

}

void xingbie()

{

char s[20];

char q;

FILE *fp;

int flag=0,m=0,z;

system("cls");

if((fp=fopen("f:\\通讯录.txt","r"))==NULL)

{

printf("打开文件失败!请按任意键返回主菜单!\n");

scanf("%s",&q);

system("cls");

main();

}

while(!feof(fp))

{

fread(&temp[m],sizeof(ADDRESS),1,fp);

m++;

}

fclose(fp);

printf("请输入查找信息的性别:");

scanf("%s",s);

for(i=0;i

{

if(strcmp(temp[i].sex,s)==0)/*比较字符串是否相等*/

{

flag=1;

printf("name\t\tclas\t\tsex\t\ttel\n\n");

printf("%s\t\t%s\t\t%s\t\t%s\n\n\n",temp[i].name,temp[i].clas,te mp[i].se x,temp[i].tel);

}

}

if(flag==0)

printf("该信息不存在!\n\n");

printf("请输入任意键返回:");

scanf("%s",&q);

main();

}

6.删除界面

/*函数功能:删除信息

函数参数:常量m表示次数,常量k表示循环,字符变量q表示代数

函数返回值:无*/

#include "xu.h"

void del()

{

int flag=0,k,m=0;

char s[20];

char q;

FILE *fp;

system("cls");

if((fp=fopen("f:\\通讯录.txt","r"))==NULL)

{

printf("打开文件失败!请按任意键返回主菜单!\n");

scanf("%s",&q);

system("cls");

main();

}

while(!feof(fp))

{

fread(&temp[m],sizeof(ADDRESS),1,fp);

m++;

}

fclose(fp);

for(i=0;i

printf("%s %s %s %s\n\n",temp[i].name,temp[i].clas,temp[i].sex,tem p[i].tel);

printf("请输入删除信息的姓名:");

scanf("%s",s);

for(i=0;i

{

if(strcmp(temp[i].name,s)==0)/*比较字符串是否相等*/

{

flag=1;

for(k=i;k

temp[k]=temp[k+1];

printf("删除信息成功\n\n");

}

m--;

}

fp=fopen("f:\\通讯录.txt","w");

for(i=0;i

{

fwrite(&temp[i],sizeof(ADDRESS),1,fp);

}

fclose(fp);

printf("请输入任意键返回:");

scanf("%s",&q);

main();}

C语言-通讯录管理系统

#include #include #include struct record{ charnum[12]; char name[10]; char birthday[10]; char post[10]; char phone[15]; }data[100]; intmenu_select( ); intcreate_record(); intadd_record(int flag); int flag=0; intfind_record(int flag); intdelete_record(int flag); voidpaixu_record(int flag); intsave_record(int flag); void main() { for( ; ; ){ switch(menu_select()) { case 1: printf(" ***********************************************\n"); printf(" ************** 通讯录的建立***************\n"); printf(" ***********************************************\n"); flag=create_record(); break; case 2: printf(" ***********************************************\n"); printf(" ************** 通讯录信息的添加*****************\n"); printf(" ***********************************************\n"); flag=add_record(flag); break; case 3: printf(" ******************************\n"); printf(" ******* 通讯录信息查询*******\n"); printf(" ******************************\n"); find_record(flag); break; case 4:

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

课程设计报告 通讯录管理系的设计与实现 姓名:钟婷英 班级:计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)用来选择通讯录的各种功能。

C语言程序设计课程设计-通讯录管理系统

通讯录信息管理系统设计计算机学院计算机科学与技术专业 1.课程设计的目的 学习了C语言程序设计这门课程之后,使我对程序设计有了一定的了解,为了熟练掌握C语言的语法特点、及其数据结构,提高自身编写程序的能力。通过课程设计实现理论知识与实际情况的结合,使所学知识能够在现实社会中起到一定的作用,防止所编写的程序脱离实际,让程序可以更好的发挥作用,以便减轻实际工作中所遇到的繁琐步骤,提高现实工作中的效率。此外通过课程设计提高逻辑思考能力和解决实际问题的能力。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。 通讯录信息管理系统是生活中不可缺少的部分编写了一个通讯录信息管理系统是十分必要的。 本程序设计具有通讯信息的录入,进行保存、查找、删除等功能,操作界面简洁美观,易于操作。程序用了条件、循环、指针、结构体等知识点,综合了文件的打开和保存编写的。软件运用菜单实现交互式管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足的需要。 通过对通讯录管理系统的设计,进一步理解和掌握C语言这门课程的知识点,能够熟练的调用各种函数,把各种C语句有机的结合起来,提高自己C语言程序设计的能力,为今后解决实际问题打下良好基础。

2.设计方案论证 2.1设计思路 建立一个函数,用来添加、显示、删除、查询、修改、保存通讯录等信息,完成通讯录的功能。主函数可以调用六个子函数,分别完成添加记录、显示记录、删除记录、查询记录、修改记录、保存记录、退出系统等功能。在主函数中可以以1、2、3、4、5、6数字键分别可以执行某个功能模块。 2.2程序设计 2.2.1根据图1定义数据类型建立函数 typedef struct { char Num; //编号 char Name[10]; //姓名 char Tel[15]; //电话号码 char Email[20]; //邮箱 char age[8]; //年龄 char adds[20]; //住址 }Person; 2.2.2主函数及其流程图 定义主函数main()和一系列的功能函数,只有通过这些函数才可实现程序

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

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

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

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

#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) /*只写方式判断*/

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

数据结构实验报告 实验名称:通讯录管理系统的设计与实现 试验时间: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 通讯录的全部信息如下: *****编号*****姓名*****性别*****电话*****地址*****

C语言通讯录管理系统程序代码

一、课程设计题目及要求 题目通讯录管理系统 任务:自学C语言中相关知识,设计出通讯录管理系统。要求如下所述: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子 邮箱等;; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供按姓名或电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 二、系统设计方案 (一)总体框架图: 通讯录管理系统:1、录入通讯录信息 2、修改通讯录信息 3、查询通讯录信息 4、浏览通讯录信息 5、增加通讯录信息 6、推出系通讯录统 (二)模块设计 模块一:头文件,变量定义,函数的声明 对系统所使用的变量进行定义,对函数进行声明 模块二:录入通讯录信息 声明函数void readfile(),说明一个文件指针FILE *fp 打开文件"student.txt" 模块三:通讯录信息的查找 声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支 模块四:通讯录信息的修改

声明void modify()为学生信息修改函数,通过switch(item)设定所要修改的项目模块五:通讯录信息按学号排序 声明void sort()将录入通讯录信息系按升序排列,用的是“冒泡排序法”实现排序模块六:加通讯录信息 声明void insert()插入通讯录信息,先通过判断通讯录是否存在,若否则继续输入,若是跳出,重新循环 模块七:通讯录信息 声明void del()实现通讯录信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。 模块八:示学生信息 通过display()函数输出通讯录信息 模块九;存信息 通过fp=fopen("student.txt","w");写入信息 模块十:界面菜单 通过switch(num)调用,以上各函数,实现功能 三、设计详情 1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】

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语言程序设计学生通讯录管理系统

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

#define null 0 struct record { char name[20]; char phone[20]; char adress[40]; char postcode[10]; char e_mail[30]; }student[500]; struct LinkList { struct record US; struct LinkList *next; }a; struct LinkList *head=null; int num=0; FILE *fp; int menu_select(); int adduser(); int list(); int search(); int display(); int add();

int listbyname(); int dele(); int save(); int exit(); void main() { system("cls"); for(;;) { switch(menu_select()) { case 0:adduser();break; case 1:list();break; case 2:search();break; case 3:add();break; case 4:dele();break; case 5:save();break; case 6:exit(0); } } } menu_select() {

char s[80]; int a; printf("*_* press any key enter menu! *_* \n"); getch(); system("cls"); printf("\t\t********************MENU*********************\n\n"); printf("\t\t 0. 输入记录\n"); printf("\t\t 1. 显示记录 \n"); printf("\t\t 2. 按姓名查找\n"); printf("\t\t 3. 插入记录 \n"); printf("\t\t 4. 删除记录\n"); printf("\t\t 5. 记录保存文件\n"); printf("\t\t 6. Quit\n"); printf("\t\t***********************************************\n"); do{ printf("\n Enter you choice(0~11):"); scanf("%s",s); a=atoi(s); } while (a<0||a>11); return a; } adduser()

c语言通讯录管理系统

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

目录 一、需求分析 (2) 二、概要设计 (2) 三、详细设计 (3) 四、上机操作 (14) 五、实习心得 (19) 六、源程序 (20)

一、需求分析 具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。 (1)数据包括:人名、工作单位、电话号码和E-MAIL地址。 (2)可对记录中的姓名和电话号码进行修改。 (3)可增加和删除记录。 (4)可显示所有的保存记录。 (5)可按人名或电话号码进行查询。 [提示] 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。 通讯录管理系统 修改退出 插入显示删除查询保存

三、详细设计 1、 主函数; 主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 流程图 N Y 【程序】 int main() //主函数 { Man man[500],*pman=man;; char control; int size; printf("\t\t**********************************************\n"); //窗口初始化 printf("\t\t********** 欢迎使用通讯录管理系统! ***********\n"); printf("\t\t*--------------------------------------------*\n"); printf("\t\t* 请按回车键继续! *\n"); printf("\t\t**********************************************\n"); 开始 显示一系列功能选项 输入n ,判断是否是0~6 根据n 的值调用各功能模块函数 结束

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

一、实践的目的和要求 加深对C语言课程所学知识的理解,进一步巩固C语言算法规则.学会编制结构清晰.风格良好.数据结构适当的C程序,从而具备解决综合性问题的能力. 二、内容 在熟练掌握C语言的基础知识:数据类型(整型.实型.字符型.指针.数组.结构等); 运算类型(算术运算.逻辑运算.自增自减运算.赋值运算等);程序结构(顺序结构.判断选择结构.循环结构);大程序的功能分解方法(即函数的使用)等.进一步掌握各种函数的应用以及文件的读写操作等. 三、实验任务:通讯录 设计要求:实现菜单设计,使用数据文件保存和修改,应用结构体和指针 功能要求:通讯录信息生成,存储,查询,修改,插入,删除,打印等. 四、设计思路 1.通讯录的主要信息包括:编号,姓名,性别,联系电话.住址,邮编. 2.用结构体数组来存储信息,有Data_Input函数来实现信息的录入,用Data_Show函 数来显示打印信息,用Data_Sreach函数来查找信息,用Data_Insert函数来插入信 息,用Data_Alter 函数来修改信息,用Data_Delete函数来删除信息,用Data_Save 函数来保存信息,用Exit函数来退出通讯录. 3.小组分工,每个人分配几个函数,按情况进行分配任务. 五、程序代码 #include/*字符函数和字符串函数*/ #include/*字符模式函数(调用getch()函数)*/ #include/*输入输出函数*/ int i; struct friend/*电子通讯录结构定义*/ { char num[5]; /*编号*/ char name[11]; /*名字*/ char sex[2]; /*性别*/ char phone[12]; /*电话*/ char address[26]; /*地址*/ char post_num[11]; /*邮编*/ }friends[50]; FILE *fp; void Data_load() /*数据载入函数*/ {int j; fp=fopen("friend.txt","r+"); /*打开文件friend.txt*/

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

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

目录 第一章绪论 (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开发的意义 计算机已经成为我们学习和工作的得力助手,使用其可方便的管理通讯录 今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域。 现在我国的通讯录管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。 我作为一个计算机应用专业的毕业生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我所学的知识编制出一个实用的程序来帮助用户进行财务管理。 开发这一系统的好处大约有以下几点: 第一、可以存储大量的通讯录信息,安全、高效;

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

c语言课程设计学生通讯录管理系统精编版

c语言课程设计学生通讯录管理系统 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

题目:学生通讯录管理系统任务说明:主要利用c语言的文件操作能力设计开发一个小型的通讯录管理系统,至少具有如下功能:①记录通讯录内的人员的学号、姓名、地址、电话号码。 ②显示所有人员的信息。 ③通过输入姓名查找人员信息。 ④通过输入姓名查找到要删除的人员信息,然后可以进行删除。 ⑤通过输入姓名查找到要修改的人员信息,然后可以进行修改。 ⑥添加人员信息。 系统功能描述: 本程序的功能是为用户提供简单的通讯录进行管理,通过该程序存储联系人信息,提供关键字(只能是英文关键字进行查找)查找功能,可以对数据进行修改、删除、添加等操作。 各按钮的功能如下: 查找记录:以姓名为关键字,查找并显示该记录。若查找不到,则显示“好象没有”; 添加记录:将当前记录按姓名序加入通讯录,然后显示第一条记录; 修改记录:修改当前记录,显示当前记录。姓名为关键字,不允许修改; 删除记录:删除当前记录,然后显示第一条记录; 第一条记录:将当前记录指针移动至首节点,若已为首节点,则不移动; 前一条记录:将当前记录指针向前移动一个节点,若已为首节点,则不移动;

后一条记录:将当前记录指针向后移动一个节点,若已为尾节点,则不移动; 最后一条记录:将当前记录指针移动至尾节点,若已为尾节点,则不移动; 加载:从文件中掉入已保存的通讯录数据; 保存:保存通讯录数据; 退出:退出系统; 设计思路: 根据要求,电话录数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。 图1 系统功能模块图 软件中使用的结构体和结构体数组,如: struct callmember { char name[20]; char address[20]; char code[20]; char callnumber[20];

通讯录管理系统(C语言)

说明 1、设计的目的 1)复习巩固C语言的基础知识,进一步加深对C语言编程的理解和掌握;2)利用所学知识,理论和实际结合,利用资源,采用模块化的结构,使用模仿修改自主设计相结合的方法,锻炼学生综合分析解决实际问题的编程能力;3)培养学生在项目开发中团队合作精神、创新意识及实战能力。 2、设计的任务 根据学生的实际情况,进行分组选题。主要的课程设计题目如下(学生也可自主选题): 1、图书管理系统 2、学生信息管理系统 3、学生成绩管理系统 4、学生通讯录管理系统 5、职工信息管理系统 6、设计简单的计算器 课程设计采用学生自主设计和指导老师辅导相结合的方式。 3、设计要求与设计报告 设计要求: 1、任选上述题目之一,或自选题目。 2、模块化的程序设计 3、锯齿形的程序书写格式。 4、必须通过编译连接运行 设计报告: 1、设计目的和任务 2、总体设计:包括程序设计组成框图、流程图。 3、详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用关系描述等。 4、调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。 5、源程序清单和执行结果:清单中应有足够的注释。

设计目的和任务 (主要介绍设计的任务,为什么要设计,设计要达到什么样的目的。) 设计目的:(1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 程序功能:(1).学生基本信息及成绩所选科目成绩的录入。 (2).基本信息的查询(分系、班级;分科目)与修改。 (3).对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率); (4).对所开课程的成绩分析(求其平均成绩,最高分和最低分); (5).对学生考试成绩进行排名; 目录 一、总体设计 (3) 二、详细设计 (4) 三、调试与测试 (5) 四、源程序清单和执行结果 (6) 五、建议和体会 (7) 六、参考文献 (8)

通讯录管理系统(C语言)—单链表

广州大学物理与电子工程学院 程序与设计训练 通讯录管理系统实验报告 专业班级:电子121 设计人员:元达鹏 学号:1219200065 2013年6月24日

通讯录管理系统 一.需求分析 设计题目及需求: (1)查看功能:选择此功能时,列出下列三类选择。A 办公类 B 个人类 C 商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码) (2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件。例如:杨春135******** 商务类chuny@https://www.360docs.net/doc/8e15384417.html, (3)当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 (4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 系统功能需求分析: 主要包含以下几种功能: 1.建立通讯录(建立功能) 2.删除通讯人(删除功能) 3.保存通讯录(保存功能) 4.读取通讯录文件(读取功能) 5.查找通讯人(查找功能) 6.添加通讯人(添加功能) 7.修改通讯人信息(修改功能)

8.退出通讯录系统 二.概要设计 系统功能模块图: 主菜单 建立删除保存读取查找添加修改退出 建立功能:在主菜单中输入1,进入建立功能。用户自己输入通讯录文件名,建立一个新的通讯录,便开始输入信息,一旦想结束添加,在输入姓名处输入“*”结束录入。(当录入相同的姓名和电话时,系统会告 诉你已经重复录入) 删除功能:在主菜单中输入2,进入删除功能。用户输入待删除人的姓名,系统会自动显示待删除人的信息,并且提示是否删除该通讯人。(当输 入的姓名不存在的时候,系统会告诉你此人不存在) 保存功能:在主菜单中输入3,进入保存功能。将你已经写好的通讯录保存在建立时创建的文件里面。(当保存成功后,系统会告诉你保存成功) 读取功能:在主菜单中输入4,进入读取功能。读取一个任意一个已经存在的文件,用户可以输入想要读取的文件,一旦文件读取成功,系统会告诉你文件读取成功。 查找功能:在主菜单中输入5,进入查找功能。查找方式有三种:1. 按姓名查

c语言课程设计学生通讯录管理系统(推荐文档)

题目:学生通讯录管理系统 任务说明: 主要利用c语言的文件操作能力设计开发一个小型的通讯录管理系统,至少具有如下功能: ①记录通讯录内的人员的学号、姓名、地址、电话号码。 ②显示所有人员的信息。 ③通过输入姓名查找人员信息。 ④通过输入姓名查找到要删除的人员信息,然后可以进行删除。 ⑤通过输入姓名查找到要修改的人员信息,然后可以进行修改。 ⑥添加人员信息。 系统功能描述: 本程序的功能是为用户提供简单的通讯录进行管理,通过该程序存储联系人信息,提供关键字(只能是英文关键字进行查找)查找功能,可以对数据进行修改、删除、添加等操作。 各按钮的功能如下: 查找记录:以姓名为关键字,查找并显示该记录。若查找不到,则显示“好象没有”; 添加记录:将当前记录按姓名序加入通讯录,然后显示第一条记录; 修改记录:修改当前记录,显示当前记录。姓名为关键字,

不允许修改; 删除记录:删除当前记录,然后显示第一条记录; 第一条记录:将当前记录指针移动至首节点,若已为首节点,则不移动; 前一条记录:将当前记录指针向前移动一个节点,若已为首节点,则不移动; 后一条记录:将当前记录指针向后移动一个节点,若已为尾节点,则不移动; 最后一条记录:将当前记录指针移动至尾节点,若已为尾节点,则不移动; 加载:从文件中掉入已保存的通讯录数据; 保存:保存通讯录数据; 退出:退出系统;

设计思路: 根据要求,电话录数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。 图1 系统功能模块图 软件中使用的结构体和结构体数组,如: struct callmember { char name[20]; char address[20]; char code[20]; char callnumber[20]; }; 对用户的信息进行保存,他们都以二进制的形式读写。 其中:

C语言同学通讯录程序设计

C 语言课程综合实验设计 设计题目:同学通讯录程序设计 学院: 计算机与信息科学学院、软件学院班级:2012级教育技术学 姓名:曾雪庆 学号:222012321092022 2013年6月14日

1.题目功能分析以及整体思路 1.1整体设计思路 建立一个函数,用来添加、显示、删除、查询、修改、保存,读取和统计通讯录等信息,完成通讯录的功能。主函数采用密码,保护了通讯录数据,可以调用8个子函数,分别完成添加记录、显示记录、删除记录、查询记录、修改记录、保存记录、读取记录、统计记录、退出系统等功能。在主函数中可以以1、2、3、4、5、6、7、8、0数字键分别可以执行某个功能模块。 1.2程序设计 1.2.1根据图1定义数据类型建立函数 typedef struct { long score; /*学号*/ char name[10]; /*姓名*/ char sex[8]; /*性别*/ char adds[20]; /*工作单位*/ char num[15]; /*电话号码*/ char email[20]; /*邮箱*/ }Person; Person pe[80]; 1.2.2主函数设置密码和调用函数 主函数通过for 循环和字符比较函数可以实现密码功能,登陆成功后可以调用menu 通讯录信息管理系统 添加记录 显示记录 删除记录 保存记录 查询记录 修改记录 退出程序 读取记录 统计记录

函数。我们定义的menu 函数主要是利用switch 语句对数据进行处理,流程图如下: 开 始 选择1 Y 添加记录 选择2 Y Y Y Y Y 保存记录 修改记录 查找记录 删除记录 显示记录 选择6 选择5 选择4 选择3 N N N N N N 结 束 选择8 选择7 读取记录 统计记录

相关文档
最新文档