面向对象课程设计报告.docx
- 文档编号:29629867
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:68
- 大小:383.97KB
面向对象课程设计报告.docx
《面向对象课程设计报告.docx》由会员分享,可在线阅读,更多相关《面向对象课程设计报告.docx(68页珍藏版)》请在冰豆网上搜索。
面向对象课程设计报告
成绩
课程设计报告
题目校友录管理系统
课程名称面向对象程序设计课程设计
院部名称信息技术
专业计算机科学与技术
班级10计算机科学与技术(嵌入式)
学生姓名
学号
课程设计地点A203
课程设计学时20学时
指导教师李尤丰
金陵科技学院教务处制
一、课程设计的目的和要求
目的:
该课程设计的目的采用面向对象的程序设计语言,开发实现一个应用程序,主要目的是使学生更好的掌握面向对象程序设计语言及其开发工具,掌握如何使用面向对象的程序设计语言设计一个小的软件系统。
通过该课程设计培养学生分析和解决实际问题的能力,培养学生综合应用基本概念,基本原理,和技术方法的能力,真正做到学以致用,使课本上抽象的理论,方法与具体的实践应用相结合。
要求:
1.编写一个校友录管理软件。
校友的信息包括姓名、性别、年龄、届别、系、班级、通讯地址、电话、QQ、Email等。
具体实现的功能:
能够实现数据的录入、查询(按姓名、届别、系、班级)、修改、删除、排序(按姓名、届别)。
2.程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据.
(1)应用程序正常运行后,要在屏幕上显示一个文字菜单;
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
二、系统需求分析
经过调研确定,校友录管理系统要完成的基本功能是同学间的相互交流。
其内容主要有班级管理、通信录和用户管理等。
一个学校的同学是以班级为单位进行划分的,需要对班级信息、班级成员等进行管理,所以班级管理是本系统必不可少的一部分。
在现在有条件使用扫描仪和拥有数码相机的人群中更是如此。
同学录在这里体现了超文本和信息便捷公开的优势,对于毕业后奔向天南海北的高中同学具有很强的吸引力。
通由于前台用户的这些需求,后台系统就应该对相关信息进行必要的维护:
对同学录的基本参数进行设定与修改操作;对用户积分进行设定与修改操作,对用户信息进行核查操作;对班级信息及动态进行核查管理操作;对短消息发布于管理进行操作,还有定期批量删除成员信息操作。
最后,后台还应该及时做好数据更新操作。
三、总体设计
通过设计一个《校友录管理系统》,进一步熟悉C++中类的概念、基本知识和技能,类的封装、继承的实现方式。
掌握面向对象程序设计的基本思路和方法,并利用所学的基本知识和技能解决简单的面向对象的程序设计问题。
了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境的使用:
逐步熟悉程序设计的方法,并养成良好的编程习惯。
以本校同学的具体数据为背景,设计一个本校同学校友录,系统总体设计及各个模块类的设计如下:
(1)成员类,包含成员的主要信息字段和操作成员类的主要方法
Members类(成员类)
字段
namestring(姓名)
ageint(年龄)
sexstring(性别)
periodint(届别)
specialstring(专业)
classstring(班级)
phonestring(电话)
qqstring(QQ号)
emailstring(Emial)
addressstring(地址)
属性
stringName
intAge
stringSex
intPeriod
stringSpecial
stringClass
stringPhone
StringQQ
StringEmail
stringAddress
方法
Members()构造方法
(2)登录模块
Form1类(登录模块)
字段
choose
方法
Publicxiaoyoulu()构造方法
PrivatevoidbtnLog_Click(objectsender,EventArgse)
PrivatevoidbtnExit_Click(objectsender,EventArgse)
PrivatevoidbtnReg_Click(objectsender,EventArgse)
(3)操作选择模块,可以选择进行添加新成员,查询某成员信息,删除成员信息和将成员信息排序显示等操作。
Choose类(操作选择模块)
字段
publicstaticupdateupda;
方法
publicChoose()
privatevoidbtnAdd_Click(objectsender,EventArgse)
privatevoidbtnExit_Click(objectsender,EventArgse)
privatevoidbtnUpdate_Click(objectsender,EventArgse)
privatevoidbtnSorted_Click(objectsender,EventArgse)
privatevoidbtnSearch_Click(objectsender,EventArgse)
privatevoidbtnDelete_Click(objectsender,EventArgse)
privatevoidChoose_FormClosed(objectsender,FormClosedEventArgse)
(4)录入信息,必须包括:
姓名,性别,年龄,届别,专业,班级,电话,邮编,E-mail等基本信息;
NewMember类(添加新成员模块)
字段
privateList
privatestringname;
privatestringsex;
privateintage;
privateintperiod;
privatestringspecial;
privatestringgrade;
privatestringphone;
privatestringqq;
方法
publicNewMember()构造方法
privatevoidbtnReg_Click(objectsender,EventArgse)
privatevoidbtnCancle_Click(objectsender,EventArgse)
privatevoidcbxSex_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxAge_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxPeriod_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxSpecial_SelectedIndexChanged(objectsender,EventArgse)
privatevoidNewMember_FormClosed(objectsender,FormClosedEventArgse)
(5)修改信息,包括修改个人的姓名,性别,年龄,届别,专业,班级,电话,邮编,E-mail等基本信息;
Updateinfo(更新成员信息模块)
字段
privatestringname;
privatestringsex;
privateintage;
privateintperiod;
privatestringspecial;
privatestringgrade;
privatestringphone;
privatestringqq;
privatestringEmail;
privatestringaddress;
方法
publicupdateinfo(stringname,stringsex,intage,intperiod,
stringspecial,stringgrade,stringphone,stringqq,stringemials,stringaddress)
privatevoidbtnReg_Click(objectsender,EventArgse)
privatevoidcbxSex_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxAge_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxPeriod_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxSpecial_SelectedIndexChanged(objectsender,EventArgse)
privatevoidbtnCancle_Click(objectsender,EventArgse)
privatevoidupdateinfo_FormClosed(objectsender,FormClosedEventArgse)
(6)查询信息,可以按姓名,专业,性别,届别以及组合查询等多种方式查询;
Search类(查询信息模块)
字段
privatestringname=null;
privatestringsex=null;
privateintage=0;
privateintperiod=0;
方法
publicSearch()构造方法
privatevoidbtnsearch_Click(objectsender,EventArgse)
privatevoidtxtName_TextChanged(objectsender,EventArgse)
privatevoidcbxAge_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxSex_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxPeriod_SelectedIndexChanged(objectsender,EventArgse)
privatevoidSearch_FormClosing(objectsender,FormClosingEventArgse)
(7)显示所有信息,可以按照姓名,年龄,届别和专业分别排序显示数据库中所有成员的信息;
Sort类(信息排序显示模块)
方法
publicSort()
privatevoidSortName_Click(objectsender,EventArgse)
privatevoidSortAge_Click(objectsender,EventArgse)
privatevoidSortPeriod_Click(objectsender,EventArgse)
privatevoidSortSpecial_Click(objectsender,EventArgse)
privatevoidSort_FormClosing(objectsender,FormClosingEventArgse)
(8)删除信息模块,可以按照姓名,年龄,届别和专业分别删除数据库中成员信息;
Delete类(删除信息模块)
字段
privatestringname;
privateintage;
privateintperiod;
privatestringspecial;
方法
publicDelete()构造方法
privatevoidbtnDelName_Click(objectsender,EventArgse)
privatevoidtxtName_TextChanged(objectsender,EventArgse)
privatevoidcbxAge_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxSpecial_SelectedIndexChanged(objectsender,EventArgse)
privatevoidcbxPeriod_SelectedIndexChanged(objectsender,EventArgse)
privatevoidbtnDelAge_Click(objectsender,EventArgse)
privatevoidbtnDelSpecial_Click(objectsender,EventArgse)
privatevoidbtnDelPeriod_Click(objectsender,EventArgse)
privatevoidDelete_FormClosing(objectsender,FormClosingEventArgse)
四、详细设计
1)登陆模块
该模块用于合法用户登录进入“校友录”管理系统。
privatevoidbtnLog_Click(objectsender,EventArgse)
{
stringconnstring="DataSource=cmd10;UserID="+txtName.Text+";Pwd="+txtPassword.Text;
OracleConnectionConn=newOracleConnection(connstring);
try
{
Conn.Open();
choose.Show();
this.Hide();
Conn.Close();
}
catch(System.Data.OracleClient.OracleExceptionex)
{
MessageBox.Show("用户名或密码错误,请重新输入!
");
}
}
2)各项操作选择模块
privatevoidbtnAdd_Click(objectsender,EventArgse)
{
NewMembernewmember=newNewMember();
newmember.Show();
this.Hide();
}
privatevoidbtnExit_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidbtnUpdate_Click(objectsender,EventArgse)
{
upda.Show();
this.Hide();
}
privatevoidbtnSorted_Click(objectsender,EventArgse)
{
Sortsort=newSort();
sort.Show();
this.Hide();
}
privatevoidbtnSearch_Click(objectsender,EventArgse)
{
Searchsearch=newSearch();
search.Show();
this.Hide();
}
3)增加新成员模块
privatevoidbtnReg_Click(objectsender,EventArgse)
{
name=txtName.Text;
grade=txtClass.Text;
phone=txtPhone.Text;
qq=txtQQ.Text;
Email=txtEmail.Text;
address=txtAddress.Text;
Memberm=newMember(name,sex,age,period,special,grade,phone,qq,Email,address);
stringconnstring="DataSource=cmd10;UserID=scott;Pwd=tiger";
OracleConnectionConn=newOracleConnection(connstring);
Conn.Open();
stringsql="insertintoMembersvalues("+"'"+m.Name+"','"+m.Sex+"',"
+m.Age.ToString()+","+m.Period.ToString()
+",'"+m.Special+"','"+m.Grade+"','"
+m.Phone+"','"+m.QQ+"','"+m.Emails
+"','"+m.Address+"')";
OracleCommandcomand=newOracleCommand(sql,Conn);
intn=comand.ExecuteNonQuery();
if(n>0)
MessageBox.Show("添加成功!
");
else
MessageBox.Show("添加失败!
");
Conn.Close();
}
4)删除成员信息模块
该模块完成功能如下:
a)根据姓名删除指定的某个或某几个成员信息,它分三部分完成。
第一部分,连接数据库;第二步,根据输入的学号调用search_number(),判断该学生是否存在。
第三步,若不存在,输出Nostudentexist!
若存在,删除该学生全部信息。
b)根据年龄删除指定的某一类成员信息,它分成两部分完成。
第一部分,连接数据库;第二部分是根据输入的年龄数据查找数据库,该年龄的所有成员找出;第三部分,将上一步找出的所有成员从数据库删除。
c)根据专业删除指定的某一类成员信息,它分成两部分完成。
第一部分,连接数据库;第二部分是根据输入的专业数据查找数据库,该年龄的所有成员找出;第三部分,将上一步找出的所有成员从数据库删除。
d)根据届别删除指定的某一类成员信息,它分成两部分完成。
第一部分,连接数据库;第二部分是根据输入的届别数据查找数据库,该年龄的所有成员找出;第三部分,将上一步找出的所有成员从数据库删除。
publicpartialclassDelete:
Form
{
privatestringname;
privateintage;
privateintperiod;
privatestringspecial;
publicDelete()
{
InitializeComponent();
}
privatevoidbtnDelName_Click(objectsender,EventArgse)
{
stringconnstring="DataSource=cmd10;UserID=scott;Pwd=tiger";
OracleConnectionConn=newOracleConnection(connstring);
Conn.Open();
stringsql="deletefromMemberswherename='"+name+"'";
OracleCommandcomand=newOracleCommand(sql,Conn);
intn=comand.ExecuteNonQuery();
if(n!
=0)
MessageBox.Show(string.Format("{0}行已删除成功!
",n));
else
MessageBox.Show("系统无此信息!
");
Conn.Close();
}
5)修改成员信息模块
该模块完成根据用户在update窗体中输入的姓名修改指定成员信息,它也分四部分完成。
第一部分,连接数据库;第二步,根据输入的姓名查找数据库,判断该学生是否存在。
第三步,若不存在,输出“系统中无此信息”;若存在,将该成员信息显示在updateinfo窗体中。
privatevoidbtnReg_Click(objectsender,EventArgse)
{
name=txtName.Text;
grade=txtClass.Text;
phone=txtPhone.Text;
qq=txtQQ.Text;
Email=txtEmail.Text;
address=txtAddress.Text;
Memberm=newMember(name,sex,age,period,special,grade,phone,qq,Email,address);
stringconnstring="DataSource=cmd10;UserID=scott;Pwd=tiger";
OracleConnectionConn=newOracleConnection(connstring);
Conn.Open();
stringsql="updateMemberssetname="+"'"+m.Name+"'"+"wherename="+"'"+update.name+"'";
OracleCommandcomand=newOracleCommand(sql,Conn);
comand.ExecuteNonQuery();
sql=@"updateMemberssetsex='"+m.Sex+"'"+"wherename="+"'"+update.name+"'";
comand.CommandText=sql;
comand.ExecuteNonQuery();
sql="updateMemberssetage="+m.Age.ToString()+"wherename="+"'"+update.name+"'";
coma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 课程设计 报告