预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT26一、数据结构课程设计目标《数据结构》是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。《数据结构》课程的目标是使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养和提高学生程序设计的能力。《数据结构》课程也是一门实践性较强的课程,设置实践环节是十分重要的。本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。二、问题描述编写一个简单的通讯录管理程序。通讯录记录有姓名、地址、电话号码、电子邮箱等4项。三、需求分析1、要求:1)添加:增加一个人的记录到通讯录中;2)显示:在屏幕上显示所以通讯录中的人员信息,应能分屏显示;3)存储:将通讯录信息保存在一个文件中;4)装入:即将文件中的信息读入程序;5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码、电子邮箱;6)修改:可修改一个人的除姓名之外的其他信息;2、详细功能如下:A.插入:系统将提示用户输入新添加学生信息,学生信息数据包括姓名、性别、地址、编号、电话等。B.查询:提示用户输入要查找的学生姓名,然后系统用查找函数查找,接着系统使用相关命令输出所查找的学生的全部信息。C.删除:首先提示用户输入要删除的学生姓名,然后调用删除函数,删除该学生的所有相关资料。D.输出后退出系统,退出通讯录管理系统。四、概要设计显示所有联系人1、通讯录管理系统功能说明图:通讯录管理系统添加名片信息删除名片信息显示名片信息导入名片信息查询名片信息修改名片信息保存名片信息退出通讯录2、设计结构体及基本数据成员类型:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>structrecord{charnum[10],name[20],tel[20],address[40],unit[10],email[30];}stu[500];intpc=0;FILE*fp;voidmainmenu();//主菜单voidnewrecord();//新名片voidsearchbyname();//按姓名查询voidsearchbynum();//按编号查询voidshowall();//显示所有voidreadfromfile();//读取文件voidwritetofile();//写入文件voiddeletebynum();//按编号删除voiddeletebyname();//按姓名删除voidmodifybynum();//按编号修改voidmodifybyname();//按姓名修改3、实现主程序与各模块的调用关系:voidmainmenu()//主菜单{charchoic;system("cls");printf("\n\t\t********************主菜单********************");printf("\n\t\t***********0-新添名片1-全部显示************");printf("\n\t\t***********2-按编号查询3-按姓名查询************");printf("\n\t\t***********4-按姓名删除5-按编号删除************");printf("\n\t\t***********6-按姓名修改7-按编号修改************");printf("\n\t\t***********8-保存退出9-不保存退出***********");printf("\n\t\t************************************************");printf("\n\t\t请选择:");choic=getch();switch(choic){case'0':newrecord();break;case'1':showall();break;case'2':searchbynum();break;case'3':searchbyname();break;case'4':deletebyname();break;case'5':deletebynum();break;case'6':modifybyname();break;case'7':modifybyname()