北方民族大学
信息与计算科学学院
课程设计报告书
课程名称: 数据结构课程设计
班级: 08级信计2班
学号: 20080391
姓名: 高杰
指导老师: 纪峰
1,设计项目名称:
通讯录管理系统
2,课程设计目的:
通过设计一个《通讯录管理系统》,进一步熟悉C中类的概念、基本知识和技利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C的理解与Visual C++环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。
3,内容及设计要求:
编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。
设计内容:本系统应完成一下几方面的功能:
1)输入信息——enter();
2)显示信息———display( );
3)查找以姓名作为关键字———search( );
4)删除信息———delete( );
5)存盘———save ( );
6)装入———load( ) ;
设计要求:
1)每条信息至包含:姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项
2)作为一个完整的系统,应具有友好的界面和较强的容错能力
3)上机能正常运行,并写出课程设计报告
.
详细功能如下:
A,添加:
系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名(name),街道(street),城市(city),邮编(eip),国家(state).
B,删除:
首先由用户输入要删除的人员的姓名,然后调用删除函数,删除该人员的所有相关资料.
C,显示所有人员信息:
该功能将显示已经保存的所有人员的姓名,街道,城市,邮编及国家.
D,查询:
可由用户输入要查找的人员姓名,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息.
E,退出系统
关闭通讯录管理系统.
,规格说明:
4,详细设计:
,通讯录管理系统功能说明图:
通讯录管理系统
删除联系人
不保存退出
保存退出
新添联系人
查询菜单
,数据结构及各模块分析:
:设计类,对象及基本数据类型:
,它有五个数据成员:
char name[20]; 姓名
char street[20]; 街道
char city[20]; 城市
char eip[20]; 邮编
char state[20]; 国家
包含函数: 功能如下:
void mainmenu(); 主菜单
void searchmenu(); 查找菜单
void enter(); 新添纪录
void search(); 按姓名查询
void display(); 显示所有
void load(); 读取文件
void save(); 写入文件
void delete(); 按姓名删除
,结构体:
struct record
{
char street[20];
char name[20];
char city[20];
char state[20];
char eip[20];
}student[500];
struct slnode
{
record date;
struct slnode *next;
struct slnode *prior;
};
,设计流程图
6,调试分析及心得体会:
,调试分析:
void load()//从文件导入
{
if((fp=fopen("student","rb"))==NULL) //打开文件进行读的操作
{
printf("\n\t\t通讯录文件不存在");
if ((fp=fopen("student","wb"))==NULL)//打开文件进行读的操作
{
printf("\n\t\t建立失败");
exit(0);
}
else
{
printf("\n\t\t通讯录文件已建立");
printf("\n\t\t按任意键进入主菜单");
getch(); //从键盘接收一个字符
}
return; //返回主函数的主菜单
}
exit(0);
}
fseek(fp,0,2); /*文件位置指针移动到文件末尾*/
if (ftell(fp)>0) /*文件不为空*/
{
rewind(fp); /*文件位置指针移
数据结构课程设计——通讯录管理系统 来自淘豆网m.daumloan.com转载请标明出处.