电话号码簿管理系统,课程设计报告,
C++课程设计电话本管理

VC++ 课程实验报告专业班级:学号:报告人:C++课程实验报告一、实验题目:电话本管理二、功能描述:这是一个电话簿管理小程序,利用文本文件储存电话簿数据,具有添加、删除、显示和查询联系人电话号码功能。
在这个小型管理程序中,类与类之间通过链表将各个数据相连接,形成一个通畅的应用小程序!在程序中,对于用户需求尽可能的予以满足.三、算法设计与实验步骤四、流程图:按ENTER进入电话本功能界面电话本功能界面(用户根据界面说明进行选择操作)0 进入帮助1添加联系人2查找并修改3姓名查找联系人4首字母近似查找5显示全部记录6删除记录用户根据帮助程序根据提示用户新建联系人姓名和电话号码输入联系人姓名,查找修改输入姓名查找输入首字母匹配查找显示电话薄全部数据逐一删除联系人数据,首先输入联系人姓名7退出电话簿程序并保存电话簿数据四、类与对象结构描述,核心程序代码(需要有相应的注释)1.程序中所定义的类 (1)电话簿记录类 class CTelRecord {private:int nYear,nMonth,nDay,nHour,nMinute,nSecond; //时间单元 char szName[20]; //电话簿数据:姓名和电话号码 char Last[20]; char szNumber[20]; public:CTelRecord(){} //构造函数CTelRecord(char *name,char *number);void SetRecord(char *name,char *last,char *number); //输出时间 int Compare(char *name); //根据姓名查找void SetName(char *name){strcpy(szName,name);} void SetNum(char *num){strcpy(szNumber,num);} void SetLast(char *last){strcpy(Last,last);}char *GetName(void){return szName;} //需通过函数访问的私有成员char *GetLast(void){return Last;} char *GetNum(void){return szNumber;} int GetYear(void){return nYear;} int GetMonth(void){return nMonth;}用户选择0后进入帮助界面1 怎样产生一个新纪录2 怎样显示我的电话本3 什么时候我有一种新版面4 什么时候有一种新版面5 退出帮助进入电话簿功能界面电话本功能界面int GetDay(void){return nDay;}int GetHour(void){return nHour;}int GetMinute(void){return nMinute;}int GetSecond(void){return nSecond;}void Show(); //打印数据void Modify(char *number); //修改结点函数int LookChar(char *szName); //按首字母查找匹配姓名};(2)定义结点类class CNode{private:CTelRecord *pData; //用于指向数据类指针CNode *pNext; //指向链表下一个结点指针public:CNode(){pData=0;pNext=0;} //结点构造CNode(CNode &node); //拷贝构造函数void ShowNode(){pData->Show();} //指向打印函数CTelRecord *GetData(void){return pData;}friend class CList; //定义链表类为友元类};(3) 定义链表类class CList{CNode *head_ptr,*current_ptr;public:CList(){head_ptr=NULL;} //构造函数void Help_me(); //帮助函数void AddNode(); //在首部添加结点void DeleteNode(); //删除结点void ShowList(); //显示所有记录void DeleteList(); //删除所有记录void Search(); //查找CNode *GetListHead(){return head_ptr;}void Insert(CNode *new_rec_ptr); //按顺序插入新节点CNode*Position_insertion_point(char name[20]);void ModNum(void); //修改号码void SearchFriends(void); //查找具有相似名的记录void load_list_from_file(void); //保存文件void write_list_to_file(); //把文件数据写入链表中};2.新增函数说明根据姓氏,返回其在链表中的正确位置,新节点即将插入此点。
课程设计电话簿管理系统

一.程序功能简介一个基本的电话簿管理程序,具有插入、删除、显示、修改和查询联系人电话码的功能。
主菜单如右图所示,每个菜单项功能如下:1.增加记录菜单:请输入用户姓名,如果该用户已经存在则添加失败,否则,输入用户的电话号码,进行添加。
2.修改某条记录:请输入用户姓名,如果没有该用户显示“该用户不存在”信息,否则,输出原电话号码,然后输入新的电话号码,进行修改。
3.删除记录:输入用户姓名,进行删除(删除时要进行确认)。
4.查询:输入用户姓名,进行查找。
5.排序:根据子菜单,选择不同的排序方式。
6.显示:逐屏显示(每屏显示10条记录)。
7.全删:进行全部删除(要确认)。
二.课程设计要求请选择以下功能1- 增加记录2- 修改记录3- 删除记录4- 查找(按姓名)5- 排序6- 显示记录1.用汉化菜单实现。
2.提供按姓名查询电话号码的功能。
3.显示功能(提供逐屏显示的功能,每屏显示10条记录)。
4.删除和修改时要进行确认。
5.将电话簿记录以文件的形式存在磁盘上;每次操作时将电话簿调出,操作完毕后存盘。
三.课程设计说明1.程序采用数组数据结构实现。
2.用类来实现数据的封装。
四.参考数据结构1.“电话簿”称为用户信息表,用数组实现。
用户信息表由若干用户信息构成,每个用户信息是一个数组元素。
2.“user.txt”是一个文件,用于保存“用户信息表”中的信息。
当系统启动时,从该文件中读入信息,当退出系统时,将“用户信息表”中的信息写到该文件中。
该文件中信息存放形式如下:ZhangHong 5221369LiLi 84891112ZhaoQiang 5221498其中name(姓名)占20列phone_num(电话号码)占12列五.具体功能及实现定义Fphone类,通过其私有成员数组name[20]和phone[12]分别记录用户姓名与电话号码,定义UserDatabase类记录用户信息,通过公有成员函数实现对数据的操作。
手机通讯录管理系统课程设计资料报告材料实用模板

高级语言程序设计课程设计报告题目:手机通讯录管理系统专业:电子信息工程班级:电子112学号:姓名:指导教师:日期: 2012 年 7月 9日至 2012 年7 月 14 日工商学院信电学院注:用户名和密码均为dianzi1121、程序基本功能要求手机通信录采用文件存储,因而要提供文件的输入输出操作;查看功能要提供显示操作;增加新数据的过程要检查是否有重复,存储空间是否已满,且录入的新数据能按递增的顺序自动进行条目编号,因而要提供查找、统计和排序操作;要提供修改与删除和自动调整编号功能;另外还要提供键盘式选择菜单以实现功能选择。
(1)数据查看模块通过菜单选择查看信息,然后选择办公类、个人类或者商务类,则显示所选类信息列表。
这是一个查找与显示的过程,在手机通信录文件中查找type类型符合的记录,输出。
(2)数据添加模块提示输入一条记录,将对通信录执行查找操作,查找和字段,如不存在相同的记录,则用以追加方式写入文件,并给记录的条目字段赋值(在检查有无重复的过程中启动计数),否则提示“数据已经存在,请重新输入或者取消!”。
(3)数据修改模块修改通信录信息,则需要读文件,判断信息是否是要修改的信息,如果是,修改,重新写入文件;否则直接重新写入文件。
(4)数据删除模块通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:读记录,判断是否要删除(与输入的要删除的记录比较),如果要删除,则舍弃;否则重新写入文件。
2、总体设计(功能模块说明,如函数功能、参数说明,函数调用关系描述等,并注明各模块的具体成员分工)建立结构体来储存和整合各个信息。
然后利用模块来分别实现程序的各个功能。
各个模块用函数来实现。
在通过主函数来判断输入数字,从而调动函数,实现所需功能。
最后将输入的文件保存在文件里,以便重复使用。
整个系统可以设计为数据查看模块、数据添加模块、数据修改模块、数据删除模块。
函数体构造和查看模块编写人-------------睿数据添加和修改模块编写人--------------闫君数据删除和switch函数模块-------------留洋3、详细设计(程序设计组成框图、流程图)1)数据查看模块通过菜单选择查看信息,然后选择办公类、个人类或者商务类,则显示所选类信息列表。
电话本管理系统课程设计

武汉工程大学计算机科学与工程学院综合设计报告设计名称:应用软件系统综合设计设计题目:简单个人电话号码查询系统学生学号:0905100218专业班级:软件工程2班学生姓名:王纯超学生成绩:指导教师(职称):姚峰(讲师)课题工作时间:2011-9-14 至2011-9-23说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
成绩评定表学生姓名:王纯超学号:0905100218 班级:软件工程2班答辩记录表指导教师评语目录目录 (I)第一章课题背景(或绪论、概述)二号字黑体 (1)1.1背景 (1)1.2目的 (1)1.3意义 (1)1.4主要问题 (1)1.5技术要求 (1)1.6工作完成的目标 (1)第二章设计简介及设计方案论述 (2)2.1设计简介 (2)2.2设计方案 (2)2.2.1数据结构 (2)2.2.2数据成员 (3)2.2.3程序流程图 (4)第三章详细设计 (5)3.1窗体设计 (5)3.2初始化 (5)3.3插入 (5)3.4查找 (5)3.5修改 (6)3.6删除 (6)3.7退出 (6)3.8程序的容错性 (6)3.8.1插入时检查 (6)3.8.2查找时检查 (6)3.8.3修改时检查 (6)第四章设计结果及分析 (7)4.1开始界面 (7)4.2添加功能 (7)4.3查找功能 (8)4.4删除功能 (9)4.5修改功能 (9)4.6退出 (10)总结 (11)致谢 (12)参考文献 (13)程序代码 (14)摘要电话号码查询管理系统是用于辅助个人完成其通讯信息有序管理的计算机软件系统,系统实施的目的旨在帮助用户完成其私人通讯信息管理的数字化,以提供比手工方式更高效、更少出错的方式。
电话簿系统课程设计

电话簿系统课程设计一、课程目标知识目标:1. 让学生理解电话簿系统的基本概念,掌握其数据结构和操作方法。
2. 使学生能够运用所学知识,设计并实现一个简单的电话簿系统。
3. 帮助学生了解电话簿系统在实际应用中的功能需求,如添加、删除、查询和修改联系人信息。
技能目标:1. 培养学生运用编程语言(如Python)实现电话簿系统的能力。
2. 提高学生分析问题、解决问题的能力,使其能够针对电话簿系统进行需求分析和功能设计。
3. 培养学生团队协作和沟通表达的能力,能够就电话簿系统的设计与同伴进行有效讨论。
情感态度价值观目标:1. 激发学生对计算机科学和信息技术的兴趣,培养其主动探索新知识的热情。
2. 培养学生认真负责、严谨细致的学习态度,使其认识到细节在软件开发中的重要性。
3. 引导学生关注信息技术对社会生活的影响,使其认识到电话簿系统等应用在实际生活中的价值。
课程性质:本课程为信息技术学科的教学内容,旨在通过电话簿系统设计与实现,帮助学生掌握编程语言和数据结构的基础知识,培养其解决实际问题的能力。
学生特点:考虑到学生所在年级,已具备一定的计算机操作基础和编程知识,对新鲜事物充满好奇心,但可能缺乏实际项目经验。
教学要求:结合学生特点,注重理论与实践相结合,以项目为导向,引导学生主动参与,培养其动手实践能力和团队协作精神。
在教学过程中,关注学生个体差异,给予个性化指导,确保课程目标的实现。
二、教学内容1. 电话簿系统的基本概念:介绍电话簿系统的定义、功能、应用场景,引导学生理解其与现实生活的联系。
2. 数据结构基础:回顾线性表、字典等基本数据结构,为学生实现电话簿系统提供知识储备。
3. 编程语言选择:以Python为例,讲解其在电话簿系统中的应用,如列表、字典的使用,函数的定义等。
4. 电话簿系统功能设计:分析添加、删除、查询、修改联系人信息等功能的实现方法,引导学生进行需求分析和功能规划。
5. 编程实践:指导学生运用Python编程实现电话簿系统,包括数据存储、功能模块划分、代码编写等。
C#课程设计电话薄管理系统

C#课程设计论文院系信息工程学院专业计算机科学与技术班级10级二班题目电话薄管理系统学号201015059姓名任开宇时间2013.05.20 至2013.05.31一、设计目的 (1)二、需求分析 (2)2.1设计题目 (2)2.2设计构思 (2)2.3运行界面需求 (3)2.4开发及运行环境 (3)2.5程序文件清单 (3)2.5.1数据库模块 (3)三、模块分析及设计 (4)3.1系统功能结构图 (4)3.2系统数据流程图 (5)四、数据库设计 (6)4.1数据库需求分析 (6)4.2 E-R图 (6)4.3 数据表设计 (7)4.3.1电话薄信息表(电话薄) (7)五、制作过程及要点 (8)5.1 Access类 (8)5.2 用户模块详细设计 (9)5.3 电话薄“显示全部”模块 (11)5.4 电话薄“添加”模块 (14)5.5 电话薄“删除”模块 (16)5.6 通讯录“查找”模块 (18)5.7 电话薄“修改”模块 (22)六、设计总结 (24)七、主要参考书及手册 (25)一、设计目的日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式,特别是对于做经常出差的人来说更是难,所以电话薄能够便捷的给我们带来所需要的相关信息。
而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。
这就需要有一个使用的电话薄管理系统,用户可以方便的通过自己电脑的电话薄管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。
电话薄管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。
二、需求分析2.1设计题目电话薄管理系统2.2设计构思电话薄管理系统功能需求分析:电话薄管理系统主要功能分为四个模块:用户查询、添加记录、修改记录、删除记录。
电话簿管理c课程设计
电话簿管理c 课程设计一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握电话簿管理C语言的基本概念、语法和操作;技能目标要求学生能够运用C语言编写简单的电话簿管理程序;情感态度价值观目标要求学生培养编程兴趣,提高信息时代下的自主学习能力。
教学目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果。
在教学过程中,我们将根据课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容本课程的教学内容选取电话簿管理C语言作为核心,主要包括以下几个部分:1.C语言基础知识:数据类型、变量、运算符、表达式等。
2.控制结构:顺序结构、分支结构、循环结构等。
3.函数:函数的定义、调用、参数传递、返回值等。
4.电话簿管理模块:通讯录的增删改查功能。
教学内容的选择和确保科学性和系统性,制定详细的教学大纲,明确教学内容的安排和进度。
教材选用《C程序设计原理与应用》,并结合实际案例进行讲解。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
主要包括:1.讲授法:讲解C语言基本概念、语法和操作。
2.案例分析法:分析实际案例,让学生了解电话簿管理的应用。
3.实验法:引导学生动手实践,编写电话簿管理程序。
4.讨论法:学生分组讨论,培养团队合作能力。
教学方法应多样化,以适应不同学生的学习需求,提高教学效果。
四、教学资源本课程选用《C程序设计原理与应用》作为教材,并提供以下教学资源:1.参考书:推荐学生阅读相关参考书,丰富知识体系。
2.多媒体资料:制作课件、视频等多媒体资料,辅助教学。
3.实验设备:提供计算机实验室,让学生进行上机实践。
教学资源应能够支持教学内容和教学方法的实施,丰富学生的学习体验。
在教学过程中,教师应根据实际情况调整教学资源,以提高教学效果。
五、教学评估本课程的教学评估主要包括平时表现、作业和考试三个部分。
利用c语言实现电话簿管理系统课程设计
利用c语言实现电话簿管理系统课程设计电话簿管理系统VER1.0系别 : 计算机科学与技术系专业(班级):作者(学号):指导教师:完成日期: 2011年6月15日蚌埠学院教务处制目录1摘要 ..................................................................... ................................................................. 3 第一章前言 ..................................................................... (4)第二章电话簿管理系统介绍 ..................................................................... (5)2.1 流程图 ..................................................................... (5)2.2 程序编写概要 ..................................................................... .................................. 6 第三章主要功能实现 ..................................................................... . (7)3.1 删除功能设计 ..................................................................... . (7)添加功能设计 ..................................................................... .................................. 7 3.2第四章源程序...................................................................... ............................................................... 9 第五章系统测试 ..................................................................... ........................................................ 20 第六章结语 ..................................................................... . (25)致谢 ..................................................................... ............................................................... 26 参考文献 ..................................................................... (26)2摘要电话簿管理系统是利用单链表实现电话簿管理,进而掌握C语言中的结构体、链表,指针、函数(系统函数,自定义函数)等C语言知识。
电话薄管理系统c++课程设计模板
课程设计设计题目:___电话薄管理系统 ____班级: 13- 学号: 201学生姓名: ______设计地点(单位)_ 第二、三实验室 ________指导教师评语: __该生按照计划要求,在心电话薄管理系统中完成了“”模块,系统运行正常,达到了预期要求。
_成绩:______ __ ________教师签名:_________田生伟_________完成日期: 2014年07月 2日课程设计任务书设计题目:电话薄管理系统目录摘要 (1)1设计内容、任务及具体要求 (2)1.1设计内容 (2)1.2设计任务及具体要求 (2)2概要设计 (3)2.1该系统的功能简介 (3)2.2 总体程序框图 (3)2.3各个模块之间的主要关系 (4)3系统功能模块的具体设计 (5)3.1各个模块的程序运行界面 (5)3.2对关键代码加以分析说明 (15)4程序调试分析 (23)5程序使用说明 (24)6总结 (25)致谢 (26)参考文献 (27)附:源程序 (28)摘要学生心理健康管理系统是针对学生心理健康状况进行计算机处理而开发的应用软件。
该系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通中学生的心理状况。
企业应用本系统后,可以有效的提高学生心理健康水平。
本文从需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。
为便于说明,文中绘制了和部分界面图。
最后附有主要的源程序代码清单。
关键词:心理健康管理系统维护数据汇总管理系统软件开发1 设计内容、任务及具体要求1.1设计内容《学生心理健康管理系统》主要根据课程设计要求进行设计,并了解了大部分中学生的心理健康状态,该系统功能主要包括六大模块:1.用户登录(注册用户):(1)已登录用户打开时询问是否保存。
2.每日测试(需要登录):测试人当日心理健康状态(偏执指数、依赖指数、暴力指数等),并与历史记录比较,判断状况是否有所好转。
电话簿管理c课程设计
电话簿管理c 课程设计一、课程目标知识目标:1. 学生能够理解电话簿的基本概念,掌握电话簿的信息结构和管理方法。
2. 学生能够运用所学知识,使用编程语言实现电话簿的基本功能,如增加、删除、查找和修改联系人信息。
3. 学生能够了解数据存储的概念,并运用文件操作实现电话簿数据的持久化。
技能目标:1. 学生能够运用编程语言进行电话簿管理系统的设计与开发,提高编程实践能力。
2. 学生能够运用调试工具解决编程过程中的问题,提高问题解决能力。
3. 学生能够运用所学知识,进行团队协作,共同完成电话簿管理项目的开发。
情感态度价值观目标:1. 学生通过电话簿管理项目,培养对计算机编程的兴趣和热情,增强学习动力。
2. 学生在项目开发过程中,培养团队协作精神,提高沟通与交流能力。
3. 学生能够认识到编程在生活中的应用,理解编程对解决实际问题的价值。
本课程针对高年级学生,结合学科特点和教学要求,注重知识与实践相结合,提高学生的编程能力和问题解决能力。
课程目标具体、可衡量,旨在帮助学生明确学习成果,为教学设计和评估提供依据。
二、教学内容本章节教学内容主要包括以下几部分:1. 电话簿基本概念:电话簿的数据结构、功能特点及其在现实生活中的应用。
2. 编程语言基础:复习巩固与电话簿管理相关的基础语法,如变量、数据类型、控制结构等。
3. 电话簿管理系统功能设计:- 增加联系人:学习输入、输出语句,实现添加联系人信息的功能。
- 删除联系人:学习条件语句,实现根据条件删除联系人信息的功能。
- 查找联系人:学习循环语句,实现查找并显示联系人信息的功能。
- 修改联系人:学习数组操作,实现修改联系人信息的功能。
4. 数据存储与文件操作:学习文件操作,实现电话簿数据的持久化存储。
5. 项目实践:以小组形式,完成一个完整的电话簿管理系统的设计与开发。
教学内容按照以下进度安排:1. 电话簿基本概念及编程语言基础复习(1课时)2. 电话簿管理系统功能设计(2课时)3. 数据存储与文件操作(1课时)4. 项目实践(4课时)教学内容与教材章节关联,以教材中相关章节为基础,结合课程目标进行拓展和深入,确保学生掌握电话簿管理系统的核心知识和技能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 页 共 22 页 目 录 摘 要 ................................................................ 2 第1章 需求分析........................................................... 3 1.1 问题提出 .......................................................... 3 1.2 本系统涉及的知识点 ................................................ 3 1.3 功能要求 .......................................................... 3 1.3.1 功能菜单 ................................................... 3 第2章 总体功能设计....................................................... 4 2.1 算法设计 .......................................................... 4 2.1.1主界面菜单 ................................................. 4 2.1.2根据所选菜单编写相应代码 ................................... 4 2.2 模块图 ............................................................ 5 2.3 部分模块流程图 .................................................... 5 第3章 程序代码设计....................................................... 7 3.1 create模块 ....................................................... 7 3.2 save模块 ......................................................... 7 3.3 load模块 ......................................................... 7 3.4 print模块 ........................................................ 8 3.5 search模块 ....................................................... 8 3.6 delete模块 ....................................................... 8 3.7 append模块 ....................................................... 9 3.8 modify模块 ....................................................... 9 第4章 C程序设计总结 .................................................... 10 4.1 程序调试 ......................................................... 10 4.1.1程序调试情况 .............................................. 10 4.1.2 感想 ...................................................... 11 谢 辞 ................................................................ 11 参 考 文 献 .............................................................. 12 附录 程序清单 ............................................................ 13 第 2 页 共 22 页
摘 要 本报告包括需求分析、总体功能设计、程序代码设计、C程序设计总结、谢辞、参考资料、附录七部分。需求分析中介绍了要实现的功能、功能菜单、涉及的知识点以及各功能之间的联系。总体功能设计中介绍了算法设计、模块图、主菜单以及根据主菜单而对各分函数的设计进行大致的描述,位于后面的是部分模块流程图。程序代码设计中详细描述了各分模块的代码设计,包括用到的函数、各种语句、对变量和功能的介绍说明,具体详见附录中的源代码。C程序设计总结中记录了调试程序时遇见的情况及解决方法和此次设计的感想。在谢辞中表达了对给予帮助的人员的感谢。参考资料中列举的是完成本设计所参考的资料。附录中为程序清单。
关键词 功能菜单,模块图,代码设计,调试程序。 第 3 页 共 22 页
第1章 需求分析 1.1 问题提出 本人计划编写一个电话号码簿管理系统,主要用来管理联系人电话号码。 1.2 本系统涉及的知识点
函数、结构体、指针、文件、链表、循环、判断、switch语句等。 1.3 功能要求
(1) 增加记录的修改功能。(2) 将指定电话从电话簿中删除。 (3)显示当前电话簿中的所有信息。(4)实现查询,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示。
1.3.1 功能菜单 1、建立新的电话号码簿,每个联系人的信息包括:姓名、电话号码; 2、读取电话号码簿; 3、打印电话号码簿; 4、查询电话号码; 5、删除电话号码; 6、添加新的电话号码; 7、修改电话号码; 8、退出电话号码簿管理系统;
功能说明,如图 1:
图1 系统功能说明图 保存 删除电话号码 查询电话号码 打印电话号码簿 读取电话号码簿 创建新的电话号码簿 添加新的电话号码 修改电话号码 电话号码簿管理系统 退出系统 第 4 页 共 22 页
第2章 总体功能设计 2.1 算法设计 将程序分为9个模块,分别是create、save、load、print、search、delete、append、modify、main(主模块)。
2.1.1主界面菜单 在main()函数中利用switch语句设计如图2所示的主菜单。 电话号码簿管理系统VER1.0
请选择1-8之间的操作 图2 电话号码簿管理系统主界面菜单
2.1.2根据所选菜单编写相应代码 定义结构体类型struct tel,数据域char name[15]; char tel[12];指针域ID *next(ID表示#define ID struct tel )。
1、 创建函数create:利用循环输入的方式,将有关信息存入结构体,结构体根据实际的人数,采用动态方式建立单链表存储所有联系人信息,最后返回头指针head。
保存函数save:头指针作形式参数,利用文件函数fopen建立一个文本文件来存放电话号码簿,将单链表中的联系人信息用循环的方式和函数fwrite写入文件,无返回值。 2、 读取函数load:无形式参数,利用文件函数fopen打开建立过的文本文件,在循环中利用fread函数依次读出文件中的信息,返回头指针。 3、 打印函数print:头指针作形式参数,定义一个临时变量ID *temp,利用此变量遍历单链表,同时输出联系人信息,如果没有联系人信息,则输出提示,无返回值。
1、 create 建立新的电话号码簿 2、 load 读取电话号码簿 3、 print 打印电话号码簿 4、 search 查询电话号码 5、 delete 删除电话号码 6、 append添加新的电话号码 7、 modify修改电话号码 8、 exit 退出电话号码簿管理系统 第 5 页 共 22 页
4、 查询函数search:头指针作形式参数,利用双重循环,并且在内层循环中利用if语句实现查询功能,内层循环用来遍历单链表,外层循环用来实现是否继续查找功能,无返回值。 5、 删除函数delete:头指针作形式参数,利用双重循环,并且在内层循环中利用if语句实现查询并删除功能,内层循环用来遍历单链表,外层循环用来实现是否继续删除功能,无返回值。 6、 添加函数append:无形式参数,定义一个变量ID *temp,新联系人信息赋值予此变量中,利用fopen函数打开在create函数中建立的文件,在循环中依次输入联系人信息并利用fwrite函数将添加的信息存入文件中,无返回值。 7、 修改函数modify:头指针作形式参数,利用双重循环,内层循环用来遍历单链表,同时利用三个if语句分别找到待修改记录、确定是否修改、确定是否保存。外层循环用来实现是否继续修改。 2.2 模块图
图3 电话号码簿管理系统模块图 2.3 部分模块流程图
1主模块流程图
图4主模块流程图 *haed=NULL 1? 输出主菜单 输入选择 (吸收回车) 调用各子函数
主模块 创建电话簿 保存信息 添加信息 删除信息 查找信息 打印信息 修改信息 读取信息