面向对象程序设计课程设计报告-正文参考模板

合集下载

面向对象程序设计(C++课程设计报告)

面向对象程序设计(C++课程设计报告)
打开线数据文件Line.dat,可以显示出文件里面的线图形。
(2)问题描述:
使用MFC,应用MFC中已有函数以及画图类完成一个划线程序,使得能用鼠标在MFC视图中划出一道可以自定义线的格式的线,然后完成拾取、保存以及读取工作。
(3)问题分析:
该题目需要我们在熟练运用MFC的基础上,对MFC中函数进行掌握,并学会划线类地应用。首先需要我们完成划线操作利用buttondown和buttonup两个消息响应函数,然后将所有的线的属性放入vector容器中,实现线的存储,利用两边之和约等于第三边完成线的选取工作,再利用文本输入输出流完成保存和读取。
void CHuaxianView::OnMenuitem32771()
{
// TODO: Add your command handler code here
dialog a;
a.DoModal();
m_b=a.m_b;
m_r =a.m_r;
m_w =a.m_w;
m_y =a.m_y;
}
在ChuaxianView类的OnLButtonDown()函数中完成记录起始点的工作:
// TODO: add draw code for native data here
for(int i = 0; i < m_vLines.size() ;i++)
m_vLines[i].Draw(pDC);//将容器中所有线进行重绘
}
在ChuaxianView类的对话框函数中完成数据输入与更新:
void CHuaxianView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

《 面向对象程序设计》课程设计实验报告

《 面向对象程序设计》课程设计实验报告

《面向对象程序设计》课程设计实验报告指导教师小组成员:专业班级: 2010级计算机科学与技术专业开设时间:2011-2012(一)目录1.任务1 (2)1.1 任务介绍 (2)1.2 小组成员任务分配 (2)1.3.1设计思想及主要流程图 (2)1.3.1主要程序清单 (2)1.3.1 运行结果及分析 (4)1.3.2设计思想及主要流程图 (2)1.3.2主要程序清单 (2)1.3.2 运行结果及分析 (4)1.3.3设计思想及主要流程图 (2)1.3.3主要程序清单 (2)1.3.3 运行结果及分析 (4)2.任务2 (2)2.1 任务介绍 (2)2.2 小组成员任务分配 (2)2.3设计思想及主要流程图 (2)2.3主要程序清单 (2)2.3 运行结果及分析 (4)3收获、体会和建议 (4)任务1.按照要求设计类 1.根据输出设计类设计类就是根据数据封装的要求,抽象出适合的类。

有如下测试程序和测试程序的输出结果,要求设计类Welcome 。

void main() { Welcome we; Welcome you(we); you.Display();you.Set(“Thank you.”);cout<<you.Get()<<endl; you.talk(); you.Display();}测试程序的输出结果如右: 设计类Welcome 的原则 1)在头文件Cpp1.h 中声明类 2)在Cpp1.cpp 中实现类3)使用内联函数定义Display()函数2.使用类改写程序编写一个求方程02=++c bx ax 的根的程序,用三个函数分别求当ac b 42+大于零、等于零和小于零时方程的根。

要求从主函数输入a 、b 、c 的值并输出结果。

使用面向过程的解法一般是把变量设为double 型,适用库函数cmath 进行计算。

请注意:使用面向对象的方法解决这个问题,首先要从解一元二次方程出发,抽象一个代表一元二次方程的类。

面向对象课程设计报告

面向对象课程设计报告
通由于前台用户的这些需求,后台系统就应该对相关信息进行必要的维护:对同学录的基本参数进行设定与修改操作;对用户积分进行设定与修改操作,对用户信息进行核查操作;对班级信息及动态进行核查管理操作;对短消息发布于管理进行操作,还有定期批量删除成员信息操作。最后,后台还应该及时做好数据更新操作。
三、总体设计
private void cbxSpecial_SelectedIndexChanged(object sender, EventArgs e)
private void NewMember_FormClosed(object sender, FormClosedEventArgs e)
(5)修改信息,包括修改个人的姓名,性别,年龄,届别,专业,班级,电话,邮编,E-mail等基本信息;
private void Search_FormClosing(object sender, FormClosingEventArgs e)
(7)显示所有信息,可以按照姓名,年龄,届别和专业分别排序显示数据库中所有成员的信息;
Sort类(信息排序显示模块)
方法
public Sort()
private void SortName_Click(object sender, EventArgs e)
Private void btnExit_Click(object sender, EventArgs e)
Private void btnReg_Click(object sender, EventArgs e)
(3)操作选择模块,可以选择进行添加新成员,查询某成员信息,删除成员信息和将成员信息排序显示等操作。
通过设计一个《校友录管理系统》,进一步熟悉C++中类的概念、基本知识和技能,类的封装、继承的实现方式。掌握面向对象程序设计的基本思路和方法,并利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。

面向对象程序设计课程设计报告模板(个人报告)

面向对象程序设计课程设计报告模板(个人报告)

课题:物业管理系统专业:软件工程班级:软件一班学号:12174598姓名:戴志豪指导教师:周林设计日期:2013/6/20成绩:重庆大学城市科技学院电气信息学院目录第一章课程设计的目标及其要求 (3)1.1.课程设计的目的 (3)1.2.课程设计的要求 (3)第二章正文 (4)2.1系统分析 (4)2.2 系统设计 (9)2.3 系统实施 (16)第三章课程设计总结或结论 (21)第四章参考文献 (22)附录 (22)《物业管理系统》一、课程设计的目的与要求1、课程设计的目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C++)》课程后进行的一次全面的综合设计。

本课程设计的目的和任务:①巩固和加深学生对C++语言课程的基本知识的理解和掌握。

②掌握C++语言编程和程序调试的基本技能。

③利用C++语言进行基本的软件设计。

④掌握书写程序设计说明文档的能力。

⑤提高运用C++语言解决实际问题的能力。

2、课程设计的要求进一步巩固《C++程序设计》所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C++ 语言解决实际问题的能力,为以后后续课程的学习打好基础。

二、正文1 系统分析1.1系统开发背景、开发范围、建设目标与必要性随着我国市场经济的快速发展和人们生活水平的不断提高,简单的社区服务已不能满足人们的需求。

如何利用先进的管理手段,提高物业管理水平,是当今社会所面临的一个重要课题。

要想提高物业管理水平,必须全方位地提高物业管理意识。

只有高标准、高质量的社区服务才能满足人们的需求。

面对信息时代的挑战,利用高科技手段来提高物业管理无疑是一条行之有效的途径。

在某种意义上,信息与科技在物业管理与现代化建设中显现出越来越重要的地位。

面向对象程序设计课程设计报告模板

面向对象程序设计课程设计报告模板
2.实训内容
使用MyEclipse为开发工具,使用Rational Rose为建模工具,使用MySQL为数据库服务器,基于GUI和JDBC技术,分析、设计并实现一个管理信息系统。
3.需求分析3.1需求描述3 Nhomakorabea2用例描述
4.功能设计
4.1系统层次方框图
4.2算法设计(活动图或时序图)
5.数据设计
5.1类图设计
5.2数据表设计
6.运行结果
7.关键代码
8.实训总结
成绩
Score
教师签字日期
姓名
学号
班级
代码行数
项目名称
1.实训目的
面向对象程序设计课程设计是计算机科学与技术专业培养计划中的重要实践教学环节,旨在通过一个管理信息系统的开发,加深学生对Java语言的理解和应用,尤其是对面向对象编程思想、Java编码规范、图形用户接口、JDBC访问数据库的理解,巩固软件工程课程的相关知识,了解软件开发的基本流程,进一步提高学生的学习能力、理解能力、表达能力及沟通能力。

《面向对象程序设计(C++)大作业报告模板

《面向对象程序设计(C++)大作业报告模板

《面向对象程序设计(C++)》课程大作业大作业名称年级专业项目成员指导教师2010 年6月1日目录1 需求分析 (1)1.1 开发背景 (1)1.2 项目目标 (1)1.3 运行环境 (1)2 程序分析 (1)2.1 技术要点 (1)2.2 项目任务书 (1)3 技术路线 (1)3.1 总体方案 (1)3.1.1 软件及开发平台 (1)3.1.2 总体方案 (1)3.2 详细设计 (2)4 工程进度 (2)5 测试报告 (2)5.1 阶段性测试 (2)5.2 总体测试 (2)6 个人小结 (2)参考文献 (2)附录程序源代码 (2)1 需求分析1.1 开发背景1.2 项目目标1.3 运行环境2 程序分析2.1 技术要点2.2 项目任务书3 技术路线3.1 总体方案3.1.1 软件及开发平台3.1.2 总体方案3.2 详细设计4 工程进度5 测试报告5.1 阶段性测试5.2 总体测试6 个人小结参考文献[1] 薛华成. 管理信息系统. 第二版. 北京: 清华大学出版社, 1993[2] R K 霍斯尼. 谷物科学与工艺学原理. 李庆龙译. 第2版. 北京: 中国食品出版社, 1989[3] 赵秀珍, 王崇文. 关于计算机学科中几个量和单位用法的建议. 见: 科技编辑学论文集.北京: 北京师范大学出版社, 1997. 125-129附录程序源代码正文文字采用宋体小四,行间距20磅。

正文所有的图表都必须在文中进行引用,图表中的字体用宋体五号,图标号在图的下方,表标号在表的上方,图标号与表标号均采用宋体五号。

图标号。

所有的图按章顺序编号,如第2章的第4个图的编号为“图2-4”,并将图的编号和名称标在图的下方(图中文字、图名称均为宋体五号字),如:图2-4 计算机与数据库表标号。

所有的表按章顺序编号,如第3章的第1个表的编号为“表3-1”,并将表的编号和名称标在表的上方(表中文字、表名称均为宋体五号字),如:所有的数字和字母都采用Times New Roman ,每段段首缩进两格。

《面向对象程序设计》课程设计报告模板

《面向对象程序设计》课程设计报告模板

课程设计20 ~ 20 学年第学期设计题目职工工资管理系统设计院(系)计算机科学与信息工程学院专业班级学号学生姓名设计时间20 年 1 月日——2011 年 1 月日指导教师提交日期 20 年月日上海应用技术学院课程设计任务书目录1概述: .................................................................................. 错误!未定义书签。

1.1基本功能 (5)1.2拓展功能: (6)2课题分析 (7)2.1类的设计 (7)2.2类的实现 (8)3详细设计说明 (9)3.1程序主界面 (9)3.2方案 (9)3.3程序描述(输入INPUT) (9)3.4 运行结果............................................................11 4课程设计总结 (12)5软件使用说明 (13)6附录(参考文献,原代码:) (13)参考文献:................................................ 错误!未定义书签。

原代码 ................................................... 错误!未定义书签。

1概述:课程设计目的本课程设计是《面向对象程序设计》课程的后继教学环节,学好C++语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C++实际应用程序。

根据教材中人事管理应用程序框架,在此基础上按要求完成以下实际应用程序。

1.1基本功能1.1.1输入员工信息输入员工信息包括以下几个信息点员工姓名员工编号(4位数)员工职务类型(1.技术经理2. 销售经理3. 技术人员4. 销售人员5. 文秘.)输入后将自动保存至info.txt文件中。

在每次输入的时候均判断输入的合法性。

JAVA课程设计报告_完整版

JAVA课程设计报告_完整版

《JAVA面向对象程序设计》课程设计报告(2011-2012学年第2学期)系别:厦门理工学院计算机科学与技术系专业名称:10级网络工程1班课程设计科目:《JAVA面向对象程序设计》课程设计学生姓名:学号:指导教师:***成绩:完成时间:2012年7月6日题目JAVA程序课程设计任务一手机号码检测器(一)设计任务与目标任务:手机号码是由11位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。

要求目标:检测所输入的手机号码是否是11位检测每一位是否都为数字。

分析论证:本题目要求对用户输入的手机号码进行检测,判断输入的正确性。

曾经有做过类似字符比较的题目,可以借鉴。

将字符的比较运用进来,把用户的输入字符和正确的进行比较。

但是必须满足多次输入和错误提醒。

同时还可以添加提示错误的位置和错误字符是什么。

程序正确运行时可以满足以上功能,基本可以达到题目要求了。

(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了do_whiele()循环。

每次输入结束后提示是否继续输入。

在循环中逐步对输入的号码位数和字符类型进行检测。

位数可以分超出和不足,并均给出错误提示。

如果位数满足要求后对手机号码类型进行检测。

一般手机号在0~9之间,所以不满足的字符将报错。

通过将输入的整个字符串调用charAt(int i)方法对字符串逐位比较。

本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。

在程序的调试过程中,有过多次输入正确的号码也会报错(还会报错0位错误),这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为0。

最终解决了此问题。

(三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。

最终结果如下图:实验结果截图:(五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。

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

目录1 前言 (1)2 需求分析 (1)2.1 任务和要求 (1)2.2 运行环境 (1)2.3 开发工具 (1)3 分析和设计 (1)3.1 系统分析及设计思路 (1)3.2 主要类图 (2)3.3 函数流程图 (3)4 具体代码实现 (3)5 课程设计总结 (14)5.1 程序运行结果或预期运行结果 (14)5.2 设计结论 (15)参考文献 (15)致谢 (15)1 前言在日益发展的现代社会,一个高效实用的职工信息管理系统已经是企业必不可少的一个管理工具,它可以使企业在管理方面减少很多时间,本课程设计针对现代社会企业对员工信息的管理而设计,使员工的管理更加的简捷,更加的方便,界面友好,易于操作。

为了设计一个功能强大的职工信息管理系统,我们建立了职工类,用于对职工进行各种操作,将职工的相关数据保存在文本文件中。

2 需求分析2.1 任务和要求设计一个职工信息馆管理系统,完成职工信息管理等功能,要求完成以下功能:1.能够实现职工信息录入功能;2.实现删除职工信息的功能;3.实现修改职工信息的功能;4.实现用文本文件保存职工的信息;5.按照职工编号或工资对职工信息排序;6.按照编号查找职工;程序中所涉及C++语言内容包括:C++语言编译预处理过程、函数、数组、类、继承、封装、多态,重载,面向对象程序设计等相关内容。

2.2 运行环境(1)WINDOWS2000/XP系统(2)Visual C++ 6.0编译环境或DEV C++ 5.0编译环境2.3 开发工具C++语言3 分析和设计3.1 系统分析及设计思路本系统采用C++编写Win32 Console Application。

使用文本文件保存数据。

运行程序即可进入欢迎界面,选择操作序号即可进入相应的操作界面,并执行相应的操作。

其设计思路步骤可分为:(1)添加职工信息添加员工信息,提供员工信息的添加,在该模块中设计了安全检查机制,即确认是否添加员工的信息,若对员工信息的添加不满意,则可以选择重新输入。

还设置有返回主菜单的选项以方便用户。

(2)删除职工信息删除员工信息中设计了对员工人数的检查,如果员工人数NUM的值为0,则返回到主菜单。

如果员工人数NUM不为0,则进入删除员工信息的界面。

界面包括员工信息列表,和删除选项,方便用户的操作。

(3)修改职工信息根据编号来修改职工的信息,若编号不存在则直接返回界面。

(4) 保存职工信息保存员工的信息,即为将当前所有的员工的信息存入到worker.txt中。

这里我们采用的是C++的ofstream的写入文件的对象进行控制。

(5)显示职工的信息按照职工编号从小到大排序或工资由高到低来排序职工信息。

(6)查找职工信息根据编号来查找职工的信息,若编号不存在则直接返回界面。

3.2 主要类图图3.1 职工类图3.3 函数流程图根据需要填上具体内容,没有重要的流程图可以不填。

4 具体代码实现#include <iostream>#include <fstream>#include <string>#include <stdlib.h> //字符转浮点atof()#include <windows.h>using namespace std;FILE *fp; //文件指针,指向worker.txtint NUM=0; //计数员工的个数int saveCtrl=1; //该变量用于检测数据的修改后是否保存的情况class Person{public:Person() {} //构造函数void setPerson(char *num1,char *name1,char *sex1,char *birth1,char *tel1,char *salary1); //成员数据的修改函数;friend void add(); //声明为Person的友元,函数功能为:1. 员工信息输入friend void modify(); //声明为Person的友元,函数功能为:2. 员工信息修改friend void dele(); //声明为Person的友元,函数功能为:3. 员工信息删除friend void index(); //声明为Person的友元,函数功能为:4. 员工信息排序friend void find(); //声明为Person的友元,函数功能为:5. 员工信息查找friend void save(); //声明为Person的友元,函数功能为:6. 员工信息保存friend void read();private: //声明编号、姓名、出生年月、性别、联系电话、基本工资等成员变量char num[15];char name[15];char sex[5];char birth[15];char tel[15];char salary[15];};Person Per[100]; //声明全局Person对象数组void Person::setPerson(char *num1,char *name1,char *sex1,char *birth1,char *tel1,char *salary1){strcpy(num,num1);strcpy(name,name1);strcpy(sex,sex1);strcpy(birth,birth1);strcpy(tel,tel1);strcpy(salary,salary1);}void menu() //主菜单{ cout<<"\n\n"<<endl;cout<<"\t\t*************************************************"<<endl;cout<<"\t\t* \t\t 员工管理系统\t\t*"<<endl;cout<<"\t\t* ------------------------------------------ *"<<endl;cout<<"\t\t* \t\t1. 员工信息输入\t\t*"<<endl;cout<<"\t\t* \t\t2. 员工信息修改\t\t* "<<endl;cout<<"\t\t* \t\t3. 员工信息删除\t\t*"<<endl;cout<<"\t\t* \t\t4. 员工信息排序\t\t*"<<endl;cout<<"\t\t* \t\t5. 员工信息查找\t\t*"<<endl;cout<<"\t\t* \t\t6. 员工信息保存\t\t*"<<endl;cout<<"\t\t* \t\t0. 退出\t\t\t*"<<endl;cout<<"\t\t*************************************************"<<endl;cout<<"\n\n\t请选择(0~6):";}void add() //1. 员工信息输入{ char num[15]; //暂时存放编号char name[15]; //暂时存放姓名char sex[5]; //暂时存放性别char birth[15]; //暂时存放生日char tel[15]; //暂时存放电话char salary[15]; //暂时存放工资char p; //用于选择判断system("cls"); //清屏while(1) //控制信息添加多次的循环{cout<<"\n\n输入员工信息:"<<endl;cout<<"编号:" ;cin>>num;cout<<endl;cout<<"姓名:";cin>>name;cout<<endl;cout<<"性别:" ;cin>>sex;cout<<"生日:";cin>>birth;cout<<endl;cout<<"电话:";cin>>tel;cout<<endl;cout<<"工资:";cin>>salary;cout<<endl;for(int i=0;i<NUM;i++) //检测所添加员工的编号是否存在{if( strcmp(Per[i].num,num)==0 ){cout<<"该编号的已经存在"<<endl;system("pause"); //按任意键继续……return;}}p=0;cout<<"请选择:\n\t1.确认添加数据\n\t2.重新输入\n\t3.返回主菜单"<<endl;cin>>p; //控制是否确认添加数据if(p<'1' || p>'3'){ cout<<"没有这个选项!\n请重新输入:"<<endl;Sleep(1000);continue;}if(p=='2') //重新输入数据{continue;}if(p=='3') //返回主菜单{return;}Per[NUM].setPerson(num,name,sex,birth,tel,salary);cout<<"\n\n\t\t添加数据成功!\n"<<endl;saveCtrl=0;NUM++;cout<<"是否返回主菜单(y/n)";cin>>p; //返回主菜单if(p=='y'||p=='Y'){return;}}}void modify() //2. 员工信息修改{system("cls"); //清屏if(NUM==0) //判断员工数是否为0,即是否存在员工记录,若无记录,则退出函数{cout<<"\n\n\n\n\n\n\t\t\t没有任何员工记录。

相关文档
最新文档