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

上传人:b****3 文档编号:2439711 上传时间:2022-10-29 格式:DOCX 页数:19 大小:127.08KB
下载 相关 举报
C语言课程设计通讯录管理系统.docx_第1页
第1页 / 共19页
C语言课程设计通讯录管理系统.docx_第2页
第2页 / 共19页
C语言课程设计通讯录管理系统.docx_第3页
第3页 / 共19页
C语言课程设计通讯录管理系统.docx_第4页
第4页 / 共19页
C语言课程设计通讯录管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

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

《C语言课程设计通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计通讯录管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

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

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

YangtzeUniversityCollegeofArtsandScience

(课程设计报告)

学部:

理工学部

专业:

计算机科学与技术

班级:

姓名:

学号:

课程名称:

C语言课程设计

指导教师:

呙明辉

 

摘要:

纸质的通讯录已经不能满足我们的要求,更新麻烦,查询困难等缺点是纸质通讯录所不能克服的。

在此情况下,迫切需要一个电子版的通讯录来满足我们的需求。

这次课程设计的通讯录采用了二叉搜索树这一数据结构,并完成了添加、查找、删除、保存等功能。

在TC2.0平台下实现了人机交互界面上的图形化设计,其中菜单的显示为逐桢动画,在等待用户按键输入时设计了友好的系统。

关键字:

数组,结构体,指针,函数,文件

summary:

paper'saddressbookcan'tmeetourrequirements,updatethetrouble,inquiresthedifficultyisthedisadvantagessuchaspaperaddressbookcan'tovercome.Inthiscase,theurgentneedtoaversionoftheaddressbooktomeetourneeds.Thecoursedesignoftheaddressbookadoptedbinarysearchtreesthedatastructure,andcompletedadd,delete,savesearch,etc.Function.InTC2.0theworkbenchrealizedontheman-machineinterfacegraphicaldesign,includingthemenuthatbystandardforanimation,waitingfortheuserinputbuttonswhenthefriendlysystemdesign.

Keywords:

arrays,structures,pointer,function,file

目录

一、设计题目及要求1

二、概要设计2

三、详细设计2

3.1通讯录:

2

3.2工作流程图:

4

四、源程序代码8

五、用户手册16

六、课程设计总结和心得体会16

七、参考文献16

一、设计题目及要求:

建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;

能够提供添加、删除和修改通讯录信息的功能;

能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;

将通讯录保存在文件中;

能够按表格方式输出通讯录信息。

系统功能需求分析:

主要包含一下多种功能:

添加:

添加通讯录记录

显示:

显示通讯录记录

删除:

删除通讯录记录

查询:

查询通讯录记录

修改:

修改通讯录记录

保存:

将信息保存到文件

本文档,极大的方便了用户的使用。

二、概要设计

系统功能模块图:

添加:

可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。

显示:

可以以表格形式输出所有通讯录里的记录。

删除:

输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。

查询:

可以选择用姓名、电话、地址三种方式查询。

修改:

输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改。

保存:

输入文件名(带后缀名)后,即可将通讯录信息保存到文件。

运行所需环境:

win7及以下各版本windows,visualC++6.0。

三、详细设计

3.1通讯录:

typedefstruct

{

charscore;/*编号*/

charname[10];/*姓名*/

charnum[15];/*号码*/

charemail[20];/*邮箱*/

charage[8];/*年龄*/

charadds[20];/*住址*/

}Person;

voidmain()/*主函数*/

{

intn=0;

for(;;)

{

switch(menu_select())

{

case1:

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

n=Input(pe,n);

break;

case2:

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

Display(pe,n);

break;

case3:

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

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

printf("\t");

system("pause");

break;

case4:

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

Query_a_record(pe,n);/*查找记录*/

printf("\t");

system("pause");

break;

case5:

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

Change(pe,n);/*修改数据*/

printf("\t");

system("pause");

break;

case6:

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

WritetoText(pe,n);/*保存数据*/

printf("\t");

system("pause");

break;

case0:

printf("\n\t\t谢谢使用,再见!

\n");/*结束程序*/

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

system("pause");

exit(0);

}

}

}

3.2工作流程图:

①添加:

添加通讯录记录

②显示:

显示通讯录记录

③删除:

删除通讯录记录④查询:

查询通讯录记录

先选择查询方式,以姓名查询方式为例

⑤修改:

修改通讯录记录

四、源程序代码

#include

#include

#include

typedefstruct

{

charscore;/*编号*/

charname[10];/*姓名*/

charnum[15];/*号码*/

charemail[20];/*邮箱*/

charage[8];/*年龄*/

charadds[20];/*住址*/

}Person;

Personpe[80];

intmenu_select()

{

charc;

do{

system("cls");

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

printf("\t\t┌───────┐\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.保存记录│\n");

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

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

printf("\t\t请您选择(0-6):

");

c=getchar();

}while(c<'0'||c>'6');

return(c-'0');

}

intInput(Personper[],intn)

{

inti=0;

charsign,x[10];

while(sign!

='n'&&sign!

='N')

{

printf("\t编号:

");

scanf("\t%d",&per[n+i].score);

printf("\t姓名:

");

scanf("\t%s",per[n+i].name);

printf("\t年龄:

");

scanf("\t%s",per[n+i].age);

printf("\t电话号码:

");

scanf("\t%s",per[n+i].num);

printf("\t通讯住址:

");

scanf("\t%s",per[n+i].adds);

printf("\t电子邮箱:

");

scanf("\t%s",per[n+i].email);

gets(x);

printf("\n\t是否继续添加?

(Y/N)");

scanf("\t%c",&sign);

i++;

}

return(n+i);

}

voidDisplay(Personper[],intn)

{

inti;

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

printf("编号姓名年龄电话号码通讯地址电子邮箱\n");

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

for(i=1;i

{

printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);

if(i>1&&i%10==0)

{

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

printf("\t");

system("pause");

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

}

}

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

system("pause");

}

intDelete_a_record(Personper[],intn)

{

chars[20];

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

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1