C++课程设计电话本管理

合集下载

c课程设计电话簿

c课程设计电话簿

c 课程设计电话簿一、课程目标知识目标:1. 学生能理解电话簿的基本概念和作用,掌握电话簿的组成元素和信息录入方法。

2. 学生能够运用所学知识,创建、编辑和整理个人的电话簿信息。

3. 学生了解电话簿在生活中的实际应用,认识到信息管理的重要性。

技能目标:1. 学生掌握利用电子设备或纸质媒介制作和整理电话簿的技巧。

2. 学生能够运用分类、排序等基本方法,提高电话簿信息的检索效率。

3. 学生通过实际操作,提升信息整理、沟通和协作能力。

情感态度价值观目标:1. 学生培养良好的信息管理习惯,认识到个人信息保护的重要性。

2. 学生在合作学习中,学会尊重他人、分享信息,培养团队协作精神。

3. 学生通过电话簿的制作和应用,体会信息科技的发展给生活带来的便利,增强对信息技术的兴趣和认同。

课程性质:本课程为实用技能类课程,结合生活实际,培养学生的信息素养和实际操作能力。

学生特点:学生为四年级学生,具备基本的读写能力和信息素养,对新鲜事物充满好奇心,但需引导和培养实际操作能力。

教学要求:教师需采用生动形象的教学方法,激发学生的学习兴趣,注重实践操作,使学生在动手实践中掌握电话簿的制作和应用。

同时,关注学生的情感态度价值观的培养,将课程内容与学生的生活实际紧密结合,提高课程的实用性和针对性。

通过课程学习,使学生能够将所学知识运用到实际生活中,达到学以致用的目的。

二、教学内容1. 电话簿的概念与作用- 介绍电话簿的定义和功能- 分析电话簿在生活中的重要性2. 电话簿的组成元素- 姓名、电话号码、地址等基本信息的录入- 分类、排序等组织方法的介绍3. 制作电话簿- 电子设备(如计算机、手机)制作电话簿的方法- 纸质媒介制作电话簿的技巧4. 电话簿的管理与应用- 电话簿信息的更新与维护- 提高电话簿信息检索效率的方法5. 信息安全与隐私保护- 个人信息保护意识的培养- 遵守信息道德与法律法规6. 实践活动- 个人电话簿的制作与展示- 小组合作,共同整理班级通讯录教学内容安排与进度:第一课时:电话簿的概念与作用、组成元素第二课时:制作电话簿(电子设备与纸质媒介)第三课时:电话簿的管理与应用、信息安全与隐私保护第四课时:实践活动(个人电话簿制作与展示、班级通讯录整理)教材章节关联:本教学内容与教材中“信息管理与应用”章节相关,涉及电话簿的制作、管理、信息安全等方面的知识。

c语言电话簿课程设计

c语言电话簿课程设计

c 语言电话簿课程设计一、课程目标知识目标:1. 掌握C语言基础语法,如变量定义、数据类型、运算符和表达式;2. 学会使用C语言数组、字符串处理,实现对电话簿信息的存储和读取;3. 了解结构体在C语言中的应用,熟练使用结构体类型定义电话簿中的联系人信息;4. 掌握文件操作,实现对电话簿数据的保存和加载。

技能目标:1. 能够运用所学知识编写C程序,实现电话簿的添加、删除、查找和修改功能;2. 学会使用函数对电话簿程序进行模块化设计,提高代码的可读性和可维护性;3. 掌握基本的调试技巧,能够找出并修正程序中的错误。

情感态度价值观目标:1. 培养学生主动探究、积极思考的学习态度,激发学习编程的兴趣;2. 培养学生团队协作意识,学会在项目开发中与他人沟通与协作;3. 培养学生遵守程序设计规范,养成良好的编程习惯。

本课程针对高中年级学生,结合C语言学科特点,充分考虑学生已有知识水平和实际需求,旨在使学生通过本章节学习,掌握C语言在实际应用中的基本技能,培养编程思维和解决问题的能力。

课程目标具体、可衡量,便于教学设计和评估。

二、教学内容1. C语言基础语法复习:变量定义、数据类型、运算符和表达式;2. 数组与字符串:数组的使用、字符串处理函数,电话簿信息存储和读取;3. 结构体:结构体类型的定义和使用,联系人类的设计与实现;4. 文件操作:文件打开、关闭、读写,电话簿数据的持久化存储;5. 函数:函数的定义、调用、参数传递,电话簿功能模块的设计;6. 调试技巧:常见错误类型、调试工具使用,程序错误定位与修正;7. 电话簿功能实现:添加、删除、查找、修改联系人信息的操作;8. 项目实践:模块化设计,团队协作完成电话簿程序开发。

教学内容依据课程目标,结合教材相关章节,科学系统地组织和安排。

具体教学大纲如下:1-2课时:C语言基础语法复习;3-4课时:数组与字符串;5-6课时:结构体;7-8课时:文件操作;9-10课时:函数;11-12课时:调试技巧;13-14课时:电话簿功能实现;15-16课时:项目实践与展示。

c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计一、课程目标知识目标:1. 理解C语言中数据结构的基本概念,掌握通讯录管理系统中链表的应用;2. 掌握C语言中文件操作的基本方法,实现对通讯录信息的存储和读取;3. 学会使用C语言编程解决实际问题,具备分析和设计简单通讯录管理系统的能力。

技能目标:1. 能够运用所学知识,设计并实现一个具备增加、删除、修改和查询功能的通讯录管理系统;2. 能够运用链表数据结构,实现通讯录信息的动态管理;3. 能够编写清晰的C语言代码,养成良好的编程习惯。

情感态度价值观目标:1. 培养学生的团队合作精神,提高沟通与协作能力;2. 激发学生对计算机编程的兴趣,培养自主学习和解决问题的能力;3. 引导学生认识到编程在解决实际问题中的应用价值,增强其学习责任感。

课程性质:本课程为实践性较强的课程,结合C语言编程知识,让学生通过实际操作,掌握通讯录管理系统的设计与实现。

学生特点:学生在本年级已具备一定的C语言基础,对数据结构有一定了解,但实际编程能力有待提高。

教学要求:教师需结合学生特点,采用任务驱动法,引导学生主动参与课堂,通过实践操作,提高学生的编程能力和解决实际问题的能力。

同时,注重培养学生的团队合作精神和自主学习能力。

在教学过程中,关注学生的情感态度价值观的培养,使其在学习过程中形成积极向上的心态。

二、教学内容1. 数据结构基础:复习C语言中的结构体和指针,引入链表的概念及其在通讯录管理系统中的应用。

- 教材章节:第三章 数据结构,第5节 链表。

- 内容安排:讲解链表的创建、插入、删除等基本操作。

2. 文件操作:介绍C语言中文件读写的基本方法,使学生能够将通讯录信息保存在文件中。

- 教材章节:第五章 文件,第2节 文件的读写。

- 内容安排:讲解fopen、fprintf、fscanf、fclose等文件操作函数的使用。

3. 通讯录管理系统功能设计:- 教材章节:实践项目——通讯录管理系统。

c语言课程设计通讯录管理系统

c语言课程设计通讯录管理系统

c语言课程设计 通讯录管理系统一、课程目标知识目标:1. 理解C语言中结构体的概念和使用方法,掌握利用结构体创建复杂数据结构的能力;2. 学会使用数组存储结构体数据,实现对通讯录信息的有效管理;3. 掌握基本的文件操作,能够实现通讯录数据的存储和读取。

技能目标:1. 能够运用结构体和数组设计并实现一个简单的通讯录管理系统;2. 掌握在C语言中进行简单的输入输出操作,实现用户界面的友好交互;3. 学会使用调试工具进行程序调试,提高解决问题的能力。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发其主动探索和创新的欲望;2. 培养学生的团队协作意识,学会在项目开发中与他人合作;3. 引导学生关注信息技术在生活中的应用,认识到编程对解决实际问题的重要性。

课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,运用所学知识设计并实现一个通讯录管理系统。

学生特点:学生具备一定的C语言基础,对编程有一定的兴趣,但可能缺乏实际项目经验。

教学要求:通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高其编程能力和解决实际问题的能力。

将课程目标分解为具体的学习成果,以便在教学过程中进行有效指导和评估。

二、教学内容1. 结构体和结构体数组的概念及应用- 课本章节:第五章 结构体与共用体- 内容:结构体的定义、结构体成员的访问、结构体数组的创建与使用。

2. 文件操作基础- 课本章节:第六章 文件- 内容:文件的打开与关闭、文件的读写操作、文件的定位。

3. 通讯录管理系统设计- 内容:系统需求分析、功能模块划分、系统设计、实现与测试。

4. 用户界面设计- 内容:菜单设计、命令行用户输入输出、简单的人机交互流程。

5. 项目实践与团队协作- 内容:项目分组、任务分配、代码共享与协作、项目评审。

教学进度安排:第一周:复习结构体和结构体数组相关知识,讲解通讯录管理系统需求。

第二周:学习文件操作基础,设计通讯录数据存储与读取功能。

c语言电话簿课程设计

c语言电话簿课程设计

c语言电话簿课程设计一、课程目标知识目标:1. 理解并掌握C语言结构体和数组的使用,能运用其创建电话簿数据结构;2. 学会使用C语言进行文件操作,实现对电话簿数据的保存和读取;3. 掌握C语言中字符串处理的相关函数,实现对电话簿信息的增删查改操作。

技能目标:1. 能够运用所学知识独立设计并实现一个简单的电话簿管理系统;2. 培养学生的编程实践能力,提高问题分析和解决问题的能力;3. 培养学生的团队协作能力,通过分组讨论和合作完成课程设计。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学生主动探索计算机科学的热情;2. 培养学生的创新意识,鼓励学生勇于尝试和改进自己的设计方案;3. 培养学生严谨、认真的学习态度,养成良好的编程习惯。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握C语言基础知识的基础上,通过实际项目设计,提高学生的编程实践能力和问题解决能力。

同时,注重培养学生的团队协作精神和情感态度,使学生在完成课程设计的过程中,形成积极的学习态度和价值观。

课程目标分解为具体学习成果,便于后续教学设计和评估。

二、教学内容1. C语言基础知识回顾:结构体、数组、字符串处理函数(教材相关章节)- 结构体的定义和使用;- 数组的定义和操作;- 常用字符串处理函数。

2. 文件操作:文件读写、文件打开与关闭(教材相关章节)- 文件的打开与关闭;- 文件读写操作;- 错误处理。

3. 电话簿管理系统功能设计及实现(课程设计项目)- 系统需求分析;- 功能模块划分;- 编程实现电话簿的增删查改操作;- 文件存储与读取。

4. 课程设计实践:分组讨论、编程实现、测试与优化(教材实践环节)- 学生分组,明确分工;- 编程实践,完成电话簿管理系统;- 测试系统,发现并解决问题;- 优化程序,提高系统性能。

教学内容按照课程目标进行选择和组织,确保科学性和系统性。

教学大纲明确教学内容的安排和进度,结合教材相关章节,让学生在实践中掌握C语言电话簿课程设计所需的知识点。

c课程设计通讯录管理系统

c课程设计通讯录管理系统

c 课程设计 通讯录管理系统一、课程目标知识目标:1. 让学生掌握通讯录管理系统的基础知识,包括系统结构、功能模块和数据存储方式。

2. 了解并运用编程语言(如Python)实现通讯录的增、删、改、查功能。

3. 学会运用算法和数据处理技巧优化通讯录管理系统的性能。

技能目标:1. 培养学生运用所学知识独立设计和编写通讯录管理系统的能力。

2. 提高学生的问题解决能力,能够针对实际需求调整和优化系统功能。

3. 培养学生的团队协作能力,学会在项目中进行有效沟通和分工。

情感态度价值观目标:1. 培养学生对信息技术课程的兴趣,激发学习热情。

2. 增强学生的自信心,让他们在完成项目的过程中感受到成就感。

3. 培养学生的责任心,使他们认识到技术对社会发展的积极作用,并关注信息安全问题。

课程性质:本课程为信息技术课程,旨在让学生通过实践操作,掌握通讯录管理系统的设计与实现方法。

学生特点:六年级学生已具备一定的计算机操作基础和编程能力,对新鲜事物充满好奇,喜欢挑战。

教学要求:结合学生特点,注重实践操作,鼓励学生独立思考和团队协作,提高解决问题的能力。

将课程目标分解为具体的学习成果,以便在教学过程中进行有效指导和评估。

二、教学内容1. 系统分析与设计:- 理解通讯录管理系统的需求分析,明确系统功能。

- 学习UML类图、用例图等工具进行系统设计。

2. 数据存储结构:- 掌握使用数组、链表等数据结构存储通讯录信息。

- 分析不同存储结构的优缺点,选择合适的数据结构。

3. 编程语言实现:- 运用Python等编程语言编写系统功能代码。

- 掌握面向对象编程思想,实现类和对象的设计。

4. 功能模块实现:- 实现通讯录的增、删、改、查功能。

- 学习使用异常处理、文件操作等技术解决实际问题。

5. 系统优化:- 分析算法性能,优化查询速度。

- 掌握排序、查找等算法在通讯录管理系统中的应用。

6. 项目实战与团队协作:- 按照教学大纲,分阶段完成通讯录管理系统的开发。

c电话簿课程设计

c电话簿课程设计

c 电话簿课程设计一、课程目标知识目标:1. 学生能够掌握电话簿的基本概念,了解其在生活中的应用。

2. 学生能够运用所学知识,正确编写和查找电话簿中的信息。

3. 学生理解电话簿的分类和排序原则,并能够运用到实际操作中。

技能目标:1. 培养学生收集、整理和归纳信息的能力,提高电话簿的制作效率。

2. 培养学生运用电话簿进行有效沟通的能力,提升解决问题的技巧。

3. 培养学生团队协作能力,共同完成电话簿的制作和优化。

情感态度价值观目标:1. 培养学生对电话簿重要性的认识,激发学习兴趣,提高学习积极性。

2. 培养学生尊重他人隐私的意识,遵守电话簿使用规范,养成良好的信息素养。

3. 培养学生关爱家人、老师和同学,通过电话簿记录和分享生活中的重要信息。

课程性质:本课程为实践性较强的学科课程,结合学生生活实际,注重培养学生的实际操作能力和团队协作能力。

学生特点:学生具备一定的基础知识,好奇心强,喜欢动手操作,但需加强对电话簿使用规范的认知。

教学要求:教师应注重理论与实践相结合,引导学生积极参与,关注学生个体差异,提高教学效果。

同时,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 电话簿的基本概念:介绍电话簿的定义、作用及其在生活中的重要性。

- 教材章节:第一章第二节- 内容列举:电话簿的定义、分类、作用2. 电话簿的制作与整理:学习如何编写、整理和优化电话簿。

- 教材章节:第二章- 内容列举:电话簿的制作方法、分类排序、信息归纳与整理3. 电话簿的使用规范:讲解电话簿使用过程中应遵守的道德规范和隐私保护。

- 教材章节:第三章第一节- 内容列举:电话簿使用规范、隐私保护、信息素养4. 电话簿在生活中的应用:探讨电话簿在紧急情况、人际沟通等方面的实际应用。

- 教材章节:第三章第二节- 内容列举:电话簿的应用场景、实际操作、沟通技巧5. 团队协作与电话簿制作:培养学生的团队协作能力,共同完成电话簿的制作。

c语言课程设计通讯录管理系统课程设计报告

c语言课程设计通讯录管理系统课程设计报告

c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言通讯录管理系统的设计与实现,让学生掌握C语言编程的基本技能,培养其软件开发的基本思路与方法。

具体目标如下:1.知识目标:–理解C语言的基本数据类型、运算符、控制结构。

–学习C语言函数的定义与调用。

–掌握结构体、文件操作等高级C语言特性。

2.技能目标:–能够运用C语言实现简单的数据结构,如链表、数组。

–培养学生使用C语言进行程序设计的能力,能够独立完成程序编写、调试与优化。

–学会使用C语言实现文件操作,包括文件的读取与写入。

3.情感态度价值观目标:–培养学生对计算机科学的兴趣,增强其自主学习的动力。

–通过项目实践,培养学生的团队协作能力和解决问题的能力。

–引导学生理解技术对生活的影响,培养其对技术发展的责任感。

二、教学内容教学内容选取C语言编程的核心知识点,结合通讯录管理系统的实例进行讲解。

具体内容包括:1.C语言基础:数据类型、变量、运算符、控制结构。

2.函数:函数定义、调用、参数传递、返回值。

3.数据结构:数组、链表、栈和队列。

4.文件操作:文件读写、文件指针。

5.通讯录管理系统实现:结构体定义、系统功能实现、项目管理。

三、教学方法结合C语言特点和通讯录管理系统实例,采用以下教学方法:1.讲授法:系统讲解C语言基础知识和通讯录管理系统的设计理念。

2.案例分析法:通过分析典型代码案例,让学生理解程序设计逻辑。

3.实验法:学生在实验室进行编程实践,巩固理论知识。

4.讨论法:分组讨论问题,培养学生的团队协作和沟通能力。

四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》。

2.参考书:《C语言编程思想》、《C语言实践》。

3.多媒体资料:教学PPT、在线编程教程、视频讲解。

4.实验设备:计算机、网络环境、编程环境(如Code::Blocks、VisualStudio)。

五、教学评估本课程的教学评估将综合考虑学生的平时表现、作业、考试等方面,以全面、客观、公正地评价学生的学习成果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.新增函数说明根据姓氏,返回其在链表中的正确位置,新节点即将插入此点。

CNode*CList::Position_insertion_point(char name[20]){char temp_name[20];CNode *temp_ptr;int tempint;if(head_ptr->pNext!=NULL) // 如果有多于一个结点的链表,查找结点在链表中的正确位置{current_ptr=head_ptr;temp_ptr=current_ptr->pNext;strcpy(temp_name,temp_ptr->pData->GetName());tempint=strcmp(name,temp_name); /*比较链表中的姓氏与欲插入的姓氏的大小*/while((tempint>0)&&current_ptr->pNext!=NULL) /*若欲插入的姓氏大于链表中当前结点的姓氏,继续向下查找*/{current_ptr=temp_ptr;if(current_ptr->pNext!=NULL){temp_ptr=current_ptr->pNext;strcpy(temp_name,temp_ptr->pData->GetName());tempint=strcmp(name,temp_name);}}}else //如果只有一个头结点,返回头结点的位置,新结点插在头节点后 current_ptr=head_ptr;return(current_ptr);}3.电话簿记录在链表的读取与写入(1)从链表读取数据void CList::load_list_from_file(void) //从数据文件FRIENDS.DAT中读取数据,重建链表处理函数{CNode *new_rec_ptr; //CTelRecord *Phonebook;ifstream infile;int end_loop=0;infile.open("FRIENDS.DAT",ios::in);if(infile) //打开文件正确{do{new_rec_ptr=new CNode;new_rec_ptr->pData=new CTelRecord;if(new_rec_ptr!=NULL){char name[20],last[20],number[20];int year,month,day,hour,minute,second;infile.getline(name,20);new_rec_ptr->pData->SetName(name);infile.getline(last,20);new_rec_ptr->pData->SetLast(last);if((strcmp(new_rec_ptr->pData->GetName(),"")!=0)&&(strcmp(new_rec_ptr->pData->GetName(),"END OF FILE")!=0)) {infile.getline(number,20);new_rec_ptr->pData->SetNum(number);infile>>year;infile.get(pause);infile>>month;infile.get(pause);infile>>day;infile.get(pause);infile>>hour;infile.get(pause);infile>>minute;infile.get(pause);infile>>second;infile.get(pause);new_rec_ptr->pData->SetTime(year,month,day,hour,minute,second);Insert(new_rec_ptr);}else //读到文件尾{delete new_rec_ptr;end_loop=1;}}else //如果结点分配空家出错{cout<<"WARNING:Memory error.Load from disk wan unsuccessful.\n";end_loop=1;}}while(end_loop==0);infile.close();}else //如果打开文件出错cout<<"No usable data file located.List is empty.\n";}(2)将数据写入链表void CList::write_list_to_file() //将链表写入文件{ofstream outfile;outfile.open("FRIENDS.DAT",ios::out); //打开文件if(outfile) //打开正确{current_ptr=head_ptr;if(head_ptr!=NULL) //链表不为空,循环写入{do{outfile<<current_ptr->pData->GetName()<<endl;outfile<<current_ptr->pData->GetLast()<<endl;outfile<<current_ptr->pData->GetNum()<<endl;outfile<<current_ptr->pData->GetYear()<<endl;outfile<<current_ptr->pData->GetMonth()<<endl;outfile<<current_ptr->pData->GetDay()<<endl;outfile<<current_ptr->pData->GetHour()<<endl;outfile<<current_ptr->pData->GetMinute()<<endl;outfile<<current_ptr->pData->GetSecond()<<endl;current_ptr=current_ptr->pNext;}while(current_ptr!=NULL);}outfile<<"END OF FILE"<<endl;outfile.close();}else //打开文件出错cout<<"Error opening file!\n";}4.课程设计要求的实现(1)记录修改函数实现void CList::ModNum(void) //修改号码{system("cls");char search_string[20],new_phone_number[20];current_ptr=head_ptr;cin.ignore(20,'\n');cout<<"\nEnter the First name for which you want to change his or her phonenumber:";cin.get(search_string,20); //需要修改的姓氏cin.ignore(20,'\n');while((current_ptr!=NULL)&&((current_ptr->pData->Compare(search_string))!=0)) current_ptr=current_ptr->pNext;if(current_ptr!=NULL) //如果找到匹配的结点,输出结点信息{cout<<"\nRECORD FOUND\n";current_ptr->ShowNode();cout<<"Enter New Phonenumber:";cin.get(new_phone_number,20);cin.ignore(20,'\n');current_ptr->pData->Modify(new_phone_number);}else //查找万整个链表,未查到匹配的结点{cout<<"NO MATCH FOUND\n";cout<<"Press Enter Continue\n";cin.get(pause);system("cls");}}(2)记录录入信息时间void CTelRecord::SetRecord(char *name,char *last,char *number) //调用系统时间{strcpy(szName,name);strcpy(Last,last);strcpy(szNumber,number);struct tm *times; //定义时间指针变量.....(只能用指针)time_t t; //定义系统时间变量,供提供系统时间t = time(0); //当前系统时间给变量ttimes = localtime(&t); //把系统时间变量强制转换成tm结构体形式时间nYear=(times->tm_year+1900);nMonth=times->tm_mon;nDay=times->tm_mday;nHour=times->tm_hour;nMinute=times->tm_min;nSecond=times->tm_sec;}(3)首字母查询功能void CList::SearchFriends(void){system("cls");char FirstWords[20],name[20];int length,k=0;current_ptr=head_ptr;cin.ignore(20,'\n');cout<<"\nEnter the first words to found several similar Friends:";cin.get(FirstWords,20);cin.ignore(20,'\n');length=strlen(FirstWords);while(current_ptr!=NULL){strcpy(name,current_ptr->pData->GetName());name[length]='\0';if(strcmp(name,FirstWords)==0) //如果找到匹配的结点,输出结点信息{if(k==0)cout<<"\nRECORD FOUND\n";current_ptr->ShowNode();k=1;}current_ptr=current_ptr->pNext;}if(k==0) //查找万整个链表,未查到匹配的结点{cout<<"NO MATCH FOUND\n";cout<<"Press Enter Continue\n";cin.get(pause);system("cls");}}五、运行界面、运行结果与使用说明六、小结与思考:1.在做了课程实验以后,我对C++的了解更深了,很多知识得到了巩固,一些不懂的知识也渐渐明了!这其中主要是对类的封装收获很多,在类的封装过程中,对数据的访问控制问题很重要;在面向对象程序设计中,对访问的控制也是比较重要,我相信这对以后学习其他面向对象程序语言会有很大的帮助!2.作了电话簿管理得小型程序后,我对链表更加熟悉了,作为C++所特有得指针和链表再编写程序得过程中运用十分广泛,我还必须多加练习才能达到一个更高的水平,链表和类都是非常重要的!3.在完完整整的做完一个课程实验后,我对程序的整体性有了一个明确的认识,做一个程序必须要注意程序前后的联系,要具有清晰的思路,程序要具有层次。

相关文档
最新文档