通讯录信息管理系统.docx

上传人:b****0 文档编号:18132530 上传时间:2023-08-13 格式:DOCX 页数:24 大小:224.41KB
下载 相关 举报
通讯录信息管理系统.docx_第1页
第1页 / 共24页
通讯录信息管理系统.docx_第2页
第2页 / 共24页
通讯录信息管理系统.docx_第3页
第3页 / 共24页
通讯录信息管理系统.docx_第4页
第4页 / 共24页
通讯录信息管理系统.docx_第5页
第5页 / 共24页
通讯录信息管理系统.docx_第6页
第6页 / 共24页
通讯录信息管理系统.docx_第7页
第7页 / 共24页
通讯录信息管理系统.docx_第8页
第8页 / 共24页
通讯录信息管理系统.docx_第9页
第9页 / 共24页
通讯录信息管理系统.docx_第10页
第10页 / 共24页
通讯录信息管理系统.docx_第11页
第11页 / 共24页
通讯录信息管理系统.docx_第12页
第12页 / 共24页
通讯录信息管理系统.docx_第13页
第13页 / 共24页
通讯录信息管理系统.docx_第14页
第14页 / 共24页
通讯录信息管理系统.docx_第15页
第15页 / 共24页
通讯录信息管理系统.docx_第16页
第16页 / 共24页
通讯录信息管理系统.docx_第17页
第17页 / 共24页
通讯录信息管理系统.docx_第18页
第18页 / 共24页
通讯录信息管理系统.docx_第19页
第19页 / 共24页
通讯录信息管理系统.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通讯录信息管理系统.docx

《通讯录信息管理系统.docx》由会员分享,可在线阅读,更多相关《通讯录信息管理系统.docx(24页珍藏版)》请在冰点文库上搜索。

通讯录信息管理系统.docx

通讯录信息管理系统

实训报告

题目:

通讯录信息管理系统

院系:

信息科技学院

专业:

测控技术及仪器

姓名:

toy

学号:

************

指导教师:

******

日期:

2012年6月27日

 

桂林电子科技大学信息科技学院

 

第一章程序设计的目的和要求

1.1、课程设计的目的

通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好地巩固《高级语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论和实践相结合的难关,更加了解c语言的好处和其可用性。

通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力,为后续各门计算机课程的学习和毕业设计打下坚实的基础。

1.2、课程设计的实验环境

该课程设计在设计与实验过程中需要在windowsXP系统/windowsVista系统中进行,程序设计要求在visualC++6.0平台中进行,完成代码的编写、编译、调试、测试等工作。

1.3、课程设计的预备知识

在知识方面此课程设计需要掌握C语言的基本知识,熟练指针、链表等应用,掌握数据库等知识。

在操作方面此课程设计需要清楚windowsXP系统/windowsVista系统的操作,熟悉visualC++6.0编码平台。

以此可以顺利完成课程设计的编写、编译、调试、测试等工作。

1.3、课程设计的要求

C语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法。

所谓结构化程序就是用高级语言表示的结构化算法,结构化程序设计强调程序。

设计风格和程序结构的规范化提倡清晰的结构。

这就要求学生把一个复杂问题的求解过程分阶段进行,每一个阶段处理的问题都控制在人们容易理解和处理的范围内。

可以采用自顶向下、逐步细化、模块化设计、结构化编码的方法。

同时为了更好地完成本次程序设计,还要求学生仔细分析自己的选题,深刻了解课题的设计背景,做好课题的需求分析,将项目要完成的功能分析清楚,划分好功能模块,逐个实现。

在实际编码过程中,要做到思维严谨,化繁为简,代码简练。

最终学生要按照课程设计的题目要求,分析、设计、编写、调试和测试C语言程序及编写设计报告。

第二章需求分析

2.1系统概述

通讯录信息管理系统作为学校管理的一个重要方面,其可变因素多,管理方面繁琐复杂,时间跨度大,再加上其固有的基数大,因而形成了巨大的数据量。

以前的人工管理方式处理这样大的数据,不可避免地增加了管理的工作量及复杂程度,使老师、学生和有关管理人员工作繁重、负担重、压力大。

并且人为方式固有的不严密性常常带来各种工作中的疏漏,使得复杂度更甚,常常让工作人员感到头痛。

这种人工系统在管理工作中存在很大的弊病。

其一:

信息量大,管理人员工作量大,负担重,压力大;且工作繁复,复杂程度高,使管理人员颇感头疼;

其二:

人工处理方式由于其固有的不严密性,造成数据处理中的错、漏现象不可避免,数据缺乏正确性,而且增大了工作难度;

其三:

由于信息处理量大,信息流动不畅通,反馈时间延长,缺乏实效性;

其四:

数据备份、传输、报表、统计等相关工作量大,费时,繁琐,容易出错;

根据现实情况,为了改变原来的信息管理中的不利局面,以适应现代化管理发展,最佳的改进途径就是建立一个通讯录信息管理系统,用计算机实现对信息的搜集、加工、存储等精确处理,从而提高工作效率。

2.2、系统功能需求分析

通讯录信息管理系统,为了替代人工管理而开发的一个软件系统,它代替人工完成对信息数据的搜集、处理、加工、存储等工作,具有严密性、安全性,大大增大了过往人工管理的准确性,提高了工作效率,减小了工作人员的工作量

通讯录信息管理系统要完成对信息数据的处理,其中包括基本信息的录入、存储。

这些基本信息数据构成一个简单的数据库,这是该系统进一步对数据处理的基础。

2.3、系统性能需求分析

通讯录信息管理系统要完成对信息数据的精确处理,因此要具备以下几项功能:

数据录入:

数据包括ID、电子邮件、姓名、电话号码等。

大量的数据信息将构成一个基本信息数据库,为进一步对其进行处理做好准备;

数据查询:

通讯录信息管理系统在既有信息数据的基础上,要完成对信息的查询。

第三章系统总体设计

3.1应用程序名称:

通讯录信息管理系统

3.2应用程序简介:

包括应用程序的基本结构、基本内容、运行环境等;

基本结构:

1)密码功能:

一开始进入系统,要求用户输入用户名和密码,方能进入主界面;密码用*的形式显示在屏幕上。

2)系统以菜单方式工作具有主控界面,用户按照主控界面提示选择相应的功能;

3)系统查看功能选择此功能时,列出下列三类选择:

1. 办公类

2. 个人类

3. 商务类

4.全部显示当选中某个选项时,则显示出此类所有数据中的姓名、电话号码和电子邮件;

4)系统添加功能

用户可以录入一条新记录信息后记录信息(一条记录包括:

姓名、电话号码、分类、电子邮件)当录入了重复的姓名或电话号码时,则提示数据录入重复并取消录入;录入的新数据能按递增的顺序自动进行条目编号;

5)系统修改功能

根据用户输入需要修改的姓名,查找到该姓名号对应的记录,若找到该记录,则修改相应字段的值,若未找到该记录,提示用户。

6)系统删除功能

根据用户输入需要删除的人的ID,查找该条记录,可对此人的相应数据进行删除,并自动调整后续条目的编号。

7)系统拔号功能

在屏幕显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上显示出此人的姓名及电话号码。

8)文件导入功能

从C盘下TX1.TXT文件中录入一个通讯录文件。

运行环境:

VC++6.0

3.3应用程序的总体设计结构图,主要运行界面的介绍(附主要代码);

1)密码功能界面

2)主界面

3)通讯录查看界面

4)通讯录添加功能

5)通讯录修改功能;

6)系统拨号功能;

7)个人信息简介;

第四章源程序代码

主要代码:

#include

#include

#include

#include

intcntAddr,i,j;

charin[20];

constchar*strFmt="\n%d\t%s\t%s\t%s\t%s\n";

/*输入记录*/

typedefstructADDRESSD{

intID;

charname[20];

charphone[20];

charclassify[20];

charmail[20];

}ADDRESS;

ADDRESSaddrTmp[100],adTmp;

/*导入文件功能*/

intload(ADDRESSadr[])

{

FILE*fp;

if((fp=fopen("txl.txt","r"))!

=NULL)

{

cntAddr=0;

while(fscanf(fp,"%d%s%s%s%s",&(adr[cntAddr].ID),adr[cntAddr].name,adr[cntAddr].phone,adr[cntAddr].classify,adr[cntAddr].mail)!

=EOF)

++cntAddr;

}

fclose(fp);

returncntAddr;

}

voidquan(ADDRESSaddr[],intlength){

for(i=0;i

}

voidbangong(ADDRESSaddr[],intlength){

char*str1="办公类";for(i=0;i

}

voidgeren(ADDRESSaddr[],intlength){

char*str1="个人类";for(i=0;i

}

voidbusiness(ADDRESSaddr[],intlength){

char*str1="商务类";for(i=0;i

}

voidsave(ADDRESSadr[],intlength){

FILE*fp;

fp=fopen("c:

\\txl.txt","w");

for(i=0;i

fclose(fp);

};

intdelet(ADDRESSadr[],intlength){

printf("要修改第几条记录:

\n");

scanf("%d",&j);

for(i=j;i

return--length;

};

voidrewrite(ADDRESSadr[],intlength){

printf("要修改第几条记录:

\n");

scanf("%d",&j);

printf("请输入ID:

\n");

scanf("%d",&i);

adr[j].ID=i;

printf("请输入姓名:

\n");

scanf("%s",in);

strcpy(adr[j].name,in);

printf("请输入电话号码:

\n");

scanf("%s",in);

strcpy(adr[j].phone,in);

printf("请输入分类:

\n");

scanf("%s",in);

strcpy(adr[j].classify,in);

printf("请输入电子邮件:

\n");

scanf("%s",in);

strcpy(adr[j].mail,in);

};

intadd(ADDRESSadr[],intlength){

printf("请输入ID:

\n");

scanf("%d",&i);

adr[length].ID=i;

printf("请输入姓名:

\n");

scanf("%s",in);

strcpy(adr[length].name,in);

printf("请输入电话:

\n");

scanf("%s",in);

strcpy(adr[length].phone,in);

printf("请输入分类:

\n");

scanf("%s",in);

strcpy(adr[length].classify,in);

printf("请输入电子邮件:

\n");

scanf("%s",in);

strcpy(adr[length].mail,in);

return++cntAddr;

};

/*查看记录功能*/

voidchakan(ADDRESSadr[],intlength)

{

intchoice;

menu1:

system("cls");

printf("\n\n\n\n*************************通讯录信息管理系统(信息查看)*******************\n\n");

printf("1.办公类\n\n");

printf("2.个人类\n\n");

printf("3.商务类\n\n");

printf("4.全部显示通讯录信息\n\n");

printf("0.返回上一级菜单\n\n");

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

printf("请选择(0~4)\n");

scanf("%d",&choice);

switch(choice)

{

case1:

bangong(adr,length);

printf("请按任意键返回...\n");

system("pause");

break;

case2:

geren(adr,length);

printf("请按任意键返回...\n");

system("pause");

break;

case3:

business(adr,length);

printf("请按任意键返回...\n");

system("pause");

break;

case4:

quan(adr,length);

printf("请按任意键返回...\n");

system("pause");

break;/*显示全部记录*/

case0:

return;

printf("请按任意键返回...\n");

system("pause");

}

gotomenu1;

}

intenter(ADDRESSadr[]){

cntAddr=0;

printf("请按次序输入数据,结束按CTRL+z:

\n");

while

(1){

printf("请输入ID:

\n");

if(scanf("%d",&i)==EOF)break;

adr[cntAddr].ID=i;

printf("请输入姓名:

\n");

if(scanf("%s",in)==EOF)break;

strcpy(adr[cntAddr].name,in);

printf("请输入电话:

\n");

if(scanf("%s",in)==EOF)break;

strcpy(adr[cntAddr].phone,in);

printf("请输入分类:

\n");

if(scanf("%s",in)==EOF)break;

strcpy(adr[cntAddr].classify,in);

printf("请输入电子邮件:

\n");

if(scanf("%s",in)==EOF)break;

strcpy(adr[cntAddr].mail,in);

++cntAddr;

}

returncntAddr;

};

/*通讯录信息修改功能*/

voidxiugai(ADDRESSadr[],intlength)

{

intchoice;

menu2:

system("cls");

printf("\n\n\n\n*************************通讯录信息管理系统(信息修改)*******************\n\n");

printf("1.删除记录\n\n");

printf("2.修改记录\n\n");

printf("3.添加记录\n\n");

printf("0.返回上一级菜单\n\n");

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

printf("请选择(0~3)\n");

scanf("%d",&choice);

switch(choice)

{

case1:

length=delet(adr,length);

save(adr,length);

printf("请按任意键返回...\n");

getchar();

break;/*删除记录*/

case2:

rewrite(adr,length);

save(adr,length);

printf("请按任意键返回...\n");

getchar();

break;/*修改记录*/

case3:

length=add(adr,length);

save(adr,length);

printf("请按任意键返回...\n");

getchar();

break;/*插入记录*/

case0:

return;

}

gotomenu2;

}

/*拨号功能*/

voidbohao(ADDRESSaddr[],intlength){

printf("请输入姓名:

\n");

scanf("%s",&in);

for(i=0;i

};

/*关于*/

voidabout()

{

system("color87");

system("cls");

printf("\n\n\n\n《通讯录信息管理系统》\n\n\n");

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

printf("作者个人信息\n\n\n");

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

printf("请按任意键返回主菜单...");

system("pause");

}

voidmima()

{

inti,k=0;

charusername[15],pwd[6];

system("color87");

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

{

system("cls");

printf("\n\n\n\n\n★欢迎使用通讯录信息管理系统★\n\n\n\n\n");

printf("学号:

1053300104\n\n");

printf("2012.06.27\n\n\n\n\n\n");

printf("\n请输入用户名:

");

gets(username);

printf("\n请输入6位密码:

");

gets(pwd);

if((strcmp(username,"1053300104")==0)&&(strcmp(pwd,"123456")==0))

{

printf("\n您已经成功登录\n");

k=1;

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

{

printf(".");

Sleep(100);

}

system("cls");

break;

}

else

printf("\n用户名或密码无效请重新输入:

\n");

continue;

}

if(k==0)

{printf("\n连续输入错误3次将退出程序\n");

Sleep(200);

exit(0);

}

Sleep(200);

}

/******主函数*******/

voidmain()

{

intchoice;

intlength;/*保存记录长度*/

ADDRESSadr[100];/*定义结构体数组*/

mima();

menu:

system("color87");

system("cls");

printf("\n\n\n\n*************************通讯录信息管理系统(系统菜单)*******************\n\n");

printf("请选择以下通讯录管理功能:

\n\n");

printf("1.通讯录信息查看\n\n");

printf("2.通讯录信息添加\n\n");

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

printf("4.系统拔号功能\n\n");

printf("5.通讯录文件导入\n\n");

printf("6.作者简介\n\n");

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

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

printf("请选择(0~6)\n");

scanf("%d",&choice);

switch(choice)

{

case1:

chakan(adr,length);break;/*查看记录*/

case2:

length=enter(adr);

save(adr,length);

printf("\n请按任意键返回...\n");

system("pause");break;/*输入记录*/

case3:

xiugai(adr,length);break;/*通讯录信息修改功能*/

case4:

bohao(adr,length);

printf("请按任意键返回...\n");

system("pause");

break;/*拨号功能*/

case5:

length=load(adr);

printf("您已经成功的导入文件到通讯录!

\n");

printf("请按任意键返回...\n");

system("pause");break;/*导入文件功能*/

case6:

about();break;/*关于*/

case0:

return;/*如返回值为则程序结束*/

}

gotomenu;

}

第五章实训心得体会

5.1得意之处:

重点介绍整个应用程序中自已认为最满意、最得意的地方

系统查看功能当选中某个选项时,则显示出此类所有数据中的姓名、电话号码和电子邮件。

在添加自己设计的界面时候,显示个人信息,实在是让人身心愉悦,更加加强了自

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2