ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:452.16KB ,
资源ID:19763432      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19763432.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计通讯录Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课程设计通讯录Word格式.docx

1、5.运行结果.66.程序调试.97.编程体会.10一、课程设计目的(1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。(2)通过课程设计,进一步掌握C+及类和对象。掌握类的特点并熟练类的封装、继承和多态。(3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。(4)通过课程设计,培养C+语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个中小型系统。(5)通过课程设计,加强了自己的程序分析能力,同时让自己对C+有了更深刻的了解。二、课程设计内容此系统提供对通讯录信息的录入、编

2、辑、查找、统计等功能。具体功能实现如下:(1)信息录入、添加:实现人员通讯录信息的录入、添加功能。(2)信息存储:能将录入的信息以文件形式加以保存。(3)编辑功能:对指定人员的通讯录信息进行删除或修改等功能,也可对所有录入的 信息进行一次性删除。(4)信息浏览功能:实现对全部人员的通讯录信息浏览及详细查看。(5)查询功能:实现按学号查询、按姓名查询通讯录信息的功能。(6)统计功能:实现对男生、女生人数及总人数的统计功能。(7)系统以菜单方式工作,界面清晰易于操作。三、总体设计本系统的功能模块如下图(1)所示,主要有以下模块:(1)课程名称界面:在主函数int main()中,实现课程设计名称以

3、及作者的显示。(2)主菜单界面:在主函数int main()中,实现系统主菜单的显示。(3)通讯录信息录入:构造函数void Add(),实现学生通讯录信息的录入及显示。并 通过调用函数void Count(),实现对学生简历信息的添加录入以及对学生总数的统计。(4)通讯录信息修改:构造函数void Modify(string ID),实现对需要修改通讯录信 息的学生的查找,并实现通讯录信息修改界面的显示并对其简历信息进行修改。(5)通讯录信息查询:构造函数void Search(),实现查询界面的显示。并通过对按 学号查询函数void Find(string ID)、按姓名查询函数 void

4、 Find(char Name20)的 调用,实现相应的通讯录信息的查询。(6)通讯录信息删除:构造函数void Delete(),实现对指定学生的通讯录信息的删 除。(7)通讯录信息浏览:构造函数void Look(),实现通讯录信息粗略浏览界面的显示。 并通通讯录查询函数void search()的调用,实现相应的通讯录详细信息的浏览。(8)统计男女人数:构造函数void Count(),实现对不同性别的人数及总人数统计。(9)通讯录保存:构造函数void Save(),实现将信息保存到文件。图(1)四、详细设计 (1)数据结构设计本程序用到的数据结构主要有:指针、链表、类、文件等。先创建

5、一个类型为Person的基类,其成员为人员的通讯录信息,再创建一个继承类Manage实现各种功能。然后通过对指针、链表、文件等数据结构的操作,实现对通讯录信息的录入,插入,存盘,查询,浏览,删除,修改等一系列操作。(2)模块接口声明1.所有函数模块声明如下 void Find(char Name20);/按姓名查找 void Find(string ID);/按编号查找 void Add(); /添加加信息 void Delete(); /删除信息 void Modify(string ID); /修改信息 void Search(); /查询信息 void Count(); /统计信息 vo

6、id Save(); /保存数据 void Load(); /读入数据 void Look();/预览 void DeAll();/删除通讯录 void Output(Person *p)/输出信息2.并定义了一个全局变量string ID;/(全局变量)具有唯一性3.主要模块的实现系统以主函数int main()为入口,首先1通过system(color f0);将文本颜色置为黑色,背景颜色置为白色。在主函数int main()中,显示课程设计名称,显示系统欢迎界面,进入主菜单界面。系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。1以下是主菜单的流程图:图(2)2以下为

7、录入信息的实现: N Y N YN图(3)3以下为按学号查询的实现图(4)4以下为统计模块的实现图(5)五、运行结果(1)主菜单界面:图(6)输入功能选择,系统自动进入相应功能界面。(2)信息录入界面:图(7)录入各种信息。(3)信息浏览界面:图(8)可预览部分信息,也可查询详细信息。(4)信息修改界面:图(9) 可分别修改各类信息。(5)信息清除界面:图(10)清除全部信息时会有警告。七、编程体会经过对通讯录的分析与编写,我得到了很大的收获。自主学习的必要性更是解决问题的基础。这次设计使我重温了以前学过的各科知识,让我对C编程有了更深刻的认识。这次我所做的通讯录系统中包含了输入、输出、保存、

8、删除、查询、修改等多种功能,系统操作灵活性较强,功能较强大;可以随意地选择不同的指令进行操作;排版效果清晰明了,美观;由于该系统对数据采用文本保存方式,所以安全性不可靠;采用链表结构操作,不能支持超大量的数据,否则运行缓慢。通过这次课程设计,我了解到学习c+需要有活跃的思维,灵活运用已有的知识,对于程序更是要有相当的耐心去调试,要有探索的精神,不断钻研,不断思考。这次C系统设计作业,提升了我分析问题的能力和思考问题的逻辑能力,更明白实际调研的重要性。从这次设计学到的东西,相信会对我们日后的学习工作起到很大的指导作用。八、源程序/ 通讯录 /计科1201 21 殷学梅/#includefstre

9、amstringconio.hWindows.h/#includeusing namespace std;class Personprotected: string No; /学号 string Age; /年龄 char Name20; /姓名 char Sex10; /性别 string Tel; /联系方式 Person *next;public: Person(string ID,char *Name,char *Sex,string Age,string Tel) /构造函数 strcpy(this-Name,Name);Sex,Sex); this-Tel=Tel;No=ID;Ag

10、e=Age; friend class Manage;/类Manage是类Person的一个友元类,类Manage中的所有成员函数为类Person的友元函数;class Manageprivate: Person *person; Manage()/构造函数 person=0; Load();/数据读入 Manage() Person *p; p=person; while(p) p=p-next; delete person; person=p; void Output(Person *p);/预览信息void Manage:Output(Person *p) coutNoendl;tt姓名

11、:Namett性别:Sextt年龄:Agett联系电话:TelAdd() system(cls Person *p2; /新结点指针 Person *p; string No,Age,Tel; char Name20,Sex10; char c; coutNo; Person *p1;/指向头结点 p1=person; while(p1) if(p1-No=No) break; else p1=p1- if(p1!=NULL)该学号已存在,是否修改该学生信息(Y/N) cinc; if(toupper(c)=Y) coutnext=0; /学生结点加入链表 if(person) /若已经存在结

12、点 p2=person; while(p2-next) /查找尾结点 p2=p2- p2-next=p; /连接 else /若不存在结点(表空) person=p;ttt *添加成功*n是否继续添加(Y/N) if(toupper(c)= Add(); return ; else return ;Delete() /删除人员 n* 删除信息 *n输入要删除的学生ID: /查找要删除的结点 Person *p1,*p2; p2=p1; /删除结点 =NULL)/若找到结点,则删除 所要删除的学生的信息如下:n Output(p1);确定是否删除(Y/N): if(toupper(c)!= re

13、turn; if(p1=person) /若要删除的结点是第一个结点 person=p1- delete p1; else /若要删除的结点是后续结点 p2-next=p1-tt*删除成功*n是否继续删除(Y/N) Delete(); return; else /未找到结点未找到该学生! getch();Modify(string ID) No=ID) =NULL)/若找到结点 system(所要修改的学生的信息如下: do1. 修改姓名 2. 修改性别 3. 修改年龄 4. 修改联系方式 5. 退出修改 n请选择(1-5)要修改的信息n cin if(c!5请输入新的信息: switch(c

14、) case 1p1- break;234 default: while(c!t *修改成功*n是否继续修改(Y/N):请输入要修改人员的ID:ID; Modify(ID); else /未找到结点 /暂停 Save() /数据写入到文件 ofstream fPerson(Person.txt,ios:out); /文件以输出方式打开(内存数据输出到文件)n保存数据,是否继续?Y/N: if(toupper(c)! return; Person *p=person; while(p) fPerson fPerson.close();n保存成功.npause/暂停程序的退出Load() /数据读

15、入 ifstream fPerson; fPerson.open(person.txtin); /文件以输入方式打开(文件数据输入到内存) fPersonNoNameSexAge while(fPerson.good() p=new Person(No,Name,Sex,Age,Tel); p- /员工结点加入链表 if(person) /若已经存在结点 Person *p2; p2=person; while(p2- p2=p2- else /若不存在结点(表空) fPersonFind(string ID)未找到该学生Find(char Name20) int count=0; if(strcmp(p1-Name,Name)=0) count+; Output(p1); if(count)t查询成功!n共找到 count 个名字为 的同学nntt未找到该学生!Search() string ID,Tel; do1. 按学号查找 2. 按名字查找 3.退出查找 switch(c) case cout Find(ID); ;输入姓名 Name: Find(Name); default:输入有误 请重新输入!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1