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

合集下载

C-shap课程设计报告

C-shap课程设计报告

《面向对象程序设计C#》期末课程设计报告 / 学年第学期姓名:______________学号:______________班级:______________指导教师:______________计算机科学与工程学院2012一、主要内容及要求:创建一个应用程序,实现下面的UML图。

Step1:(共60分,其中Account类编写10分,SavingAccount和Checking类的编写分别25分)创建Account类,作为各种账户的基类。

然后用继承来创建两个专用的账户类:SavingAccount(储蓄账户)类和CheckingAccount(支票账户)类。

(1)SavingAccount类,从Account派生其新特征:A.储蓄账户能获得利息,增加一个属性interestRate 表示利率。

B.着时间的推移,储蓄账户可以获得利息,所以为SavingAccount类增加一个addInterest()方法(注:未在UML图中画出),用于把利息增加到原balance上。

利息的计算规则为interestRate*balance;(2)CheckingAccount类,从Account派生新特征:A.帐户允许有透支额度,增加属性overdraftProtection表示最大透支额度。

B.取款规则发生了改变:如果当前余额足够支付要提取的金额amount ,按照常规进行处理。

如果当前余额不够,但帐户有透支额度,那么所差的部分作为透支处理。

透支处理规则:比较amount(当前提款金额)和balance(当前帐户余额)若当前透支额amount-balance>overdraftProtection,那么整个交易应该放弃,提款失败。

否则提款后的balance应为0,提款后的最大透支额度overdraftProtection应该为原有最大透支额度减去(amount-balance )。

(3)再看Account类其withdraw行为要在其具体的子类中才能确定,故将其withdraw方法设计成一个抽象方法,由子类去改写。

c++课程设计报告书

c++课程设计报告书

河南城建学院《面向对象程序设计》课程设计报告书设计题目:企业人事管理系统指导老师:崔雪冰蔡照鹏张妍琰学生学号:*****************同组人员:于文文、梁泽玉、宋应取时间:2011年12月28日目录第1章选题 (2)1.1题目背景 (2)1.2系统实现的具体分工 (2)1.2.1 标题 (2)1.2.2题目要求 (2)1.3开发环境 (2)2.1实现功能 (3)2.2概要设计(涉及类的框图) (3)2.3界面设计 (4)第3章系统实现 (5)3.1涉及知识点 (5)3.2系统运行(主要运行界面抓图) (5)3.3源程序代码 (8)第4章结束语(心得体会) (19)第1章选题1.1 题目背景企业人事管理系统是企业管理中的一个重要内容,随着时代的进步,企业人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高。

早期的人工方式的管理系统已不适合现代企业的公司的发展,实现企业人事管理的系统化、规范化、自动化,是现代企业管理的首选。

1.2系统实现的具体分工系统分为职工类、职工数据类、权限设置类以及主函数等几大模块,其中职工类实现对公司职工个人基本信息的描述,职工数据类实现公司对职工的维护,权限设置类实现对使用者的操作权限设置功能,main() 函数实现对程序主界面的引导。

1.2.1 标题企业人事管理系统1.2.2 题目要求设计一个小型人事管理系统,假设公司只有经理、业务经理、普通职工,需要描述他们的信息,如职工编号、姓名、电话、住址等信息,且需要设置系统操作权限,实现界面的转换,增、删、查、改、显示功能。

1.3开发环境Visual C++ 6.0机型:方正电脑处理器名称:Intel(R)Core(TM)********************硬盘驱动器:WDC WD1600AAJS-22WAAO系统内存:金士顿内存2GB显示卡:NVIDIA GeFORCE 9400 GT显示器:方正科技FG981-W9操作系统:Microsoft Windows XP Professional第2章设计内容2.1实现功能系统主要包括企业系统管理人员对企业职工信息的增、删、查、改等功能和普通职工对职工信息的查看功能。

C++课程设计报告(复数计算器)

C++课程设计报告(复数计算器)

南京信息工程大学《面向对象程序设计》课程设计实验报告课程名:面向对象程序设计专业:网络工程班级:2班作者:张煜荻、吴辉煌、张一东日期:2011年5~6月实验内容题目:设计一个复数计算器。

要求:1)所设计的复数计算器可以进行+、-、×运算。

2)设计输入重载函数,要求能接收从键盘输入a+b i形式的复数,在程序中可以识别出实部、虚部并进行赋值。

3)设计算器测试程序,对加减法进行测试,要求在两位数以内,对乘法进行测试,乘法要求为一位数的运算。

小组分工程序源码#include<iostream>#include<cmath>#define EPS 1e-5//定义精度为10^-5using namespace std;namespace NameCalculator //定义空间NameCalculator{class Calculator //定义Calculator类{private:double Real,Image; //私有成员:实部Real、虚部Image public:Calculator(double real=0,double image=0) //构造函数{Real=real;Image=image;}int operator==(Calculator &com); //等于重载Calculator operator+(Calculator &com); //加法重载Calculator operator-(Calculator &com); //减法重载Calculator operator*(Calculator &com); //乘法重载Calculator operator*=(Calculator &com);//乘法赋值重载friend istream & operator>>(istream &is,Calculator &com); //输入重载friend ostream & operator<<(ostream &os,Calculator &com); //输出重载};int Calculator::operator==(Calculator &com) //重载等于{if(Real==com.Real && Image==com.Image)return 1;elsereturn 0;}Calculator Calculator::operator+(Calculator &com) //加法重载{Calculator sum;sum.Real=Real+com.Real;sum.Image=Image+com.Image;return sum;}Calculator Calculator::operator-(Calculator &com) //减法重载{Calculator sub;sub.Real=Real-com.Real;sub.Image=Image-com.Image;return sub;}Calculator Calculator::operator*(Calculator &com) //乘法重载{Calculator multi;multi.Real=Real*com.Real-Image*com.Image;multi.Image=Real*com.Image+Image*com.Real;return multi;}Calculator Calculator::operator*=(Calculator &com) //重载乘法赋值{double nReal=Real*com.Real-Image*com.Image;double nImage=Real*com.Image+Image*com.Real;Real=nReal;Image=nImage;return *this;}istream & operator>>(istream &is,Calculator &com) //重载输入{cout<<"请输入复数:";char s[20];is>>s; //用字符串形式接受输入的复数int len=strlen(s);int n=0,sign=1;com.Image=com.Real=0;for(int k=0;k<len;k++){if((s[k]<'0'||s[k]>'9')&&(s[k]!='+'&&s[k]!='-'&&s[k]!='i')){cout<<"输入错误"<<endl;return is;}}for(k=0;k<len;) //检查输入字符串{if(n!=0 &&(s[k]=='-'||s[k]=='+')) //字符是否是符号{com.Real=sign*n;n=0; //将原n*sign值赋给实部,将n清零,准备接受虚部的值}if(s[k]=='-') //字符为负号{sign=-1;k++;}if(s[k]=='+') //字符为正号{sign=1;k++;}if(s[k]=='i') //字符为'i'{if(k!=len-1) //判断字符'i'是否为最后一个字符cout<<"error\n";elsecom.Image=sign*n; //复数对象接受完成,用sign*n为虚部赋值break;}while(s[k]>='0'&&s[k]<='9') //字符在0~9之间,则将字符转换成数值{n=n*10+s[k]-'0';k++;}}if(s[len-1]!='i'&&n!=0) //如果最后一个字符不是'i',则没有虚部{com.Real=n*sign;}return is;}ostream & operator<<(ostream &os,Calculator &com) //重载输出{if(fabs(com.Image)<EPS) //如果虚部为0os<<com.Real; //只输出实部else if((fabs(com.Real)<EPS)) //如果实部为0os<<com.Image<<"i"; //只输出虚部else if(com.Image>0)os<<com.Real<<"+"<<com.Image<<"i";elseos<<com.Real<<com.Image<<"i"; //虚部为正return os;}void Add() //加法运算函数{Calculator num1,num2,sum,zero(0,0);cout<<"加法计算\n"<<"最少输入两个复数,并且以0结束\n";cout<<"第1个复数:";cin>>num1;cout<<"第2个复数:";cin>>num2;sum=num1+num2;cout<<"第3个复数:";cin>>num1;int i=4;while(!(num1==zero)){sum=sum+num1;cout<<"第"<<i<<"个复数:";cin>>num1;i++;}cout<<"加法结果是:"<<sum<<endl;cout<<"请按回车键继续\n";cout.flush();cin.get();cin.get();}void Sub() //减法运算函数{Calculator num1,num2,sub,zero(0,0);cout<<"最少输入两个复数,并且以0结束\n";cout<<"第1个复数:";cout<<"第2个复数:";cin>>num2;sub=num1-num2;cout<<"第3个复数:";cin>>num1;int i=4;while(!(num1==zero)){sub=sub-num1;cout<<"第"<<i<<"个复数:";cin>>num1;i++;}cout<<"减法结果是:"<<sub<<endl;cout<<"请按回车键继续\n";cout.flush();cin.get();cin.get();}void Mul() //乘法运算函数{Calculator num1,num2,mul,zero(0,0);cout<<"乘法计算\n"<<"最少输入两个复数,并且以零结束\n";cout<<"第1个复数:";cin>>num1;cout<<"第2个复数:";cin>>num2;mul=num1*num2;cout<<"第3个复数:";cin>>num1;int i=4;while(!(num1==zero)){mul*=num1;cout<<"第"<<i<<"个复数:";cin>>num1;i++;}cout<<"乘法结果是:"<<mul<<endl;cout<<"请按回车键继续\n";cout.flush();cin.get();}}using namespace NameCalculator;int main() //主函数{char Choise[20];do{system("cls"); //清屏cout<<"1:复数加法\n";cout<<"2:复数减法\n";cout<<"3:复数乘法\n";cout<<"0:退出程序\n\n";cout<<"请选择:";cin>>Choise;if(strcmp(Choise,"1")==0)Add();else if(strcmp(Choise,"2")==0)Sub();else if(strcmp(Choise,"3")==0)Mul();else if(strcmp(Choise,"0")==0){break;}else{cout<<"\n输入错误,按回车键继续\n";cin.get();cin.get();}}while((strcmp(Choise,"0")));return 0;}测试结果实验总结本实验的难点在于:如何让程序识别输入的“复数字符串”。

面向对象课程设计报告

面向对象课程设计报告

面向对象课程设计报告一、引言面向对象课程设计是计算机科学与技术专业的一门重要课程,通过设计和实现一个完整的面向对象程序,培养学生的面向对象设计思维和编程能力。

本报告旨在介绍我所设计的面向对象课程设计,包括设计背景、需求分析、设计方案、实现细节和测试验证等内容。

二、设计背景本次面向对象课程设计的背景是设计一个学生信息管理系统。

随着教育事业的发展,学校中的学生数量不断增加,学生信息的管理越来越复杂。

传统的学生信息管理方式已经无法满足现代教育管理的需求,需要采用更加高效和智能的信息管理系统。

三、需求分析学生信息管理系统需要具备以下功能:1. 学生信息维护:包括学生基本信息的录入、修改和删除等操作。

2. 成绩管理:包括成绩录入、查询和统计等功能。

3. 课程管理:包括课程信息的录入、查询和修改等操作。

4. 成绩报表生成:根据学生成绩生成报表,方便教师和学校进行评估和分析。

5. 权限管理:不同用户有不同的权限,需要进行用户和权限管理。

四、设计方案根据需求分析,我设计了以下类:1. Student类:表示学生信息,包含学生id、姓名、性别、年龄等属性。

2. Course类:表示课程信息,包含课程id、名称、教师等属性。

3. Grade类:表示学生成绩,包含学生id、课程id、分数等属性。

4. User类:表示系统用户,包含用户id、用户名、密码等属性。

5. Report类:表示成绩报表,包含学生id、课程id、平均分等属性。

6. System类:表示学生信息管理系统,包含各种操作方法。

五、实现细节1. 数据存储:使用数据库来存储学生信息、课程信息、成绩信息和用户信息等数据。

2. 数据库设计:根据类的属性设计数据库表结构,每个类对应一个表,表中的字段对应类的属性。

3. 系统界面:设计一个图形界面,方便用户进行操作,包括学生信息录入、成绩查询、课程管理等功能。

4. 系统功能实现:根据需求设计各个功能的实现方法,包括学生信息维护、成绩管理、课程管理等操作。

面向对象程序设计(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 进行计算。

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

C++面向对象课程设计报告(局域网聊天程序)

C++面向对象课程设计报告(局域网聊天程序)

XXXXX大学C++面向对象课程设计报告院(系):计算机工程学院专业:计算机网络工程学生姓名: XXXXXX班级:_网络081__学号: 200807255题目:局域网聊天程序起迄日期:_2010.12.20 – 2010.12.31设计地点: XX理工大学2#401指导教师: XXXXXX完成日期: 2010 年 12 月 31 日C++面向对象课程设计报告:局域网聊天程序2 目录一需求分析 (3)1.1 客户机端 (3)1.2 服务器端 (3)二设计内容 (4)2.1 程序整体结构 (4)2.2 各部分子模块功能 (5)2.3 各子模块代码编写 (6)三调试分析 (7)3.1 实际完成情况 (7)3.2 出现的问题及解决方案 (7)3.3 可以改进的地方 (8)3.4 可以扩充的功能 (9)四用户手册 (10)4.1 程序主界面 (10)4.2 获取本地信息 (10)4.3 发送信息 (11)4.4 接收信息 (11)4.5 总体演示 (11)五设计总结 (12)六参考文献 (13)七附录 (14)一需求分析此次开发的网络聊天工具可作为个人的交流工具使用,通信的安全性不是很高,但要求信息的响应速度要较快,让用户充分享受到网络即时消息的方便和快捷。

本聊天工具由服务器端程序和客户端程序两部分组成,整体采用C++平台开发,没有使用管理数据库。

服务器和与客户端都包含与用户的交互式界面,它有必要的界面的按钮,向用户提供网络即时消息的功能。

本聊天需要包含如下本功能:1.1 客户机端✓获取本地IP地址✓获取本地通信端口✓获取远程IP地址✓获取本地主机名✓获取从服务器端发送过来的信息✓给服务器发送用户自定义的数据1.2 服务器端✓获取本地IP地址✓获取本地通信端口✓获取远程IP地址✓获取本地主机名✓获取从服务器端发送过来的信息✓向客户机发送用户自定义的数据3C++面向对象课程设计报告:局域网聊天程序二设计内容2.1 程序整体结构42.2 各部分子模块功能5C++面向对象课程设计报告:局域网聊天程序2.3 各子模块代码编写1)WM_INITDIALOG模块switch(UMsg){case WM_INITDIALOG:CLIENT.INIT_MYSOCKET(hwndDlg);===========================================void MYSOCKET::INIT_MYSOCKET(HWND &hwndDlg){ WSAStartup(0x0101, &wsaData);udp_sd=socket(AF_INET, SOCK_DGRAM, 0);bind(udp_sd, (LPSOCKADDR)&Local_PC, sizeof(Local_PC));WSAAsyncSelect(udp_sd, hwndDlg, WM_USER+1, FD_READ);}2)IDOK模块switch(LOWORD(wParam)){case IDOK:CLIENT.MYSOCK_SEND(hwndDlg);break;===========================================void MYSOCKET::MYSOCK_SEND(HWND &hwndDlg){ GetDlgItemText(hwndDlg, IDC_SEND, Buffer, sizeof(Buffer));sendto(udp_sd, Buffer, strlen(Buffer), 0, (struct sockaddr *)&Remote_PC, len);}3)IDCANCEL模块case IDCANCEL:CLIENT.END_MYSOCKET(hwndDlg);EndDialog(hwndDlg, 0);break;===========================================void END_MYSOCKET(HWND &hwndDlg){ WSAAsyncSelect(udp_sd, hwndDlg, 0, 0);closesocket(udp_sd);WSACleanup();}4)FD_READ模块case WM_USER+1:switch(LOWORD(lParam)){case FD_READ:CLIENT.MYSOCK_RECV(hwndDlg);break;}===========================================void MYSOCKET::MYSOCK_RECV(HWND &hwndDlg){recv(udp_sd, Buffer, sizeof(Buffer), 0);SetDlgItemText(hwndDlg, IDC_RECV, Buffer);}6三调试分析3.1 实际完成情况经过几天的学习及调试,该“局域网聊天程序”仅仅能实现点对点通信,不能实现一对多、多对多、多对一等通信模式,也就是说,只能开启一个客户机和一个服务器,若有多个程序副本在运行,则可能导致接收以及发送数据的混乱。

面向对象程序设计课程实验总结报告

面向对象程序设计课程实验总结报告

舉申科按衣專课程实验报告课程名称:面向对象程序设计院系:专业班级:____________学号:__________姓名:_______________指导教师:____________实验一.面向过程的整型栈编程 (1)1. 需求分析 (1)1.1题目要求 (1)1.2需求分析 (1)2. 系统设计 (2)2.1概要设计 (2)2.2详细设计 (3)4. 软件测试 (4)5. 特点与不足 (4)5.1技术特点 (4)5.2不足和改进的建议 (5)6. 过程和体会 (5)6.1遇到的主要问题和解决方法 (5)6.2课程设计的体会 (5)7. 源码和说明 (5)7.1文件清单及其功能说明 (5)7.2用户使用说明书 (5)7.3源代码 (5)实验二.面向对象的整型栈编程 (12)1. 需求分析 (12)1.1题目要求 (12)1.2需求分析 (12)2. 系统设计 (13)2.1概要设计 (13)2.2详细设计 (13)3. 软件开发 (14)4. 软件测试 (14)5. 特点与不足 (14)5.1技术特点 (14)5.2不足和改进的建议 (15)6. 过程和体会 (15)7. ......................................................................................................................................... 源码和说明. (15)7.1文件清单及其功能说明 (15)7.2用户使用说明书 (15)7.3源代码 (15)实验三.基于算符重载的整型栈编程 (19)1. 需求分析 (19)1.1题目要求 (19)1.2需求分析 (19)2. 系统设计 (20)2.1概要设计 (20)2.2详细设计 (20)3. 软件开发 (20)4. 软件测试 (20)5. 特点与不足 (21)5.1技术特点 (21)5.2不足和改进的建议 (21)6. 过程和体会 (21)6.1遇到的主要问题和解决方法 (21)6.2课程设计的体会 (21)7. 源码和说明 (21)7.1文件清单及其功能说明 (21)7.2用户使用说明书 (21)7.3源代码 (21)实验四.面向对象的整型队列编程 (25)1. 需求分析 (25)1.1题目要求 (25)1.2需求分析 (25)2. 系统设计 (26)3. 软件开发 (26)4. 软件测试 (26)5. 特点与不足 (26)5.1技术特点 (26)5.2不足和改进的建议 (26)6. 过程和体会 (26)6.1遇到的主要问题和解决方法 (26)6.2课程设计的体会 (27)7. ..................................................................................................................................... 源码和说明 (27)7.1文件清单及其功能说明 (27)7.2用户使用说明书 (27)7.3源代码 (27)实验五.基于组合的整型队列编程 (31)1. 需求分析 (31)1.1题目要求 (31)1.2需求分析 (31)2. 系统设计 (31)3. 软件开发 (32)4. 软件测试 (32)5. 特点与不足 (32)5.1技术特点 (32)5.2不足和改进的建议 (32)6. 过程和体会 (32)6.1遇到的主要问题和解决方法 (32)6.2课程设计的体会 (32)7. 源码和说明 (33)7.1文件清单及其功能说明 (33)7.2用户使用说明书 (33)7.3源代码 (33)实验六.基于继承的整型队列编程 (37)1. 需求分析 (37)1.1题目要求 (37)1.2需求分析 (38)2. 系统设计 (38)3. 软件开发 (38)4. 软件测试 (38)5. 特点与不足 (38)5.1技术特点 (38)5.2不足和改进的建议 (38)6. 过程和体会 (39)7. .......................................................................................................................................... 源码和说明. (39)7.1文件清单及其功能说明 (39)7.2用户使用说明书 (39)7.3源代码 (39)实验一.面向过程的整型栈编程1. 需求分析1.1题目要求整型栈是一种先进后出的存储结构,对其进行的操作通常包括判断栈是否为空、向栈顶添加一个整型元素、出栈等。

面向对象程序设计课程设计

面向对象程序设计课程设计

面向对象程序设计课程设计本课程设计是在学习面向对象程序设计之后的实践教学环节。

该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。

要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。

学生通过课程设计在下述各方面得到锻炼:1、能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。

2、提高程序设计和调试能力。

学生通过上机实习,验证自己设计的算法和程序的正确性。

学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。

课程设计内容1、了解并掌握中小型综合应用程序的一般设计方法,具备初步的独立分析和设计能力;2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;5、课题的代码要求达到一定工作量,并具有一定的深度和难度;6、根据课题程序的分析和设计过程,撰写课程设计报告。

课程设计要求课程设计结束应提交程序源代码、课程设计报告的电子稿和打印稿,以作为整个课程设计评分的书面依据和存档材料。

课程设计报告以规定的格式书写、打印并装订,排版及图、表要清楚、工整。

课程设计报告的内容如下:1.封面:题目、班级、学号、姓名、指导教师和完成日期。

2.正文包括以下内容:1、根据实现的功能,划分出合理的对象类,明确对象类间的关系。

2、为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。

同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。

3、编程简练,程序功能齐全,能正确运行。

4、说明书、流程图要清楚,规范。

5、总结和体会:程序编写和调试过程中遇到了哪些问题,是如何解决的,以及对设计与实现过程的回顾和分析;经验和体会等。

11面向对象编程技术课程设计报告

11面向对象编程技术课程设计报告

面向对象编程技术课程设计报告书计0841 王倩倩 X 081842033 2010年 6 月专 业:姓 名:学 号:目录1 某学校对员工的奖金管理系统 (1)1.1问题认识与分析 (1)1.2 程序功能说明,程序结构图 (1)1.4代码说明 (1)1.4.1开发环境 (2)1.4.2主要开发步骤 (2)1.5 操作说明 (5)1.6设计开发过程中,遇到的主要问题以及解决方法 (5)2 MFC计算器设计 (6)2.1问题认识与分析 (6)2.2 程序功能说明,程序结构图 (6)2.4代码说明.......................................................................................... 错误!未定义书签。

2.4.1开发环境 (6)2.4.2主要开发步骤 (6)参考文献资料 (13)1 某学校对员工的奖金管理系统1.1问题认识与分析此控制台程序,我们要对管理人员按其职务发固定的岗位奖,对专职教师按其职称和月任课时数计发业绩奖,对既有管理工作又兼授课的人员按岗位奖加月任课时数乘某系数之和为奖金数。

我们可以建立一个抽象类,具有员工的基本数据成员,计算月奖金和显示信息的成员函数。

由于不同人员的奖金计算方法不同,所以将这两个成员函数声明为虚函数。

以抽象类为基类派生出三种不同人员类,有派生类对月奖金和显示信息函数进行重载。

主函数实现动态调用,计算个人员的月奖金。

1.2 程序功能说明,程序结构图1.4代码说明C++面向对象的编译方法1.4.1开发环境Microsoft Visual C++ 6.01.4.2主要开发步骤Employee.h#include<iostream>using namespace std;class employee{protected:char name[20];int individualempno;float accumpay;static int employeeno;public:employee();~employee();virtual void pay()=0;void setname(char *names);char *getname();int getindividualempno();float getaccumpay();};class teacher:virtual public employee{protected:int grade;float hourlyrate;int workhours;public:teacher();void setgrade(int g);int getgrade();void setworkhours(int w);void pay();};class technician:virtual public employee{protected:float monthlypay;public:technician();void pay();};class manager:public technician, public teacher {private:float k;public:manager();void pay();};int employee::employeeno=1000;employee::employee(){individualempno=employeeno++;accumpay=0.0;}employee::~employee(){}void employee::setname(char *names){strcpy(name,names);}char*employee::getname(){return name;}float employee::getaccumpay(){return accumpay;}int employee::getindividualempno(){return individualempno;}teacher::teacher(){hourlyrate=50;}void teacher::setworkhours(int w){workhours=w;}void teacher::setgrade(int g){grade=g;}int teacher::getgrade(){return grade;}void teacher::pay(){accumpay=(hourlyrate*workhours)*grade;}technician::technician(){monthlypay=2000;}void technician::pay(){accumpay=monthlypay;}manager::manager(){k=0.6;hourlyrate=100;monthlypay=2000;}void manager::pay(){accumpay=(monthlypay+hourlyrate*workhours)*k; }int main(){teacher t1;technician n1;manager m1;char namestr[20];employee * emp[3]={&t1,&n1,&m1};int i,ww,g,w;for(i=0;i<3;i++){cout<<"请输入下一个雇员的姓名";cin>>namestr;emp[i]->setname(namestr);}cout<<"请输入老师上课次数和等级:";cin>>ww>>g;t1.setworkhours(ww);t1.setgrade(g);cout<<"请输入管理上课次数:";cin>>w;m1.setworkhours(w);for(i=0;i<3;i++){emp[i]->pay();}cout<<"老师:"<<t1.getname()<<",编号:"<<t1.getindividualempno()<<",等级:"<<t1.getgrade()<<",奖金:"<<t1.getaccumpay()<<endl;cout<<"校工:"<<n1.getname()<<",编号:"<<n1.getindividualempno()<<",奖金:"<<n1.getaccumpay()<<endl;cout<<"经理:"<<m1.getname()<<",编号:"<<m1.getindividualempno()<<",奖金:"<<m1.getaccumpay()<<endl;return(0);1.5 操作说明1.6设计开发过程中,遇到的主要问题以及解决方法C++语法学习存在缺陷,管理兼教师类的实现总是乱码(数字不正确);2MFC计算器设计2.1问题认识与分析创建基于对话框的MFC(EXE)应用程序计算器;在对话框窗体上顺序创建0到9十个数字按钮,有计算的一些按钮(+,-,*,/……)实现简易的计算。

c面向对象程序课程设计

c面向对象程序课程设计

c面向对象程序课程设计一、教学目标本节课的教学目标是让同学们掌握C面向对象程序的基本概念和语法,包括类、对象、继承、多态等核心概念。

通过学习,同学们能够熟练使用C++编写简单的面向对象程序,培养编程思维和解决问题的能力。

同时,在学习过程中,培养同学们的团队合作意识和自主学习能力。

二、教学内容本节课的教学内容主要包括以下几个部分:1.面向对象程序概述:介绍面向对象程序的基本概念,如类、对象、封装、继承、多态等。

2.类和对象:讲解如何定义一个类,如何创建和使用对象,以及构造函数和析构函数的概念。

3.继承:介绍继承的概念和实现方式,以及继承的好处和注意事项。

4.多态:讲解多态的概念、实现方式以及多态的好处。

5.面向对象程序设计实例:通过实例讲解如何运用面向对象程序设计的方法解决实际问题。

三、教学方法为了更好地实现教学目标,本节课采用以下几种教学方法:1.讲授法:讲解面向对象程序的基本概念、语法和实例。

2.讨论法:同学们进行小组讨论,分享学习心得和解决问题的方法。

3.案例分析法:分析实际编程案例,让同学们更好地理解面向对象程序设计的方法。

4.实验法:安排课后的编程实践,让同学们动手编写面向对象的程序,巩固所学知识。

四、教学资源为了支持本节课的教学内容和教学方法的实施,准备以下教学资源:1.教材:《C++面向对象程序设计》等相关教材。

2.参考书:提供一些关于C++面向对象程序设计的参考书籍,供同学们课后自主学习。

3.多媒体资料:制作精美的PPT,直观地展示面向对象程序设计的相关概念和实例。

4.实验设备:提供计算机和编程环境,让同学们能够进行实际的编程练习。

五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价同学们的学习成果。

评估方式包括:1.平时表现:考察同学们在课堂上的参与程度、提问回答、小组讨论等,占总评的20%。

2.作业:布置与课程内容相关的编程作业,让同学们巩固所学知识,占总评的30%。

面向对象程序设计教程第四版课程设计

面向对象程序设计教程第四版课程设计

面向对象程序设计教程第四版课程设计简介本课程设计是基于《面向对象程序设计教程第四版》教材的,旨在通过设计一个实际的程序让学生能够更好地理解和掌握面向对象程序设计的相关知识。

课程设计的重点在于让学生能够将所学的知识应用到实际中,提高学生的应用能力和实践能力。

课程目标•理解OOP(面向对象编程)的相关概念和实现原理;•掌握Java语言的基本语法和面向对象编程特征;•可以设计并实现一个程序,并能够将所学知识应用到程序设计中。

课程内容本课程设计的内容主要分为以下几个部分:第一步:需求分析在本部分中,学生需要根据实际情况设计一个程序的需求,包括程序的功能模块、用户交互界面等等,并将需求文档编写成Markdown格式。

第二步:程序设计在本部分中,学生将根据需求文档完成程序的设计,包括类的设计、方法的编写等等,并将代码编写成Java语言,并将代码上传至Github 上管理并进行版本控制。

第三步:程序测试在本部分中,学生将对程序进行测试,并对程序中的代码逐行进行测试,测试程序是否能够正常运行,并给出测试报告。

同时,学生还需要针对测试结果进行修正和优化程序。

第四步:项目总结在本部分中,学生将对整个课程设计过程进行总结,包括具体的步骤、碰到的问题以及解决方案,总结自己所掌握的知识和经验,并给出对整个课程设计的评价。

课程安排本课程设计将按照以下步骤进行:步骤时间内容第一步第1周需求分析第二步第2-5周程序设计第三步第6-7周程序测试第四步第8周项目总结评分标准学生的成绩将根据以下几个方面进行评分:•需求分析文档的质量和完整性;•程序设计的质量和完整性;•程序测试的质量和完整性;•项目总结的质量和完整性。

结语通过本课程设计的实践,希望学生能够理解和掌握面向对象程序设计的相关知识,并将所学知识应用到实际中,提高学生的应用能力和实践能力。

希望学生认真完成本课程设计,并获得一个满意的成绩。

(面向对象程序设计C)实践考核报告书

(面向对象程序设计C)实践考核报告书

九江学院信息科学与技术学院《面向对象程序设计(C++)》课程设计(实训)报告书题目:C++类与对象的设计专业:应用电子技术班级:B1321班姓名:缪谢非学号:21311100136同组人员:指导老师:设计时间:年月日1.课程设计(实训)计划完成银行贷记卡模拟系统,具体要求如下:●客户余额的输出采用“5元5角5分”●允许客户存款、取款,并允许客户取款透支●设计一个主程序进行基本情况的演示2.功能分析与设计(根据课题的要求进行简单的分析,设计相应的类图和基本流程)(1)、需求与功能分析随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。

现今,人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务:同时,随着我国加入世贸组织的日益临近,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。

近几年来,各商业银行加快了与社会各业的合作,利用自身的网点优势和业务特点,为其提供各种高效、快捷的代收代付业务,也就是中间代理业务,目前以与广大人民群众生活密切相关的各项缴费业务如水电费、电话费、手机费等代收业务为主,这些业务开展方式多种多样,但一般都离不开计算机的高效管理支持。

随着代理业务不断发展,业务品种越来越多,各项业务做法互有差异,这就对银行的电子化水平和相应的管理水平提出了更高的要求。

如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。

JAVA课程设计报告_完整版

JAVA课程设计报告_完整版

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最终解决了此问题。

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

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

面向对象程序设计报告-基本图形处理软件课程设计报告

面向对象程序设计报告-基本图形处理软件课程设计报告

面向对象程序设计报告一.设计要求设计圆(包含椭圆)、矩形(包含正方形)、三角形、直线等基本图形类,基于这些基本图形类构造、编辑复杂图形,基本功能包括:①图形的创建:以圆(包含椭圆)、矩形(包含正方形)、三角形、直线等基本图形为元素构建复杂图形。

②图形的编辑:增加图形元素(基本图形)、删除图形元素(基本图形)③图形放大、缩小④图形保存二.概述本次程序设计为基于C++的面向对象的程序设计。

用C++各种基本图形(例如,圆、矩形、三角形、直线、点等)的类原型,通过继承图形这一个公共基类来实现图形的增删改以及保存等操作。

通过此次实习,我对类的相关操作以及类的作用有了更深一步的认识。

对面向对象程序设计有了进一步的理解。

特别是进一步熟悉并使用面向对象的继承、多态等机制。

该系统中,定义了一个鼠标类和窗口类,窗口类又继承了鼠标类,使得所有的操作变得简单明了,代码可移植性也很强。

整体操作方式与windows中画图的操作方式相似,而且可以随时更改以前画过的图形,该系统实现了各类基本图形的产生,放大,缩小,删除、移动、改变颜色、改变线型与保存等功能。

采用汉字库,实现了中文显示,为该系统的使用者提供了便利。

而且界面上操作很方便,可以使用快捷键,可以直接点击鼠标来轻松绘制图片。

使用了Turboc++编译器,编译器下载地址:。

三.主要类说明1.各基本图形类的基类:FIGURE该类归纳了各种图形类的共同数据以及共同操作,声明了几个纯虚函数:virtual void show()=0;virtual void hide()=0;virtual void expand(int delta)=0;virtual void save()=0;实现了同一函数在各个不同的图形类中有不同的实现。

增大了程序的灵活性。

其中show()函数的作用是显示图形,hide()函数是用来隐藏图形,expand()函数是用来放大选中的图形。

save()函数将对应图形的相关数据以文件的形式保存。

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

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

《面向对象程序设计》课程设计报告书(模板) 《面向对象程序设计》课程设计报告书设计题目:指导老师:学生学号:学生姓名:同组人员:时间:目录第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 3.2 系统运行(主要运行界面抓图) .................................................................... ............... 5 3.3 源程序清单(关键代码) .................................................................... .......................... 6 第4章结束语 ..................................................................... (16)第1章选题1.1 题目背景随着信息时代的到来和全社会信息化、网络化建设的兴起,传统的图书管理模式和操作方法越来越不能满足用户的需要.智能化、网络化、信息化的图书管理系统应用势在必行。

《VB面向对象的程序设计》校本课程设计

《VB面向对象的程序设计》校本课程设计

《VB面向对象的程序设计》校本课程设计一、校本课程:VB面向对象的程序设计教学材料:创编课程类型:讲授型、实验探究型、活动交流型。

授课时间:一学年。

授课对象:高一年级中程序设计的爱好者。

二、校本课程的具体内容:知识与技能:认识VB对象的属性与方法,理解事件、事件过程和事件驱动的概念,了解VB的可视化编程。

过程与方法:熟悉VB界面,制作简单的程序界面,能够通过属性窗口更改对象属性,认识事件和事件过程的概念并制作出一个小程序。

情感态度与价值观:通过实践演示并由学生自己动手操作编辑简单实用小程序,引发学生学习计算机程序的兴趣,从而形成积极主动学习使用计算机解决问题的习惯。

校本课程目录:第一课:我的第一个VB程序第二课编写程序代码第三课:认识各国国旗第四课:做个简单的文本编辑器第五课:“你猜对了吗?”----分支结构的程序设计第六课:让飞机飞起来----循环结构的程序设计第七课:编译软件三、校本课程实施方法和形式:实施方法:教案讲授,学生讨论分析综合实践。

实施形式:教师设计、组织主持,学生设计、集体实践四、校本课程教学评价:部分学生评价:VB程序设计是一个比较抽象的概念,不易理解,但在老师的举一反三的例证和深入浅出的讲解之下,能最大层度的激发我们的兴趣,调动我们学习参与的积极性。

在整个课程中,我们不但能了解了VB的一些最基本的功能,也能简单的编辑一些实用的小程序。

我想,这也为我们以后进一步的学习打下良好的基础。

教师教学自我评价:本校本课程是VB面向对象的程序部分,根据我校学生的自身特点,在教材自身的知识基础上加入了一些常规对话框的制作,如自然数相加自然数的制作,文本框的设计等等,充实了教材的内容,满足了学生的求知欲和好奇心,学生基本能全程参与,积极动手。

经过一学年的学习,学生基本能了解的程序设计的对象的概念,设计并制作一些简单的实用的对象,如仿制操作系统中的文本框,制作文件的保存对话框等等,基本达到了开设这门课的目的。

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

福建农林大学计算机与信息学院计算机类课程设计报告课程名称:面向对象程序设计课程设计课程设计题目:高校学生宿舍信息管理系统*名:***系:计算机科学与技术专业:计算机科学与技术年级:学号:************指导教师:***职称:讲师2011年5月28 日福建农林大学计算机与信息学院计算机类课程设计结果评定目录1.设计目的 (4)2.设计要求 (4)2.1功能需求 (4)2.2性能需求 (5)2.3数据库选择 (6)2.4环境 (6)3.设计方案 (6)3.1系统功能模块图 (7)4.设计内容 (9)4.1系统主界面的设计 (9)4.2对程序中用到的SQL Sever相关操作方法进行封装 (10)4.3实现对相关信息的快速查看 (13)4.4显示学生信息(用户信息) (16)4.5学生管理模块 (17)5.总结 (20)参考文献 (21)高校学生宿舍信息管理系统1.设计目的学生宿舍管理系统对于一个学校来说是必不可少的组成部分。

目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。

而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。

当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。

信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。

21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。

我们针对如此,设计了一套学生宿舍管理系统。

学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。

由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。

这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。

本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息。

2.设计要求目前,我们学校的宿舍管理采用的还是人工来进行管理的, 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

2.1功能需求2.1.1 基本功能需求本课题要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。

系统在实现上应该具有如下功能:1.系统要求用户必须输入正确的用户名和密码才能进入系统。

2.系统应该提供学生住宿情况的基本登记。

3.系统应提供学生每学期学生的离校处理。

4.系统应提供宿舍楼报修的详细登记。

5.系统应提供宿舍楼违规详细情况登记。

6.系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)。

7.系统应提供增加、删除、修改用户帐户的功能。

8.系统还应具有添加、修改、删除学生基本信息的功能。

2.1.2 报表需求学生宿舍管理系统的某些信息应当能够以报表形式打印出来。

基本上应该能够实现扣分统计、和卫生评比的报表打印功能。

(由于时间问题,改功能尚未实现)2.1.3 用户界面需求学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。

尽可能的为用户的录入、查询等功能操作提供方便。

快捷按钮的创建也是非常需要的,以方便用户操作。

2.2性能需求2.2.1系统安全性学生宿舍管理系统中的增加用户、学生毕业离校等的某些模块都是相联系在一起的,所以在系统的管理权限上应当进行严格控制,具体思想如下:1.要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。

没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。

2.在上述要求基础上可以为该系统设定三种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员登录、普通用户登录和只读用户三个窗口可以使用,没有系统管理员或者普通用户的用户名和密码任何人都不能登录该系统进行操作。

3.在具体实现时还应为系统管理员和普通用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户对于大部分的很关键的模块是无权使用的。

只读用户只能观看数据对任何模块都无权修改。

2.3数据库选择数据库是数据管理的最新技术,是计算机科学的重要分支。

十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。

由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。

我们选用的是SQL Server 2005。

2.4环境本系统是以Windows系统为操作平台,用C#编程语言和SQL Server 2005数据库来实现高校学生宿舍管理系统所需功能的。

3.设计方案【设计题目】高校学生宿舍信息管理系统我们将宿舍管理系统分为五个大的模块:系统管理模块、资源管理模块、学生管理模块、报修管理模块、违规管理模块。

【系统特点】本系统主要特点是根据面向对象程序设计的思想:封装,继承,多态来实现。

如:对Sql Sever操作方法的封装,对窗体设计代码的封装,对主窗体的继承以及实现多态。

在整体设计中,我们将宿舍管理系统分为五个大的模块:系统管理模块、资源管理模块、学生管理模块、报修管理模块、违规管理模块。

每个模块将实现不同的功能。

下面将具体进行介绍,括号里面是小组成员的名字,代表分工负责完成的模块。

3.1系统功能模块图系统功能模块图3.1.1系统管理模块(黄莹)系统分支(管理员帐号模块)功能模块图系统管理模块包括:管理员注册,管理员更新,退出系统三个部分。

1. 管理员注册:实现系统管理人员信息的注册。

2. 管理员更新:实现系统管理人员以及其他人员信息的修改与更新。

3. 退出系统:实现正常退出宿舍管理系统。

3.1.2资源管理模块(陈清兰)系统分支(宿舍管理模块)功能模块图宿舍管理模块包括:宿舍楼管理、宿舍管理两个大的部分。

1.宿舍楼管理:管理学校的宿舍楼信息(地理区域,宿舍楼号)。

2.宿舍管理:管理学生宿舍的住宿情况(地理区域,宿舍楼号,床位数,性别)。

3.1.3学生管理模块(苏永权)系统分支(学生管理模块)功能模块图信息查询模块基本上包括:信息登记,入住登记(要实现按多种条件的查询)。

1. 信息登记:实现每个学生基本信息情况的录入功能。

2. 入住登记:实现每个学生宿舍的分配功能。

3.1.4报修管理模块(林满堂)系统分支(报修管理模块)功能模块图报修模块基本上包括:报修登记,维修反馈。

1.报修登记:纪录宿舍楼的报修情况2.维修反馈:对报修记录进行跟踪并记录反馈情况。

3.1.5违规管理模块(林志龙)系统分支(违规管理模块)功能模块图出入登记模块包括:违规登记、处理意见、两个功能模块。

1.违规登记:详细登记宿舍楼的违规情况。

2.处理意见:对违规情况进行处理并登记情况。

4.设计内容在系统功能模块介绍时,我们将宿舍管理系统分为五个大的模块:系统管理模块、资源管理模块、学生管理模块、报修管理模块、违规管理模块。

下面是我负责的功能模块:4.1系统主界面的设计具体实现:根据功能模块图对主界面进行相关菜单,按钮的,及主窗体的设计。

并在窗体底部添加状态工具栏,调用TIMER控件来实现实时显示系统时间功能。

整个窗体按照面向对象的封装思想将窗体设计类跟功能实现类进行了分离。

这样就使得整个程序更容易维护。

4.2对程序中用到的SQL Sever相关操作方法进行封装设计思想:我希望把程序中对SQL Sever的增、删、查、改的所有方法都整合到一个类中,然后当使用到某个方法的时候可以直接从该类中调用。

所以,我封装了一个DBHelper类来实现这个思想。

当然以下很多代码中都会引用到这个DBHelper类,所以经常会看到如:DBHelper.GetResult(sql);DBHelper.connection.Close();DBHelper.GetDsqlResult(sql);等调用语句。

DBHelper类的主要实现代码:class DBHelper{private static SqlCommand cmd = null;private static SqlDataReader dr = null;//数据库连接字符串private static string connectionString = "Data Source =.\\SQL2005; Initial Catalog = Virgo; Integrated Security=SSPI";//数据库连接Connection对象public static SqlConnection connection = new SqlConnection(connectionString);public DBHelper(){ }#region返回结果集public static SqlDataReader GetResult(string sql){try{cmd = new SqlCommand();mandText = sql;cmd.Connection = connection;cmd.Connection.Open();dr = cmd.ExecuteReader();return dr;}catch (Exception ex){MessageBox.Show(ex.Message);return null;}finally{//dr.Close();//cmd.Connection.Close();}}#endregion#region对Select语句,返回int型结果集public static int GetSqlResult(string sql){try{cmd = new SqlCommand();mandText = sql;cmd.Connection = connection;cmd.Connection.Open();int a = (int)cmd.ExecuteScalar();return a;}catch (Exception ex){MessageBox.Show(ex.Message);return -1;}finally{cmd.Connection.Close();}}#endregion#region对Update,Insert和Delete语句,返回该命令所影响的行数public static int GetDsqlResult(string sql){try{cmd = new SqlCommand();mandText = sql;cmd.Connection = connection;cmd.Connection.Open();cmd.ExecuteNonQuery();return 1;}catch (Exception ex){MessageBox.Show(ex.Message);return -1;}finally{cmd.Connection.Close();}}#endregion}4.3实现对相关信息的快速查看设计思想:我希望通过点击主窗口的一个菜单按钮可以快速的浏览相关常用信息如:学生住宿信息,宿舍维修记录,违规记录以及正在处理的业务等等学生信息查询(快速查询):具体实现:在窗口初始化的时候,查询数据库中DB_StuInfo ,DB_DormRegister两张表,通过stuNo字段进行连接,把相关记录显示在窗体中ListView控件中。

相关文档
最新文档