数据结构课程设计——通讯录管理系统.doc
《数据结构课程设计——通讯录管理系统.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计——通讯录管理系统.doc(17页珍藏版)》请在三一办公上搜索。
1、信息与计算科学学院课程设计报告书课程名称: 数据结构课程设计 班 级: 学 号: 姓 名: 指导老师: 1,设计项目名称:通讯录管理系统 2,课程设计目的: 通过设计一个通讯录管理系统,进一步熟悉C中类的概念、基本知识和技利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C的理解与Visual C+环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。3,内容及设计要求:编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。设计内容:本系统应完成一下几方面的功能:1)输入信息en
2、ter();2)显示信息display( );3)查找以姓名作为关键字 search( );4)删除信息delete( );5)存盘save ( );6)装入load( ) ;设计要求:1)每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项2)作为一个完整的系统,应具有友好的界面和较强的容错能力3)上机能正常运行,并写出课程设计报告.3.12 详细功能如下:A,添加:系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名(name),街道(street),城市(city),邮编(eip),国家(state).B,删除: 首
3、先由用户输入要删除的人员的姓名,然后调用删除函数,删除该人员的所有相关资料.C,显示所有人员信息: 该功能将显示已经保存的所有人员的姓名,街道,城市,邮编及国家.D,查询: 可由用户输入要查找的人员姓名,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息.E,退出系统 关闭通讯录管理系统.3.2,规格说明:4,详细设计:4.1,通讯录管理系统功能说明图:通讯录管理系统删除联系人不保存退出保存退出新添联系人查询菜单 4.2,数据结构及各模块分析:4.21:设计类,对象及基本数据类型:4.211创建一个record类,它有五个数据成员:char name20; 姓名 cha
4、r street20; 街道 char city20; 城市 char eip20; 邮编 char state20; 国家包含函数: 功能如下:void mainmenu(); 主菜单void searchmenu(); 查找菜单void enter(); 新添纪录 void search(); 按姓名查询 void display(); 显示所有 void load(); 读取文件 void save(); 写入文件 void delete(); 按姓名删除 4.212,结构体:struct record char street20; char name20; char city20; c
5、har state20; char eip20;student500;struct slnoderecord date;struct slnode *next;struct slnode *prior; 4.3,设计流程图 6,调试分析及心得体会:6.1,调试分析:void load()/从文件导入 if(fp=fopen(student,rb)=NULL) /打开文件进行读的操作 printf(ntt通讯录文件不存在); if (fp=fopen(student,wb)=NULL)/打开文件进行读的操作 printf(ntt建立失败); exit(0); else printf(ntt通讯录
6、文件已建立); printf(ntt按任意键进入主菜单); getch(); /从键盘接收一个字符 return; /返回主函数的主菜单 exit(0); fseek(fp,0,2); /*文件位置指针移动到文件末尾*/ if (ftell(fp)0) /*文件不为空*/ rewind(fp); /*文件位置指针移动到文件开始位置*/ for (num=0;!feof(fp) & fread(&studentnum,sizeof(struct record),1,fp);num+); .getch(); return; 6.11void search()/查找人 int j=0,a=0;/j用
7、来记录查找. scanf(%s,name); for(int i=a;inext)/num用来表示联系人的个数if(strcmp(name,p-next-date.name)=0)/查找是否有该人,有则输出该点所有信息,并往下查找。 printf(查询到的信息:); printf(n); printf(姓名:); printf(%s,p-next-date.name); . j+;if(j=0)printf(tt该通讯录没有该人!);if (i+1)num) /确保扫描到所有的联系人 printf(ntt是否继续查找相同名字的学生信息:(y/n); .else printf(ntt按任意键返回
8、主菜单); .6.2,心得体会: 1),程序的编写应是:三分编写,七分调试; 2)程序编写之前需求分析,至关重要,将关系这整个项目的成败. 3)一名优秀程序员的成长,需要付出很多很多,编程是每天必做 4)熟能生巧,这次在用指针处理双向链表时,以前对这块内容并不十分清楚,这次感觉 很吃力,所以在今后的编程之中,尽可能把基本技能练习熟练. 5)做软件最终是满足用户的需求,所以做软件时应一切应以用记为导向.7,使用说明及操作展示:7.1运行环境: Microsoft Visual C+6.07.2在此,把软件使用过程写出,并对此程序的一些细节和具体的操作方法加以说明,说明如下:7.21将软件进行初始
9、化,即在VC+6.0中运行该程序,进入程序主界面,首次运行会建立文件,提示文件是否成功建立。然后按任意键后进入主菜单。界面面显示的是“主菜单”,主菜单有五个方面: 1,新添记录2,查询菜单3,删除联系人4,保存退出5,不保存退出查询菜单包裹三个方面 1,显示所有 2,按姓名查询 3,返回主菜单 7.22,输入和存取人员信息,选择菜单界面的第1个选择进入此选择界面,根据提示,输入信息相关信息。7.23 按2显示查询的菜单。7.24按“3”删除指定联系人。7.25按“4”将输入的联系人信息保存到文件中并退出通讯录。7.26,按“5”退出通讯录,不保存输入的联系人信息。8,全部源代码:#includ
10、e #include #include #include struct record char name20; char street20; char city20; char eip20; char state20; student500;struct slnoderecord date;struct slnode *next;struct slnode *prior;typedef slnode * linklist;linklist l;int num=0;FILE *fp; void mainmenu();void searchmenu();void enter();void sear
11、ch();void display();void load();void save();void delet();void listinsert();void initlist();void main() initlist();load();listinsert(); while (1)mainmenu(); void load() if(fp=fopen(student.bin,rb)=NULL) printf(ntt通讯录文件不存在); if (fp=fopen(student,wb)=NULL) printf(ntt建立失败); exit(0); else printf(ntt通讯录文件
12、已建立); printf(ntt按任意键进入主菜单); getch(); return; exit(0); fseek(fp,0,2); if (ftell(fp)0) rewind(fp); for (num=0;!feof(fp) & fread(&studentnum,sizeof(struct record),1,fp);num+); printf(ntt文件导入成功); printf(ntt按任意键返回主菜单); getch(); return; printf(ntt文件导入成功); printf(ntt通讯录文件中无任何纪录); printf(ntt按任意键返回主菜单); getc
13、h(); return; void mainmenu()/主菜单 char choic; system(cls); printf(ntt*欢迎进入通讯录系统*); printf(ntt*1新添纪录 *); printf(ntt*2查找联系人 *); printf(ntt*3删除联系人 *); printf(ntt*4保存退出 *); printf(ntt*5不保存退出 *); printf(ntt*); printf(ntt请选择:); choic=getch(); switch (choic) case 1:enter();break; case 2:searchmenu();break;
14、case 3:delet();break; case 4:save();break;case 5:exit(0); default:mainmenu(); void searchmenu()/查询菜单 char choic; system(cls); printf(ntt* 查询菜单 *); printf(ntt* 1-显示所有 *); printf(ntt* 2-按姓名查询 *); printf(ntt* 3-返回主菜单 *); printf(ntt*); printf(ntt请选择:); choic=getch(); switch (choic) case 1:display();brea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 通讯录 管理 系统
链接地址:https://www.31ppt.com/p-2396811.html