《面向对象程序设计》课程设计_第1页
《面向对象程序设计》课程设计_第2页
《面向对象程序设计》课程设计_第3页
《面向对象程序设计》课程设计_第4页
《面向对象程序设计》课程设计_第5页
已阅读5页,还剩13页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南城建学院河南城建学院 面向对象程序设计面向对象程序设计课程设计报告书课程设计报告书 设 计 题 目:人员档案管理系统 指 导 老 师:崔雪冰 李蓓 景伟娜 学 生 学 号: 学 生 姓 名:欧阳万里 同 组 人 员:肖胜军 高红星 刘周亮 时 间:2014 年 1 月 3 日 目 录 第第 1 章章 选选 题题.2 1.1 题目背景.2 1.2 系统实现的具体分工.2 1.2.1 标题.2 1.3 开发环境.2 第第 2 章章 设设计计内内容容.3 2.1 实现功能.3 2.2 概要设计(涉及类的框图).3 2.3 界面设计.4 第第 3 章章 系统系统实实现现.5 3.1 涉及知识点.5

2、 3.2 系统运行(主要运行界面抓图).5 3.3 源程序清单(关键代码).6 第第 4 章章 结束结束语语.15 第 1 章 选 题 1.1 题目背景 随着信息时代的到来和全社会信息化、网络化建设的兴起,传统的人员档案管理模式和 操作方法越来越不能满足用户的需要。智能化、网络化、信息化的人员档案管理系统应用 势在必行。 1.2 系统实现的具体分工 系统分为人员结构体、人员类以及主函数等几大模块,其中人员结构体实现对人员档 案信息的描述,人员类实现对人员档案的管理,main() 函数实现对程序主界面的引导。 1.2.1 标题 人员档案管理系统 1.3 开发环境 Visual C+ 6.0 机型

3、: 方正电脑 处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 2.53GHz 硬盘驱动器:WDC WD1600AAJS-22WAAO 系统内存:金士顿内存 2GB 显示卡:NVIDIA GeFORCE 9400 GT 显示器:方正科技 FG981-W9 操作系统: Microsoft Windows XP Professional 第 2 章 设计内容 2.1 实现功能 系统主要包括新增成员、查找人员、删除人员和退出功能。用户需输入登录密码才能 进入主界面,然后进行下一步的操作。 2.2 概要设计(涉及类的框图) 姓名 工作证号 性别 民族 身份证号 家庭电话 家庭

4、住址 部门 职务 人员类,实 现对人员信 息的管理 新增 人员 显示 所有 人员 信 息 删 除 人 员 删除所 有人员 主程序 登录密码正确输 出主界面 选择菜单号进 行相关操作后, 退出或按任意 键返回主界面 人员档案 管理系统 人员结构体,实 现对人员信息的 描述 按工 作证 号查 找 修改人 员信息 2.3 界面设计 界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。 结构设计 结构设计也称概念设计 ,是界面设计的骨架。该系统运行时界面上的目录体系和词 语定义易于用户理解和操作,例如主界面的目录体系包括 1 增加新成员、2 查找人员信息、 3 修改人员信息 4、显示人员信息

5、 5、删除人员信息 6、删除所有人员信息 7、退出。充分 体现了结构化的界面设计理念。 交互设计 交互设计的目的是使产品让用户能简单使用。 任何产品功能的实现都是通过人和机 器的交互来完成的。该人员档案管理系统中包含 1)清楚的错误提示,误操作后,系统提供 有针对性的提示。例如用户输入的密码或编号错误时,系统会给出相应的提示,以指导用 户进行正确的操作。2) 使用用户的语言,而非技术的语言。 3)方便退出。4)导航功能。 视觉设计 该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理模 型和任务达成进行了视觉设计。 第 3 章 系统实现 3.1 涉及知识点 类与对象、面向对象程序设计

6、、数组的应用、循环语句的使用、过程化设计的思想等 3.2 系统运行(主要运行界面抓图) 主界面 人员档案管理服务 新增成员 退出 3.3 源程序清单(关键代码) #include #include #include #include #include using namespace std; typedef struct node char name10; char wid20; char sex5; char nation20; char ID20; char tel15; char addr20; char depart30; char position10; struct node *n

7、ext; NODE; class employee public: employee(NODE *n); void add(); void edit(); void output(); void outputall(); void del(); void deleteall(); private: NODE *p; NODE *t; NODE *q; ; employee:employee(NODE *n) t=p=n; void employee:add() q=new NODE; q-next=p; p=q; couttt-endl; coutq-name; coutq-wid; cout

8、q-sex; coutq-nation; coutq-ID; coutq-tel; coutq-addr; coutq-depart; coutq-position; couttt-endl; void employee:edit() p=q; char w20; coutw; while(p!=t if(p=t) coutttt 查无此人!endl; else couttt-endl; coutp-name; coutp-wid; coutp-sex; coutp-nation; coutp-ID; coutp-tel; coutp-addr; coutp-depart; coutp-pos

9、ition; couttt-endl; coutttt 修改成功!endl; void employee:output() /人员数输出函数的实现 p=q; char w20; coutw; while (p!=t / if(p=t) coutttt 查无此人!endl; /工作证号错误 else /工作证号正确,输出查找结果。 couttt-endl; coutttt 姓 名: nameendl; coutttt 工作证号: widendl; coutttt 性 别: sexendl; coutttt 民 族: nationendl; coutttt 身份证号: IDendl; couttt

10、t 家庭电话: telendl; coutttt 家庭住址: addrendl; coutttt 部 门: departendl; coutttt 职 务: positionendl; couttt-endl; void employee:outputall()/所有人员输出函数的实现 p=q; while(q!=t)/循环体内满足时,输出所有建立的人员信息。 couttt-endl; coutttt 姓 名: nameendl; coutttt 工作证号: widendl; coutttt 性 别: sexendl; coutttt 民 族: nationendl; coutttt 身份证号

11、: IDendl; coutttt 家庭电话: telendl; coutttt 家庭住址: addrendl; coutttt 部 门: departendl; coutttt 职 务: positionendl; couttt-next; q=p; void employee:del() NODE *k; k=new NODE; k=p=q; char w20; coutw; while(p!=t p=p-next; if(p=t) coutttt 查无此人!next=p-next; free(p); void employee:deleteall() while (q!=t) p=q;

12、q=q-next; free(p); coutttt 所有信息已删除!endl; void display() couttt欢迎进入人员档案管理系统endl; couttt 1-增 加 一个新人员- endl; couttt 2-查 找 人 员 信息- endl; couttt 3-修 改 人 员 信息- endl; couttt 4-显示所有人员信息- endl; couttt 5-删 除 人 员 信息- endl; couttt 6-删除所有人员信息- endl; couttt 7-退 出- endl; coutttendl; couttt 请选择菜单号(1-7): ; void main

13、() NODE *n; int i=1; char choice; n=(NODE*)malloc(sizeof(struct node); employee e(n); string s; couts; for(int j=1,k=1;jchoice; coutn; switch(choice) case1: e.add(); coutttt 按任意键返回!endl; getch(); coutnnn; break; case2: e.output(); coutttt 按任意键返回!endl; getch(); coutnnn; break; case3: e.edit(); couttt

14、t 按任意键返回!endl; getch(); coutnnn; break; case4: e.outputall(); coutttt 按任意键返回!endl; getch(); coutnnn; break; case5: e.del(); coutttt 按任意键返回!endl; getch(); coutnnn; break; case6: e.deleteall(); coutttt 按任意键返回!endl; getch(); coutnnn; break; case7: i=0; system(cls); couttt; break; else +k; if(k=2) couts

15、; if(k=3) couts; if(k=4) couttt 三次输入密码错误,您无法登录人员档案管理系统!endl; coutttt; 第 4 章 结束语 这次课程设计历经一个星期左右,通过这一个星期的学习,发现了自己的 很多不足,自己知识的很多漏洞,也有很多闻所未闻的东西,理解实践的能力 急需提高。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际 问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 它为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生运用所 学知识解决实际问

16、题的能力。 这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工 作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。刚开始的 时候,大家就按照分配好了的任务进行,并且经常聚在一起讨论各个方案的可 行性。在课程设计中只有一个人的知识是远远不够的,必须要结合每个人的知 识,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们成功的 一项非常重要的保证。而这次设计也正好锻炼我们这一点,这也是非常宝贵的。 从总体上来讲,通过对本次课程设计,更加熟悉地掌握的 c+的知识,特别 是类与对象和数据库方面的知识,但是也由此认识到自身知识的不足去设计方 面的各种缺陷,对以后编程知识的学习起到了一定的借鉴作用。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师 的辛勤指导下,以及同学们的帮助下,最终迎刃面解。在此我向老师和那些帮 助过我的同学们表示最衷心的感谢! 参考文献 1钱能. C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论