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

时间:2024.4.21

重庆科技学院《个人通讯录管理系统》课程设计报告

重庆科技学院

课程设计报告

院(系):_电气与信息工程学院__ 班 级: 计科普1001 学生姓名: 刘静 学 号: 2010441674 设计地点(单位)____计算机自主学习中心 ___ ___

设计题目:___ 个人通讯录管理系统__ _____ _____ 完成日期: 20xx年 7月 7日

指导教师评语: _______________________________________ _______________________________________________________________________________________________________________________________________________________________

成绩(五级记分制):______ __________

教师签名:_________________________

1

重庆科技学院《个人通讯录管理系统》课程设计报告

摘要

本次课程设计的题目是个人通讯录管理系统,要求在磁盘中以二进制文件的形式存储人员的姓名、年龄、性别等基本信息,并运用程序将磁盘文件中的个人基本信息进行查询、修改和删除等。

我编写的程序从整体上看可分为五大部分,分别是“添加”、“查询”、“修改”、“删除”和“全部显示”。其中添加信息是将人员的基本信息输入并以二进制文件的形式保存在文件中,当添加完所要输入的个人通讯信息后继续选择其它功能;若要对文件中存储的个人通讯信息进行查询、修改和删除等时,则可按照程序提示分别进行。

关键词:通讯信息、添加、查询、修改、删除、全部显示。

2

重庆科技学院《个人通讯录管理系统》课程设计报告

课程设计任务书

设计题目:个人通讯录管理系统

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

教研室主任: 指导教师:伍建全/向毅/陈应祖/

李忠/陈刘奎

年 月 日

3

重庆科技学院《个人通讯录管理系统》课程设计报告

目录

摘要................................................................................................................................................... 2

课程设计任务书 ............................................................................................................................... 3

目录................................................................................................................................................... 4

第一章 软件需求分析说明书 ......................................................................................................... 5

1.1 信息的存储 ........................................................................................................................ 5

1.2 个人通讯信息 .................................................................................................................... 5

1.3 主函数 ................................................................................................................................ 5

1.4 信息添加 ............................................................................................................................ 5

1.5 信息查询 ............................................................................................................................ 6

1.6 信息删除 ............................................................................................................................ 6

1.7 信息修改 ............................................................................................................................ 6

1.8 信息显示 ............................................................................................................................ 6

第二章 系统分析及设计 ................................................................................................................. 7

2.1 软件界面设计 .................................................................................................................... 7

2.2 软件的数据(结构)统计 ................................................................................................ 7

2.3 软件的算法统计 .............................................................................................................. 10

2.3.1 软件的模块图 ............................................................................................................... 10

2.3.2 信息输入流程图 ........................................................................................................... 11

2.3.3 信息查询流程图 ........................................................................................................... 11

2.3.4 信息删除流程图 ........................................................................................................... 12

2.3.5 信息修改流程图 ........................................................................................................... 12

2.3.6 信息显示流程图 ........................................................................................................... 13

第三章 软件的实现 ....................................................................................................................... 14

3.1 文件输入 .......................................................................................................................... 14

3.2查询结果 .......................................................................................................................... 14

3.3 修改结果 ........................................................................................................................ 15

3.4 删除结果 .......................................................................................................................... 16

3.5 全部显示结果 .................................................................................................................. 17

第四章 软件的测试 ....................................................................................................................... 18

第五章 软件使用说明书 ............................................................................................................... 20

致谢................................................................................................................................................. 21

参考文献 ......................................................................................................................................... 22

附录................................................................................................................................................. 23

4

重庆科技学院《个人通讯录管理系统》课程设计报告

第一章 软件需求分析说明书

1.1 信息的存储

运行编写好的程序,通过提示,输入人员的姓名、性别、年龄和电话等信息,再根据提示反复输入,并以二进制文件形式保存。

1.2 个人通讯信息

需定义一个结构体类型,用来表示学生的各种信息,如下。

typedef struct Man{

char Name[12];

char Sex[4];

char Old[4];

char Mobil[12];

char Tel[12];

char Address[16];

char QQ[12];

char Email[16];

char Sort[12];

}man;

1.3 主函数

其功能实现从屏幕输出6个选择: 1添加信息2. 查询信息3.删除信息4.修改信息5.显示信息6.退出程序,从中选择任一一个来进行个人通讯信息的管理。

1.4 信息添加

此模块通过void TianJia( );函数实现。从键盘输入个人通讯信息,以二进制文件将这些信息写入文本。先建立一个文件指针(FILE *fp),打开文件,输入信

5

重庆科技学院《个人通讯录管理系统》课程设计报告

息,写入文件,关闭文件。

1.5 信息查询

此模块通过void ChaXun()。从键盘输入要查询的人员姓名,程序将从文件中读出先前出入的个人通讯信息,再从屏幕上输出您要查找的信息。

1.6 信息删除

此模块通过void ShanChu( )函数实现。从屏幕上输出所要删除的人员姓名,根据操作提示,然后删除信息。

1.7 信息修改

此模块通过void XiuGai( )函数实现。从屏幕上输出:请输入您要修改的人员姓名,然后显示要修改的人员信息,并根据提示继续输入需修改后的信息,这些信息将以二进制形式写入文本。这需要打开文件读出原信息,再将修改后的所有通讯信息一起写入文件并保存。

1.8 信息显示

此模块通过void XianShi( )函数实现,只需选择显示信息菜单即可显示全部通讯录信息。

6

重庆科技学院《个人通讯录管理系统》课程设计报告

第二章 系统分析及设计

2.1 软件界面设计

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

2.2 软件的数据(结构)统计

定义一个结构体类型,用来表示学生的各种信息,如下。

typedef struct Man{

char Name[12];

char Sex[4];

char Old[4];

char Mobil[12];

char Tel[12];

char Address[16];

char QQ[12];

char Email[16];

7

重庆科技学院《个人通讯录管理系统》课程设计报告

char Sort[12];

}man;

再建立主函数,如:

void TianJia( FILE *fp);

void XiuGai( FILE *fp);

void ShanChu( FILE *fp);

void ChaXun( FILE *fp);

void XianShi( FILE *fp);

部分主函数的实现代码:

void TianJia( FILE *fp)

{ man a1;

printf("请输入您要添加的人员信息\n"); rewind( fp);

printf("\n");

printf("姓名:");

scanf("%s",&a1.Name);

fflush(stdin);

printf("\n");

printf("性别:");

scanf("%s",&a1.Sex);

fflush(stdin);

printf("\n");

printf("年龄:");

scanf("%s",&a1.Old);

fflush(stdin);

printf("\n");

printf("移动电话:");

scanf("%s",&a1.Mobil); fflush(stdin);

printf("\n");

printf("固定电话:");

scanf("%s",&a1.Tel);

fflush(stdin);

printf("\n");

printf("住址:");

scanf("%s",&a1.Address); fflush(stdin);

printf("\n");

printf("QQ:");

8

重庆科技学院《个人通讯录管理系统》课程设计报告

scanf("%s",&a1.QQ);

fflush(stdin);

printf("\n");

printf("Email:");

scanf("%s",a1.Email);

fflush(stdin);

printf("\n");

printf("类别:");

scanf("%s",a1.Sort);

fflush(stdin);

fp = fopen("d:\\tongxunlu.txt","a+");

fwrite(&a1,sizeof( a1),1,fp);

fclose( fp);

}

void ChaXun( FILE *fp)

{ man a2;

char name1[12];

printf("请输入你要查找的人员姓名:");

scanf("%s",name1);

fflush( stdin);

rewind(fp);

while( fread( &a2, sizeof( a2), 1, fp) != NULL)

{

if( strcmp( name1, a2.Name) == 0)

{

printf("您所查询的人员信息如下:\n");

printf("姓名:%s\n\n性别:%s\n\n年龄:%s\n\n住址:%s\n\n移动电话:%s\n\n固定电话:%s\n\nQQ:%s\n\nEmail:%s\n\n类别:%s\n",

a2.Name, a2.Sex, a2.Old, a2.Address, a2.Mobil,a2.Tel, a2.QQ, a2.Email, a2.Sort);

}

else

{

printf("您要查询的人员资料不存在!\n");

}

}

9

重庆科技学院《个人通讯录管理系统》课程设计报告

2.3 软件的算法统计

2.3.1 软件的模块图

图2-3-1 模块图

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

10

重庆科技学院《个人通讯录管理系统》课程设计报告

2.3.2 信息输入流程图

此函数用于输入个人通讯信息。先定义一个文件指针FILE(*fp),然后用fopen()函数打开文件,从键盘输入数据,用fwrite函数将信息写入到文件中,最后用fclose()函数关闭文件。屏幕上会显示“请输入y继续其他功能”您可以根据您的需要进行选择然后进行下面的操作。

图2-3-2 信息输入流程图

2.3.3 信息查询流程图

此函数用于查找学生信息,用fopen()函数打开文本文件,用fread函数从文件中将原有信息读出,屏幕上会显示“请输入您要查找的人员姓名”,从键盘输入,屏幕上会显示您要查找的学生信息,最后用fclose()函数关闭文件。

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

11

重庆科技学院《个人通讯录管理系统》课程设计报告

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

图2-3-3 信息查询流程图

2.3.4 信息删除流程图

此函数用于删除个人通讯信息,用fopen()函数打开文本文件,读出原有信息并输出到屏幕,从屏幕上输出提示“请输入要删除的人员姓名”,输入后显示该信息即被删除。最后用fclose()函数关闭文件。

图2-3-4 信息删除流程图

2.3.5 信息修改流程图

此函数用于修改信息。用fopen()函数打开文本文件,读出原有信息并输出到屏幕,此时屏幕上会显示"请输入您要修改的人员姓名:",从键盘输入姓名,屏幕上将会显示要修改的信息 用fwrite()函数将现在的信息写入到磁盘中,最后用

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

12

重庆科技学院《个人通讯录管理系统》课程设计报告

fclose()函数关闭文件。

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

图2-3-5 信息修改流程图

2.3.6 信息显示流程图

此函数用来打印学生全部信息,用fopen( )函数打开文本文件,读出原所有信息并输出到屏幕,最后用fclose()函数关闭文件。

图2-3-5 信息显示流程图

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

13

重庆科技学院《个人通讯录管理系统》课程设计报告

第三章 软件的实现

3.1 文件输入

输入个人通讯信息,运行结果如下:

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

3.2查询结果

查询个人通讯信息,运行结果如下:

14

重庆科技学院《个人通讯录管理系统》课程设计报告

3.3 修改结果

修改个人通讯信息,运行结果如下:

15

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

重庆科技学院《个人通讯录管理系统》课程设计报告

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

3.4 删除结果

删除个人通讯信息,运行结果如下:

16

重庆科技学院《个人通讯录管理系统》课程设计报告

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

3.5 全部显示结果

显示个人通讯信息,运行结果如下:

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

17

重庆科技学院《个人通讯录管理系统》课程设计报告

第四章 软件的测试

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

表4-2 查询函数

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

表4-3 修改函数

18

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

重庆科技学院《个人通讯录管理系统》课程设计报告

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

表4-5 显示函数

19

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

重庆科技学院《个人通讯录管理系统》课程设计报告

第五章 软件使用说明书

进入主菜单,选择你想要的功能,如图:

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

选择你想要的执行操作代码后,按照提示依次输入或选择,即可实现。

20

重庆科技学院《个人通讯录管理系统》课程设计报告

致谢

我要感谢老师对我们的认真负责的教导,在我们与到问题不理解时能构给我们耐心的讲解,并且在学习该专业课是对我们的要求,迫使我们在平日里抓紧时间学习。还要感谢学校为我们提供了良好的学习环境和设备,让我们能够更好的学习计算机方面的知识。以及在平日的学习中同学们对我的帮助。

签名:刘静

日期:2011-6-24

21

重庆科技学院《个人通讯录管理系统》课程设计报告

参考文献

[1][美]帕罗塞斯.《MFC Windows程序设计》.清华大学出版社.2007

[2][美]Stanley.《C++ Primer》.人民邮电出版社.2006

22

重庆科技学院《个人通讯录管理系统》课程设计报告

附录

typedef struct Man{char Name[12]; char Sex[4];char Old[4];char Mobil[12];char Tel[12];char Address[16];har QQ[12];char Email[16];char Sort[12];}man;

void TianJia( FILE *fp);void XiuGai( FILE *fp);

void ShanChu( FILE *fp);void ChaXun( FILE *fp);

void XianShi( FILE *fp);nt jishu(char *p);

int main()

{ system("color 51");char b,c;FILE *fp;

do{

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

printf("\t\t★ 通 讯 录 ☆\n");

printf("\t\t☆ 1、添加信息 2、查询信息 ★\n");

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

printf("\t\t☆ 3、删除信息 4、修改信息 ★\n"); printf("\t\t★ ☆\n"); printf("\t\t☆ 5、显示信息 6、退出程序 ★\n"); printf("\t\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n");

printf("请选择您想要执行操作的代码: ");

scanf("%d",&c); printf("\n");

switch ( c )

{case 1:fp = fopen("d:\\tongxunlu.txt","ab+");TianJia( fp);break; case 2:fp = fopen("d:\\tongxunlu.txt","rb");ChaXun( fp);break; case 3:fp = fopen("d:\\tongxunlu.txt","rb+");ShanChu( fp);break; case 4:fp = fopen("d:\\tongxunlu.txt","rb+");XiuGai( fp);break; case 5:fp = fopen("d:\\tongxunlu.txt","rb");XianShi( fp);break; case 6:printf("谢谢使用!\n");exit(0);default:

23

重庆科技学院《个人通讯录管理系统》课程设计报告

printf("输入有误,请重新输入!\n");break;} fflush( stdin); close(fp);

printf("请输入y继续其他功能\n");

scanf("%c",&b);if(b == 'y'){ system("cls")}}while(c != 6);return 0} void TianJia( FILE *fp)

{ man a1;printf("请输入您要添加的人员信息\n");

rewind( fp);printf("\n");printf("姓名:");scanf("%s",&a1.Name);fflush(stdin); printf("\n");printf("性别:");scanf("%s",&a1.Sex);fflush(stdin);

printf("\n");printf("年龄:");scanf("%s",&a1.Old); fflush(stdin);

printf("\n"); printf("移动电话:");scanf("%s",&a1.Mobil);fflush(stdin); printf("\n");printf("固定电话:");scanf("%s",&a1.Tel);fflush(stdin);

printf("\n");printf("址:");scanf("%s",&a1.Address);fflush(stdin);printf("\n"); printf("QQ:");scanf("%s",&a1.QQ);fflush(stdin);

printf("\n");printf("Email:");scanf("%s",a1.Email);fflush(stdin);

printf("\n");printf("类别:");scanf("%s",a1.Sort);fflush(stdin);

fp=fopen("d:\\tongxunlu.txt","a+");fwrite(&a1,sizeofa1),1,fp);fclose( fp);}

void ChaXun( FILE *fp) man a2;char name1[12];

printf("请输入你要查找的人员姓名:");scanf("%s",name1);fflush( stdin); rewind(fp);while( fread( &a2, sizeof( a2), 1, fp) != NULL)

{if( strcmp( name1, a2.Name) == 0)

{printf("您所查询的人员信息如下:\n"); printf("姓名:%s\n\n性别:%s\n\n年龄:%s\n\n住址:%s\n\n移动电话:%s\n\n

固定电话:%s\n\nQQ:%s\n\nEmail:%s\n\n类别:%s\n",a2.Name, a2.Sex, a2.Old, a2.Address, a2.Mobil,a2.Tel, a2.QQ, a2.Email, a2.Sort); }else

{printf("您要查询的人员资料不存在!\n");} } fclose( fp);return;}

void XiuGai( FILE *fp)

{man a3;man one;int count1 = 0;char name2[12];printf("请输入您要修改的人员姓名:");scanf("%s", &name2);fflush( stdin);while( !feof( fp))

fread( &a3,sizeof( a3), 1, fp);count1++;if( strcmp( name2,a3.Name) ==0){

24

重庆科技学院《个人通讯录管理系统》课程设计报告

printf("姓名:%s\n性别:%s\n年龄:%s\n住址:%s\n移动电话:%s\n固定电话:%s\nQQ:%s\nEmail:%s\n类别:%s\n",a3.Name, a3.Sex, a3.Old, a3.Address, a3.Mobil, a3.Tel, a3.QQ, a3.Email, a3.Sort);

printf("请输入您要修改的资料.\n");printf("\n");printf("姓名:");

scanf("%s",&one.Name);fflush(stdin);printf("\n");

prit性别:");scanf("%s",&one.Sex);fflush(stdin);printf("\n");printf("年龄:"); scanf("%s",&one.Old);fflush(stdin);printf("\n");printf("移动电话:");

scanf("%s",&one.Mobil);fflush(stdin);printf("\n");printf("固定电话:");

scanf("%s",&one.Tel);fflush(stdin);printf("\n");

printf("住址:");scanf("%s",&one.Address);fflush(stdin);printf("\n");printf("QQ:"); scanf("%s",&one.QQ);fflush(stdin);printf("\n");printf("Email:");scanf("%s",&one.Email);fflush(stdin);printf("\n")printf("类别:");scanf("%s",&one.Sortfflush(stdin);

fseek(fp,(count1 - 1)*sizeof( a3),SEEK_SET);fwrite(&one,sizeof( one),1,fp); printf("修改成功!\n");return;}Else{printf("您要修改的人员不存在!\n");return;}}

fclose( fp);return;} void ShanChu( FILE *fp){ man a4;man blank = {0};

char name3[12];int count = 0;rewind(fp);printf("请输入您要删除的人员姓名:"); scanf("%s",&name3);fflush( stdin);while( !feof( fp)){fread( &a4,sizeof( a4), 1, fp); count++;if( strcmp( name3,a4.Name) ==0){ printf("姓名:%s\n性别:%s\n年龄:%s\n住址:%s\n移动电话:%s\n固定电话:%s\nQQ:%s\nEmail:%s\n类别:%s\n",

a4.Name, a4.Sex, a4.Old, a4.Address, a4.Mobil, a4.Tel, a4.QQ, a4.Email, a4.Sort); fseek( fp,( count - 1) * sizeof( a4), SEEK_SET) fwrite( &blank, sizeof( blank), 1, fp);printf("删除成功!");fclose( fp) r}else{printf("您要删除的人员不存在!\n"); return;}fclose( fpreturn;}void XianShi( FILE *fp){char m = 0, n;man a5;

while( !feof( fp)){fread( &a5,sizeof( a5), 1, fp);m++;} for( n = 0; n < m -1; n++ ) {fread( &a5, sizeof( a5), 1, fp);printf("您所需要的资料如下:\n");printf("姓名:%s\n性别:%s\n年龄:%s\n住址:%s\n移动电话:%s\n固定电话:%s\nQQ:%s\nEmail:%s\n类别:%s\n",

a5.Name, a5.Sex, a5.Old, a5.Address, a5.Mobil, a5.Tel, a5.QQ, a5.Email, a5.Sort);} fclose( fp); }

25

更多相关推荐:
c课程设计报告书——通讯录管理系统

C语言程序设计实习报告手机通讯录管理系统一、设计题目的任务和内容任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的…

c++课程设计总结报告 通讯录管理系统

源代码includeltiostreamgtincludeltstringgtincludeltiomanipgtincludeltfstreamgtincludeltconiohgtincludeltcstd...

手机通讯录管理系统课程设计报告模板

山东工商学院信电学院高级语言程序设计课程设计报告高级语言程序设计课程设计报告题目手机通讯录管理系统专业电子信息工程班级电子112学号姓名指导教师日期20xx年7月9日至20xx年7月14日山东工商学院信电学院山...

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

设计课题题目一课程设计目的与要求1课程设计目的1综合运用之前所学知识选择控制循环控制数组函数指针结构体和文件等来完成一个简单的信息管理程序的设计2充分体现和体会函数在程序设计中的必要性和实用性并反映主函数mai...

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

目录摘要2第一章绪论311课程设计目的和内容概述312题目手机通讯录管理系统3第二章程序分析421总体设计422详细设计423总流程图4第三章模块介绍和总体实现731构建结构体写入文件732构造函数与模块833...

c语言个人通信录管理系统课程设计报告

高级语言程序设计报告个人通信录管理系统院系班级成员时间通信与信息工程学院杨文刚1107020xx020xx年7月2日基于链表的个人通信录管理系统课程设计任务书目录1设计目的12总体设计23详细设计34程序调试与...

通讯录管理系统设计报告

C语言通讯录管理系统通讯录管理系统学生姓名学院计算机与通信工程学院班级班学号摘要本课程设计主要是一个简单的通讯录管理系统通过程序中的菜单编号实现对数据的添加修改删除等操作在本课程设计中系统开发平台为Window...

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

课程设计报告课程学号姓名班级教师时间本科高级语言程序设计1310411031秦钱军20xx级计算机科学与技术冯凤20xx年1月计算机科学与技术系123456789附录includeltstdiohgtinclu...

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

合肥学院计算机科学与技术系课程设计报告20xx20xx学年第二学期课学学专指业导班教生姓程面向对象课程设计通讯录程序XXXXXXXXXXX名号级师课程设计名称20年月目录一设计题目1二设计要求1三总体设计131...

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

C语言课程设计通讯录管理系统学号120xx1011326专业班级计应一班姓名张文玲一设计课程题目通讯录管理系统二设计任务分析设计题目及要求1包含的功能信息至少包含编号姓名年龄电话通讯地址电子邮箱等2能够提供添加...

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

程序实验报告课程名称:通讯录管理系统通讯录管理系统一.题目要求1.本系统应具有:通信录的建立、追加、删除、修改、查询、排序、统计、显示等功能。2.本系统要具有通用性、界面美观、操作方便。要考虑系统和数据安全问题…

学生信息管理系统课程设计报告

数据库课程设计报告指导老师贺亚茹组名组长组员完成日期成绩数据库课程设计报告一项目名称学生信息管理系统二项目需求分析1项目需求分析简介本数据库的用户主要是学生通过对用户需求的收集和分析获得用户对数据库的如下要求1...

通讯录管理系统课程设计报告(29篇)