




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书课程名称 _C+C+ 项目设计 _设计题目_学生姓名 _学号 _专 业_指导教师_年一月一日目录一、系统开发相关情况. 1 1(一)开发背景. 1 1(二)系统开发的目标 . 1 1二、 .系统以及需求分析 1 1(一)系统目标 . 1 1三、 .程序功能描述以及模块结构 2 2(一).功能模块描述及主要类描述 2 2(二).程序流程图 错误!未定义书签。(三).数据结构表 3 3四、 .用户使用说明与调试结果 4 4(一).使用说明 4 4(二).调试结果 4 4(三).优缺点分析 7 7五、 .总结 7 7参考文献: . 错误!未定义书签。附录:职工信息管理系统源码(C C+
2、 + ) . 8 8随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技 术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生 存要发展,要高效率地把内部活动有机地组织起来, 就必须建立与自身特点相适 应的管理信息系统。本文介绍了在Microsoft Visual C+ 6.0环境下开发一个通讯录的过程。本系统界面友好,操作简单,比较实用。一、系统开发相关情况(一)开发背景随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在 技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要 生存要发展,要高效率地把内部活动有机地组织起来, 就必
3、须建立与自身特点相 适应的管理信息系统。(二)系统开发的目标为了更好地适应我校的要求,进一步提供全方位的信息服务通讯录在实施 后应该能够达到以下的目标:能够准确地记录职工的相关信息。系统界面友好、操作简单易行,查询灵活方便,数据储存安全可靠。系统维护安全、方便、可靠,并且能够实现实用性,先进性的要求。二、系统以及需求分析(一)系统目标除了前面所述,我们所开发的系统还应该具有以下功能:原始数据修改简单方便;方便的数据查询; 删除数据方便简单,稳定性好; 数据计算自动完成,尽量减少人工干预;三、程序功能描述以及模块结构(一)功能模块描述及主要类描述模块一:增加人员函数 Add ();增加通讯录基本
4、信息。模块二:删除人员函数Delete();删除指定的学生的基本信息。模块三:修改人员函数 Modify ();修改指定的通讯录基本信息。模块四:查询人员信息函数 Query();查询指定的学生信息。模块五:数据存盘,载入函数Save ()以及Load ();储存与载入基本信息。模块六:预览数据void Look();预览比较详细的信息。模块七:删除通讯录void DesTory();删除已载入的所有的信息。模块八:基础数据设置函数void TJ();;统计男女的人数,以及总人数。本通讯录采用了面向对象的程序设计方法。所有的方法均以类为基础。所涉及到的类包括:class Person基本员工类
5、;该类是一个基类,设置了属于保护类的职工基本 属性,以及构造函数 Person(char ID,char *Name,int Duty)。可以给职工类型继 承。Class Manage管理类;该类定义了管理函数,即前文所述八个模块功能的实 现方法,链表的使用也包括其中。此类的作能在于将所有功能模块集成并定义本 系统使用的主要方法。(二)程序流程图图3-1程序流程图(三)数据结构表序号成员名数据类型长度字段含义1Nostri ng学号2Namechar20名字3Sexchar10性别4Telstri ng20联系方式5Agestri ng年龄表3-1数据结构表1234567812345678录录
6、录信 录 讯讯迅细習心讯 通哽通详数信通 新删修查保预情统*四、用户使用说明与调试结果(一)使用说明这是一个关于职工信息管理系统,具有录入、输出、删除、查询、修改、保 存、统计等功能,建立了一个含有学号、姓名、性别、联系方式等成员的类的变 量class Person。已从文本录入了范例数据。调试过程中,可按照有关提示进行 相关操作:增加通讯录按“ 1”键;删除通讯录按“ 2”键;修改通讯录按“ 3”键;查询详细通讯录按“ 4”键;保存通讯录数据设置按“ 5”键;预览通讯录按“ 6”键;清除通讯录按“ 7”键;统计数据按“ 8”键。(二)调试结果代码中运用了 switch语句调用各子函数,数字
7、1、2、3、4、5、& 7、8 等七个数字代表不同的指令。系统启动时,会自动在存放该系统的磁盘根目录之下装入一个数据文件: person.txt,调试时一个数据文件都已经写入部分数据,使用功能“6预览通讯录”,显示如下:制入学号制入学号IDID = =4848学姓性番拥4848麻男邕- -* * V V - - : : - * 曰号名别龄系15.87341979815.873419798俞睪生俞睪生 2020煦 2020刘男2020话 .电 号名别龄系 学姓性常定是否删除定是否删除YAO next,指向第二个结点;下图示 范了删除第一个节点之后的显示结果:斤要删除的学生的信息如下斤要删除的学生
8、的信息如下: :学姓性養4141畳八2B2B话口号苏岭系文韬文韬: :15211466460152114664601-1-修改姓名修改姓名 氛修改性别氛修改性别3 3 修改年龄修改年龄修改联系方式修改联系方式5-5-退出修改退出修改录 录讯讯讯細逋11通详数信通 新M M修杳_保预畫 1234567812345678如果删除的是第i个(0 i n)就把下一个结点地址赋给前一个结点地址; 如果找不到对应的ID,则不会删除任何一个记录,并输出“未找到! ”。指令“3 修改人员”代表调用修改人员函数 Modify (),体统根据操作者 输入的ID找到对应的记录,将新输入的数据对应地赋给要修改的各成员
9、。请选择请选择“-5“-5要修改的信息、要修改的信息、片罄憋恳購片罄憋恳購9 9 3.3.修改年齡修改年齡4.4.傩改联系方式傩改联系方式5.5.退岀修改退岀修改请选择请选择 一一5)5)雯修改的倩息雯修改的倩息指令“ 5保存数据”表示调用存盘函数 Save (),输入“ 丫”或者“ N 以进一步操作。侏存数据,是否继续侏存数据,是否继续離鶴诬续指令“8 统计”,调用TJ();函数,按照男、女统计人数:指令“ 7清除通讯录”,调用DesTory()清除已存数据:听要修改的学生的信息如听要修改的学生的信息如下下: :(三)优缺点分析优点:系统中包含了输入、输出、保存、删除、查询、修改等多种功能,
10、系统操 作灵活性较强,功能较强大;可以随意地选择不同的指令进行操作;排版效果清晰明了,美观;操作简单方便。缺点:由于该系统对数据采用文本保存方式,所以安全性不可靠。采用链表结构操作,不能支持超大量的数据,否则运行缓慢。五、总结本次设计我们选择的题目是通讯录。 因为事先的计划非常明确,所以我们在 完成这个设计的过程也是比较顺利的。在系统分析和设计的部分仍然花了比较多 的时间。模块设计部分因为涉及功能的实现,要从抽象的设计转化成实际的代码, 因此对于某项功能的实现方法都思考得比较详尽。 加上在开发系统之前,我们阅 读很多与本系统有相关内容的书籍以做参考,使得此次系统编写能顺利进行。由 于班里每个人
11、都需要做一份设计,所以我们经常互相交流。在交流的时候经常能 够互相提出更好的建议。经过对通讯录的分析与编写,我得到了很大的收获。自主学习的必要性更是 解决问题的基础。这次设计使我重温了以前学过的各科知识, 让我对C+编程 有了更深刻的认识。除了对系统作出正确的分析,实际的调查工作对系统的整体 设计有着至关重要的作用。所以在分析系统之前,我花了一些时间在公司的实际 管理工作调查上。也因为这样,如何编写代码逐渐变得明朗。每一个功能模块经 过调查后后,各个功能逐渐显露出来,然后,反复探讨,验证这项功能是否有存 在的必要,是否可以改进得更好。在这样的前提下,最后顺利完成了这份设计。这次C + +系统设
12、计作业,提升了我分析问题的能力和思考问题的逻辑能 力,更明白实际调研的重要性。从这次设计学到的东西,相信会对我们日后的学 习工作起到很大的指导作用附录:通讯录系统源码(C+ + )#in clude#in clude#in clude#in clude#i ncludevWi ndows.h#i ncludevwi ndows.husing n amespace std;stri ng ID;/具有唯一性class Pers onprotected:stri ng No; / 学号stri ng Age;char Name20; / 姓名char Sex10; / 性别stri ng Tel;
13、 / 联系方式Pers on *n ext;public:Pers on( stri ng ID,char *Name,char *Sex,stri ng Age,stri ng Tel)strcpy(this-Name,Name); strcpy(this-Sex,Sex); this-Tel=Tel; this-No=ID; this-Age=Age;frie nd class Man age;;class Man ageprivate:Pers on *pers on;public:Ma nage()pers on=0;Load();Ma nage()Pers on *p;p=pers
14、on;while(p)p=p-n ext; delete pers on;pers on=p;pers on=0;void Fi nd(char Name20);按姓名查找void Fi nd(stri ng ID);/ 按编号查找 void Add(); / 添加加信息void Delete(); / 删除信息void Modify(stri ng ID); /修改信息void Query(); /查询信息void TJ(); / 清除文件信息 void Save(); / 保存数据 void Load(); / 读入数据 void Look();预览void DesTory();void
15、Output(Pers on *p)学号:Noe ndl; 姓名:NameSexvendl; 年龄:Agee ndl; 联系电话:Telvendl;coutttcoutttcoutttcoutttcoutNo=No)break;elsep1=p1- n ext;if(p1!=NULL)coutvv该学号已存在,是否修改该学生信息(Y/N) c;if(toupper(c)=Y)cout该学生信息为: Name;coute ndl;coutvv输入性别:t;cin Sex;coutvve ndl;coutvv输入年龄:t;cin Age;coutvve ndl;coutvv输入联系方式:t;cin
16、 Tel;coute ndl;p=new Pers on(N o,Name,Sex,Age,Tel);p-n ext=0;/学生结点加入链表if(perso n) /若已经存在结点p2=pers on;while(p2- next) /查找尾结点p2=p2-n ext;p2-n ext=p; / 连接else /若不存在结点(表空)pers on=p; / 连接system(cls);coutttt *添加成功 *nendl;coutvv是否继续添加(Y/N) c;if(toupper(c)=Y)Add();return ;elsereturn ;void Man age:Delete() /
17、删除人员system(cls);char c;stri ng No;coutn*删除信息 *n;cout输入要删除的学生ID:t;cinNo;coute ndl;/查找要删除的结点Person *p1,*p2;p1=pers on;while(pl)if(p1-No=No)break;elsep2=p1;p1=p1- n ext;/删除结点if(p1!=NULL) 若找到结点,则删除coutvv所要删除的学生的信息如下:n c;if(toupper(c)!=Y)return;/ system(pause);if(p1=pers on) /若要删除的结点是第一个结点pers on=p1- n e
18、xt;delete p1;else /若要删除的结点是后续结点p2-n ext=p1- n ext; delete p1;couttt*删除成功 *n;cout是否继续删除(Y/N) c;if(toupper(c)=Y)修改联系Delete(); return ;elsereturn ;else /未找到结点cout未找到该学生!n;getch();void Man age:Modify(stri ng ID)Pers on *p1;char c;p1=pers on;while(p1)if(p1-No=ID)break;elsep1=p1- n ext;if(p1!=NULL)若找到结点sy
19、stem(cls);coutvv所要修改的学生的信息如下:nvendl;Output(pl);docout1.修改姓名2.修改性别3.修改年龄4方式5. 退出修改nendl;coutvv请选择(1-5)要修改的信息n c;if(c!=5)coutvv请输入新的信息:;switch(c)case 1: cin p1-Name; break;case 2: cin p1-Sex; break;case 3: cin p1-Age; break;case 4: cin p1-Tel; break;default: break;while(c!=5);system(cls);coutt * 修改成功
20、*nendl;coutvv是否继续修改(Y/N): c;if(toupper(c)=Y)coutvv请输入要修改人员的ID:;ci n ID;coutvve ndl;Modify(ID);return ;elsereturn ;else /未找到结点cout未找到该学生!n;getch(); 暂停void Man age:Save() /数据写入到文件ofstream fPers on (Perso n. txt,ios:out);char c;Agecout c;if(toupper(c)!=Y)return;Pers on *p=pers on;while(p)fPers o* NoNam
21、e SexTelvn ext;fPers on .close();coutN oNameSexAgeTel;while(fPers on. good() p=new Pers on(N o,Name,Sex,Age,Tel); p-n ext=0;/员工结点加入链表if(perso n) /若已经存在结点Pers on *p2;p2=pers on;while(p2- next) / 查找尾结点p2=p2-n ext;p2-n ext=p; / 连接else /若不存在结点(表空)pers on=p; / 连接fPers onNo NameSexAgeTel;fPers on .close()
22、;void Man age:F in d(stri ng ID)Pers on *p1;p仁pers on;while(p1)if(p1-No=ID)break;elsep1=p1- n ext;if(p1!=NULL)Output(pl);elsecout未找到该学生Name,Name)=0)coun t+;Output(p1);p1=p1- n ext;if(co unt)coutt 查询成功!endl;coutn 共找到count个名字为 Name 的同学 ne ndl;elsecoutntt未找到该学生!nendl;void Man age:Query()char c;stri ng
23、ID,Tel;char Name20;docoutvv1.按学号查找 2. 按名字查找3.按电话号码查找4.退 出查找 c;/ system(cls);coute ndl;switch(c)case 1: coutvv输入学号ID:;cin ID;Fi nd(ID); break;case 2: cout输入姓名 Name:;cin Name;Fin d(Name); break;case 3: cout输入电话号码Tel Tel;Fi nd(Tel);break;case 4:break;default: cout输入有误请重新输入!!nendl;while(c!=1&c!=2&c!=3&c
24、!=4);coutttt *查找成功 *nendl;coutvv是否继续查找(Y/N) c;if(toupper(c)=Y)Query(); return ;elsereturn ;system(pause);void Man age:Look()/设置字体颜色SetC on soleTextAttribute(GetStdHa ndle(STD_OUTPUT_HANDLE),FOREGROUN D_INTENSITY |FOREGROUND_RED | FOREGROUND_GREEN);system(cls);Pers on *p1;int coun t=0;char c;p1=pers
25、on;while(p1)coutID: vvp1-NoNamen ext;if(cou nt!=O)coutntt预览成功! n c;if(toupper(c)=Y)Query(); return; elsereturn ;elsecoutvv尚未创建通讯录,是否创建(Y/N)v c;if(toupper(c)=Y)Add();return;elsereturn ;void Man age:DesTory()/设置字体为红色SetC on soleTextAttribute(GetStdHa ndle(STD_OUTPUT_HANDLE),FOREGROUN D_INTENSITY |FORE
26、GROUND_RED);char c;system(cls);coutnttt*清除信息 *n;coutvv警告:n清除通讯录信息会导致您保存的信息完全消失!nvve ndl;coutvv 是否决定清除通讯录信息(Y/N): c;if(toupper(c)!=Y)return;coutvv请再次确认(Y/N) c;if(toupper(c)!=Y)return;elsePers on *p;p=pers on;while(p)p=p-n ext;delete pers on;pers on=p;pers on=0;/ ofstream fPers on (pers on .txt);/ fPers on .close(); system(pause);void Man age:TJ()Pers on *p1;in t cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林资源经营风险管理考核试卷
- 膨化食品生产考核试卷
- 管道工程质量管理信息系统考核试卷
- 肥料制造中的生态农业与有机农业考核试卷
- 木材质量检验与判定考核试卷
- 建材家居经销商会员制合作及积分奖励合同
- 工业废气处理工程验收质量标准及售后服务合同
- 主题展览地接服务补充协议
- 抖音火花澳新市场电商分销渠道合作协议
- 《婚前财产分割及债权债务明确处理协议》
- 手机媒体概论(自考14237)复习题库(含真题、典型题)
- 琴行老师劳动协议合同
- 2024年陕西省普通高中学业水平合格性考试历史试题(解析版)
- 2024年河北承德公开招聘社区工作者考试试题答案解析
- 以科技赋能医疗打造透明化的肿瘤疾病诊断平台
- 新疆维吾尔自治区和田地区2024-2025学年高三5月考试题语文试题试卷含解析
- 环保安全知识课件
- 重庆建峰工业集团有限公司招聘笔试题库2025
- 江苏省苏、锡、常、镇2025年高考物理三模试卷含解析
- 2024北京朝阳城市发展集团有限公司社会化招聘专场笔试参考题库附带答案详解
- 山东临沂市罗庄区兴罗投资控股有限公司招聘笔试题库2025
评论
0/150
提交评论