《【课程设计论文】基于C的通信录管理系统》由会员分享,可在线阅读,更多相关《【课程设计论文】基于C的通信录管理系统(28页珍藏版)》请在金锄头文库上搜索。
1、课程设计(论文)任务书软 件 学 院 软件+桥梁 专 业 20123 班 一、课程设计(论文)题目 手机通讯录管理系统二、课程设计(论文)工作自 2012 年 6 月 17 日起至 2013 年 6 月 23 日止。三、课程设计(论文) 地点: 软件学院实训中心 四、课程设计(论文)内容要求:1本课程设计的目的(1)熟练掌握 C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法;(3)利用所学的基本知识和技能,解决 简单的面向对象程序 设计问题;(4)提高学生的科技论文写作能力。 2课程设计的任务及要求1)基本要求:(1)课程设计前必须根据课程设计题目认真准备实验源程序及
2、调试时所需的数据; (2)要求采用简明、严格的问题 描述, 设计求解算法;(3)数据结构选用得当,程序结 构合理;(4)程序简明易懂,多运用输出提示,程序运行正确; (5)对设计进行总结和讨论。2)课程设计论文编写要求(1)要按照书稿的规格打印撰写课设论文(2)论文包括中文摘要、目录、绪论、正文、 总结和体会、参考文献、附录等(3)正文中要有问题描述、设计 求解算法、算法的 实现、调试分析(调试时出现的主要问题:编译语法错误及修改,重点是运行 逻辑问题修改和 调整)(4)课设论文装订按学校的统一要求完成3)课设考核: 从以下几方面来考查:(1)出勤情况; (2)设计任务的难易程度及饱满程度;(
3、3)课设任务完成情况; (4)动手调试能力;(5)论文撰写的原理分析、设计 思路以及论述的层次性、条理性、格式的规范性。 4)参考文献:1 谭浩强.C+程序设计(第二版).清华大学出版社2 http:/ 3 吕凤翥.C+语言基础教程(第 2 版).清华大学出版社.4 吕凤翥.C+语言基础教程题解与上机指导(第二版).清华大学出版社.5 StanleyB.Lippman , JoseeLaijoie 等.C+ primer(中文版).人民邮电出版社5)课程设计进度安排内容 天数 地点构思及收集资料 1图书馆程序设计与调试 3计算机房撰写论文 1图书馆6)选择课程设计题目具体要求:用 C+设计出模
4、拟手机通信录管理系统,实现对手机中的通信录进行管理。至少采文本菜单界面(如果能采用图形菜单界面更好),功能要求:查看功能:选择此功能时,A 同事 B 朋友 C 家庭 ,当选中某类时,显示出此类所有数据中的姓名和电话号码)增加功能:能录入新数据;修改功能:选中某个人的姓名时,对此人的数据进行修改删除功能:选中某个人的姓名时,可 对此人的相应数据进行 删除等等功能。学生签名: 2008 年 6 月 16 日课程设计(论文)评审意见(1)完成原理分析( 20 分): 优 ()、良( )、中( )、一般( )、差( ); (2)设计 分析 (25 分): 优 ()、良( )、中( )、一般( )、差(
5、 ); (3)完成 调试 (20 分): 优 ()、良( )、中( )、一般( )、差( );(4)运行 结 果 (20 分): 优 ()、良( )、中( )、一般( )、差( );(5)答 辩 (15 分): 优 ()、良( )、中( )、一般( )、差( );(6)格式 规 范性及考勤是否降等 级 :是( )、否( )评阅 人 签 名: 职 称: 副教授 2012 年 6 月 10 日摘 要该课程设计报告分别对模拟手机通信管理系统的功能需求进行了分析,对程序设计说明、程序功能 说明、算法 说明、主要 变 量说明、调试说明等。以将每个功能分别编译实现,再通过函数包含, 调用等方法实现各项功能
6、间的连接为设计思想,在程序设计 中,采用了用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。采用将联系人当作一个整体,整体类型为结 构体, 结构体中的域表示 联系人的属性的这种定义结构作为数据结构。各个模块的功能分为列菜单、修改、 录入、删除、查询和退出保存等来组成整个程序,实现对联系人的通信信息的较好的系统管理。该 程序采用文本界面,易于操作,使操作者和使用者应用更加方便。在程序设计中,采用了结构化与面向对象两种解决问题的方法。程序通过调试运行,初步实现了设计目标,并且 经过适当完善后,将可以应用于解决实际问题。关键字:数据结构、设计思想、方法、功能需求等。
7、目 录绪论 .1第一章 选题的意义 .2第二章 系统功能需求分析 .2第三章 通信录管理系统设计 .3第五章 总结和体会 .22参考文献 .23绪论本次课程设计的目的是用 C+语言编写一个模拟手机通信录管理系统,该系统采用文本菜单样式界面,基本实现了对通信录数据的录入、查看、修改等操作并把数据保存到简单的数据库中。本课程设计报告将结合实践操作从以下就几个方面来阐述:一、课程设计题目及其要求;二、模拟系统的功能模块图;三、程序编译和 调试过程当中的问题发现和解决方案;四、对自己写的主要的功能进行简要概述;五、介绍自己实践后的心得体会;六、介绍程序设构思和功能函数的设计流程为:主要是采用面向对象的
8、方法来定义一个类 class message 有私有成员 private: linkman *head 头指针; linkman *currptr当前指针;公有成员 public: message()构造函数;message()析构函数;void Creat()新建联 系人通信录 ;void Insert()通信录修改 联系人信息;void Delete()在通信录删除联系人信息;void WriteFile()从文件中读取通信录的信息;void ReadFile()向文件写入联系人通信 录信息; void Search()在通信录中查询联系人信息; void Display()在屏幕中输出全
9、部联系人信息 ;void Exit()退出;然后围绕该类当中的思想来构思设计自己做的主要的系统功能函数:void Creat()数据录入;void Insert() 数据修改插入;void Display() 数据 显示。总之,只要有好的构思好的程序设计思想我们就可以很好的去做一个有一定要求的程序。下面将按以上几个方面来阐述这次的课程设计。第一章 选题的意义(1)要求学生达到熟练掌握 C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 意义:这是一个运用 C+程序代码构成的一个手机通讯录管理系统,虽
10、然功能不是很完善,但从一定程度上提高了学生对 C+语言运用的灵活性,使学生将理论知识与实际操作更好的结合。第二章 系统功能需求分析手机通信录系统信息包括:查看功能、增加功能、修改功能、删除功能。(1)、查看功能:选择此功能时,列出下列四个 选项:1.办公类 2.个人类 3.商务类 4.全部号码。当选中某类时, 显示出此类数据中的所有姓名和电话号码。(2)、增加功能:能录入新数据,每个结点包括编号、姓名、电话号码、个人信息、邮箱类型以及信息类型。当录入重复的电话号码时,系 统会提醒“该电话号码已经存在,不能重复插入!”;当添加超过 15 条 时,系 统会提醒“本通讯录最多存储 15 条信息,已满
11、! 不能再插入,抱歉 !”;新数据:当录入新数据时,系统能按照递增顺序对条目进行编号。(3)、修改功能:选择要修改的人的编号,可以 对此人进行相应的信息的修改。(4)、删除功能:选择要删除的人的编号,可以 对此人的信息删除,并自 动调整后续条目的编号。第三章 通信录管理系统设计 问题描述:通信录管理系统,以将所需每个功能分别编译实现,再通过函数包含,调用等方法实现各项功能间的连接为设计思想。函数流程图 查看功能:N YNY进入主菜单后,选择查看选项, 进入后选择查看的类型,系 统显示条目后,选择 是否返回主菜单,选“Y” 则回到主菜单, 选“N”则继续查看。*pl=PL-next*pl(*p1
12、)-No=ID1break *p2=*p1return *p1?1:0增加功能:date *p3,*p4!Find2(phone,&p3,&p4)!Find2(phone,&p3,&p4)Multiplex cout#include #include #include using namespace std;int Count; int ch;char phone30;class date /基类( 抽象类)protected:int No; /编号char Name20; /姓名 char phonenum30; /电话号码char information30;/个人信息char email
13、30; /邮箱地址int type; /类型 date *next; /指针域public:date() /基类构造next=0; /指针域设置为空virtual date() /基类虚析构virtual void Input()=0; /从键盘输入数据virtual void Output()=0; /向屏幕输出数据friend class operiate;class office:virtual public date /朋友类公有继承基类public: office() /构造函数,初始化部分数据void Input() /键盘输入数据 Count=Count+1;No=Count;strcpy(phonenum,phone);coutName;coutinformation;coutemail;coutName;coutinformation;coutemail;coutName;coutinformation;coutemail;coutnext;delete p;p=PL;PL=0;void operiate:Cle