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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++课程设计同学录设计报告.docx

1、C+课程设计同学录设计报告面向对象程序设计课程设计报告 同学录管理系统 杨敬周 计算101 题 目班 级姓 名 学 号2011年7月1日 同学录管理系统详细设计说明书1. 项目设计背景:2. 项目设计目的: 通过设计一个同学录管理系统,进一步熟悉C+中类的概念、基本知识和技能,类的封装、继承的实现方式。掌握面向对象程序设计的基本思路和方法,并利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C+的理解与Visual C+环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。3. 项目需求分析以

2、本班的同学的具体数据为背景,设计一个本班同学同学录,要求如下:(1) 录入信息,必须包括:姓名,性别,电话,家庭地址,邮编,E-mail等基本信息;(2)修改信息,包括插入一条或多条信息,修改或者删除某人的信息;(3)查询信息,可以按姓名,家庭住址,性别等多种方式查询;(4)显示所有信息 ;4. 概要设计 同学录管理系统 数据结构及各模块分析:1.设计类,对象及基本数据类型:创建一个Classmates类,它有五个私有数据成员:string name; 姓名string address; 地址string number; 电话号码string post; 邮编string email E-ma

3、ilstring qq; QQ号码包含七个公有成员函数:功能如下:char diaplay(); 首页void add_person(); 添加同学void del_person(); 删除同学void show_all(); 显示所有同学void alter(); 修改信息void inquiry(); 查询同学void save_new(); 保存新增加的同学在主函数main()之中,.Classmates obj; 创建名为obj的对象结构体:struct studentClassmates object; object对象作为结构体student的一个成员student *prior;

4、 定义一个指向前驱的结构体指针student *next; 定义一个指向后继的结构体指针;该结构体是在alter()修改函数中用来处理相关信息的修改.字符串变量: str,record;字符变量: choose;布尔型变量: flag;数据保存方式以及格式:该同学录管理系统将把输入的人员信息保存为pClassmates.txt 文本文件,在文件读取时系统将会把该文件中相关信息读出,并在屏幕上显示出相关信息.2.实现各模块功能的相应程序:1.界面:display()system(cls);coutendl;couttt-. fflush(stdin);return choose;添加同学:add

5、_person()coutendl根据下面 . .save_new()ofstream outData(pClassmates.txt, ios:app);if(!outData) outData.close();coutendl新同学信息已经保存好!endlendl;system(pause);删除同学信息del_person()ofstream outData(temp.txt, ios:out); coutendl这个人的信息已经从你的同学录中删除!endlendl;system(pause);显示所有同学信息:show_all()ifstream inData(pClassmates.

6、txt,ios:in); cout所有同学信息已经全部显示出来!endl;system(pause);修改同学信息alter()ifstream inData(pClassmates.txt, ios:in); coutendl信息已经修改完成!endlendl;system(pause);查询同学信息select()ifstream inData(pClassmates.txt,ios:in); system(pause);5. 详细设计 详细功能如下:A,添加:系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名,电话号码,QQ号,邮箱,邮编,地址.B,删除:首先由用户输入

7、要删除的人员的姓名或者电话号码,然后调用删除函数,删除该人员的所有相关资料.C,显示所有人员信息:该功能将显示已经保存的所有人员的姓名,电话,QQ号,邮编及地址.D,修改:首先由用户输入要修改的人员姓名或者电话号码,然后系统用修改函数查找,显示该名同学的资料,然后系统提示用户输入需要修改的人员的相关信息.并用双向链表来实现修改功能E,查询:可由用户输入要查找的人员姓名或电话号码,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息.F,退出系统关闭同学录管理系统.菜单用于选择各项功能:其中包括:.a:添加新同学; .b:删除同学;.c:显示所有人员信息;.d:修改人员信息

8、;.e: 查询同学; .f:关闭同学录.采用面向对象的程序设计方法,a,b,c,d,e,这五项菜单都调用一个函数来实现. void Classmates:alter() ifstream inData(pClassmates.txt, ios:in); /打开文件pClassmates.txt,进行读操作 if(!inData)/判断文件打开是否成功 coutendl对不起不能打开文件!endlendl; /如果打开失败,输出 “对不起不能打开文件!” system(pause);/屏幕暂停 return; string sign;/定义字符串变量sign coutendlsign;/输入变量

9、sign fflush(stdin);/清空缓冲区 record *H=new record; /新建结构体指针变量H,并为其分配空间 record *p=H;/使p指针指向指针H record *q=H;/使q指针也指向指针H bool flag=true;/定义布尔型变量flag. while(inDatap-object.namep-object.numberp-object.qq p-object.postp-object.address) /读取文件中一个人的信息 p-next=new record; /建立双向链表 p=p-next; p-prior=q; q-next=p; q=

10、p; p-next=NULL;/使p的next成员指向NULL. inData.close();/关闭pClassmates.txt文件 p=H;/使指针变量P指向结构指针H的头节点 while(p)/当p不为空时 if(p-object.name=sign)|(p-object.number=sign) /判断输入是否为空. if(flag) coutendl你想修改你同学的信息如下:endlendl; coutsetiosflags(ios:left)setw(17) object.namesetw(16)object.number setw(18)object.qq setw(14)ob

11、ject.postsetw(20)object.addressendl;/输出要修改的人的信息 flag=false; coutendl请根据下面提示修改信息 : endl; coutp-object.name; fflush(stdin); coutp-object.number; fflush(stdin); coutp-object.qq; fflush(stdin); coutp-object.post; fflush(stdin); coutp-object.address; fflush(stdin); break; /根据提示进行修改 p=p-next;/使结构体指针p指向该指针

12、的末尾 if(flag) coutendl你的同学录中没有你找的联人!;coutendlendl; system(pause); return; else ofstream out(pClassmates.txt,ios:out); /打开文件pClassmates.txt,进行写操作 if (!out) /判断文件打开是否成功打开 cout endl 对不起!不能打开文件! endl; system(pause); return; p=H; /使结构体指针p指向被修改的人的记录的首地址. while(p)/如果p不为空,则执行以下语句 outsetiosflags(ios:left)setw

13、(17)object.name setw(16)object.number setw(18)object.qq setw(14)object.post setw(20)object.addressnext;/使用p指针指向其本身的末尾 out.close();/关闭pClassmates.txt文件 coutendl信息已经修改完成!endlendl; system(pause);/屏幕暂停 6. 设计总结 参考文献:C+ 程序开发 深入浅出参考网站:Google , XX ,csdn 等等 在开发当中,遇到问题是正常的,关键是怎样解决问题。不要因为问题难解决就放弃了,如果那样,你就很难完成一件事情了 !

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

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