《面向对象程序设计》课程设计1050303061—吕思超
更新时间:2024-04-29 18:38:01 阅读量: 综合文库 文档下载
课程名称:
课程设计题目:
面向对象程序设计 学生信息管理系统
姓 名:系:专 业:年 级:学 号:指导教师:职 称:
计算机 计算机科学与技术
10级 1050303061 王李进
副教授
2011年12月14日
1
课程设计结果评定
序号 1 2 3 4 5 6 评 定 项 目 选题合理、目的明确 设计方案正确,具有可行性、创新性 程序运行结果正确 态度认真、学习刻苦、遵守纪律 设计报告的规范化、参考文献充分(不少于5篇) 答辩:思路清晰,语言表达准确,概念清楚、正确 最后得分 指导老师(签名) 日期 分值 10 20 20 15 10 25 得分 年 月 日
2
目 录
1.课程设计的目的………………………………………………………………4 2.课程设计的要求………………………………………………………………4 3.课程设计报告内容……………………………………………………………4 3.1 需求分析…………………………………………………………………4 3.2 设计说明…………………………………………………………………5 4.设计结果及体会………………………………………………………………31 5.5.参考文献……………………………………………………………………31
3
学生信息管理系统
1.课程设计的目的
1. 全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法。 2. 正确理解掌握C++面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。
3. 遵循软件开发过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品。
4. 了解当前常用的软件开发工具(Visual C++),要求熟练掌握基于MFC的程序设计,培养解决实际问题的能力。
2.课程设计的要求
1. 要求利用面向对象程序设计(Visual C++)课程上学习的基础编程技巧来完成程序的设计;
2. 在设计的过程中,要建立清晰的循环、函数和类并正确使用相应的数据类型;在系统设计中要分析类与类之间的关系,将查找和排序的算法独立出来形成为单独的函数。正确使用继承、重载、虚函数、模板和多态等高级技巧。
3. 所有数据用文件存储,并通过流类与程序交换;
4. 用户界面用基于MFC的设计,最后完成一个可运行的程序;
5. 三人一个小组,选择一个题目,要求发挥团队合作精神,分工协助; 6. 设计完成应提交的制品
? 课程设计报告说明书(打印文档) ? 源程序、可执行程序
3.课程设计报告内容
3.1 需求分析 ① 功能分析:
(1)由于使用人群众多,因此要求有较好的管理权限,保证用户信息安全; (2)由于要求方便操作人员的工作,要求要有良好的人性界面; (3)原始数据修改简单方便;
4
(4)删除数据容易简单,要求在相应权限下; (5)方便的数据查询;
3.2 设计说明
①主要的C++课程设计设计说明:
该学生信息管理系统基于MFC构建,适用于window操作系统。在可视化的窗口下进行的,方便操作。该系统主要用于管理学生信息,通过对学生信息的分类,来达到易查询,好管理的目的。
②程序的主要流程图:
③ 程序的主要模块,要求对主要流程图中出现的模块进行说明
1) 登入窗口:
用于确认用户信息,保证系统中资料安全。同时确保系统稳定。
5
2) 修改用户密码:
确保密码的安全性,容易记忆。
3) 添加学生信息:
通过添加信息,容易分类管理。
4)修改(删除)学生信息
修改和删除信息,有利于对信息的管理和保管,为后面的查询奠定基础。
6
5)学生信息查询: 方便信息的查询,和调用。
7
④ 程序的主要函数及其代码和说明
该软件主要包含了14大类和一个CaboutDlg类
1)登录窗口CloginDlg类:
代码如下:
#include \#include \#include \#include \#ifdef _DEBUG
#define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////// // CLoginDlg dialog
CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
8
{ }
: CDialog(CLoginDlg::IDD, pParent)
//{{AFX_DATA_INIT(CLoginDlg) m_Username = _T(\m_PWD = _T(\//}}AFX_DATA_INIT
void CLoginDlg::DoDataExchange(CDataExchange* pDX) { }
BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
//{{AFX_MSG_MAP(CLoginDlg)
ON_BN_CLICKED(IDC_BUTTON_Login, OnBUTTONLogin) ON_BN_CLICKED(IDC_BUTTON_Cancle, OnBUTTONCancle) //}}AFX_MSG_MAP
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CLoginDlg)
DDX_Text(pDX, IDC_EDIT_UserName, m_Username); DDX_Text(pDX, IDC_EDIT_PWD, m_PWD); //}}AFX_DATA_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////// // CLoginDlg message handlers void CLoginDlg::OnBUTTONLogin() {
// TODO: Add your control notification handler code here UpdateData(true); CLoginDlgUserDoc doc;
if (doc.ValidUserNamePwd(m_Username,m_PWD)) {
9
}
CDialog::OnOK();
} else { }
MessageBox(\用户名或密码错误,请重新输入\提示\
void CLoginDlg::OnBUTTONCancle() { }
2)做一个修改密码窗口CModifyPWDDlg类
代码如下:// ModifyPWDDlg.cpp : implementation file //
#include \#include \#include \#include \#ifdef _DEBUG
#define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////////// // CModifyPWDDlg dialog
CModifyPWDDlg::CModifyPWDDlg(CWnd* pParent /*=NULL*/) {
: CDialog(CModifyPWDDlg::IDD, pParent)
// TODO: Add your control notification handler code here CDialog::OnCancel();
10
}
//{{AFX_DATA_INIT(CModifyPWDDlg) m_OldPwd = _T(\m_NewPwd = _T(\m_AgainPwd = _T(\//}}AFX_DATA_INIT
void CModifyPWDDlg::DoDataExchange(CDataExchange* pDX) { }
BEGIN_MESSAGE_MAP(CModifyPWDDlg, CDialog)
//{{AFX_MSG_MAP(CModifyPWDDlg)
ON_BN_CLICKED(IDC_BUTTON_Cancel, OnBUTTONCancel) ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk) //}}AFX_MSG_MAP
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CModifyPWDDlg)
DDX_Text(pDX, IDC_EDIT_OldPwd, m_OldPwd); DDX_Text(pDX, IDC_EDIT_NewPwd, m_NewPwd); DDX_Text(pDX, IDC_EDIT_AgainPwd, m_AgainPwd); //}}AFX_DATA_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////// // CModifyPWDDlg message handlers
void CModifyPWDDlg::OnBUTTONCancel() {
// TODO: Add your control notification handler code here CDialog::OnCancel();
11
}
void CModifyPWDDlg::OnButtonOk() { }
3)做一个添加学生信息窗口类CaddStudentDlg类
代码如下:// AddStudentDlg.cpp : implementation file //
#include \#include \#include \#include \
// TODO: Add your control notification handler code here UpdateData(true);
if (m_NewPwd!=m_AgainPwd) { } //
CLoginDlgUserDoc doc;
if (doc.ModfiyPwd(m_NewPwd)) { } else { }
MessageBox(\密码修改失败,请联系管理员\提示\MessageBox(\密码修改成功\提示\CDialog::OnOK();
MessageBox(\新密码与确认密码不一致\错误\return;
12
#include \#ifdef _DEBUG
#define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
//////////////////////////////////////////////////////////////////// // CAddStudentDlg dialog
CAddStudentDlg::CAddStudentDlg(CWnd* pParent /*=NULL*/) { }
void CAddStudentDlg::DoDataExchange(CDataExchange* pDX)
//{{AFX_DATA_INIT(CAddStudentDlg) m_No = _T(\m_Name = _T(\m_Sex = _T(\m_Age = 0;
m_Native = _T(\m_Tel = _T(\m_QQ = _T(\
m_HomeAddress = _T(\m_Email = _T(\//}}AFX_DATA_INIT
: CDialog(CAddStudentDlg::IDD, pParent)
13
{ }
BEGIN_MESSAGE_MAP(CAddStudentDlg, CDialog)
//{{AFX_MSG_MAP(CAddStudentDlg)
ON_BN_CLICKED(IDC_BUTTON_Cancle, OnBUTTONCancle) ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk) //}}AFX_MSG_MAP
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAddStudentDlg) DDX_Text(pDX, IDC_EDIT_No, m_No); DDX_Text(pDX, IDC_EDIT_Name, m_Name); DDX_Text(pDX, IDC_EDIT_Sex, m_Sex); DDX_Text(pDX, IDC_EDIT_Age, m_Age); DDX_Text(pDX, IDC_EDIT_Native, m_Native); DDX_Text(pDX, IDC_EDIT_Tel, m_Tel); DDX_Text(pDX, IDC_EDIT_qq, m_QQ);
DDX_Text(pDX, IDC_EDIT_HomeAddress, m_HomeAddress); DDX_Text(pDX, IDC_EDIT_Email, m_Email); //}}AFX_DATA_MAP
END_MESSAGE_MAP()
///////////////////////////////////////////////////////////////////// // CAddStudentDlg message handlers
void CAddStudentDlg::OnBUTTONCancle() {
// TODO: Add your control notification handler code here
14
}
CDialog::OnCancel();
void CAddStudentDlg::OnButtonOk() { }
4)做一个修改学生信息窗口类CEditStudentDlg类
代码:// EditStudentDlg.cpp : implementation file //
// TODO: Add your control notification handler code here UpdateData(TRUE); CStudent tmpStu;
tmpStu.SetStuName(m_Name); tmpStu.SetStuNo(m_No); tmpStu.SetSex(m_Sex); tmpStu.SetAge(m_Age);
tmpStu.SetHomeAddress(m_HomeAddress); tmpStu.SetNative(m_Native); tmpStu.SetTelephone(m_Tel); tmpStu.SetQQ(m_QQ); tmpStu.SetEmail(m_Email); CStudentDoc stuDoc; if (stuDoc.Add(tmpStu)) { }
MessageBox(\成功添加学生信息!\CDialog::OnOK();
15
#include \#include \#include \
#include \#include \#ifdef _DEBUG
#define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////////// // CEditStudentDlg dialog
CEditStudentDlg::CEditStudentDlg(CWnd* pParent /*=NULL*/) {
//{{AFX_DATA_INIT(CEditStudentDlg) m_Email = _T(\m_HomeAddress = _T(\m_Native = _T(\m_QQ = _T(\m_Tel = _T(\m_Name = _T(\m_No = 0; m_Age = 0; //}}AFX_DATA_INIT
: CDialog(CEditStudentDlg::IDD, pParent)
16
}
void CEditStudentDlg::DoDataExchange(CDataExchange* pDX) { }
BEGIN_MESSAGE_MAP(CEditStudentDlg, CDialog)
//{{AFX_MSG_MAP(CEditStudentDlg)
ON_COMMAND(ID_MANAGE_EDIT, OnManageEdit)
ON_BN_CLICKED(IDC_BUTTON_Cancle, OnBUTTONCancle) ON_CBN_SELCHANGE(IDC_COMBO_No, OnSelchangeCOMBONo) ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit) //}}AFX_MSG_MAP
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CEditStudentDlg) DDX_Control(pDX, IDC_COMBO_No, m_strNo); DDX_Text(pDX, IDC_EDIT_Edit_Email, m_Email);
DDX_Text(pDX, IDC_EDIT_Edit_HomeAddress, m_HomeAddress); DDX_Text(pDX, IDC_EDIT_Edit_Native, m_Native); DDX_Text(pDX, IDC_EDIT_Edit_QQ, m_QQ); DDX_Text(pDX, IDC_EDIT_Edit_Tel, m_Tel); DDX_Text(pDX, IDC_EDIT_Name_Edit, m_Name); DDX_Text(pDX, IDC_EDIT_No_Edit, m_No); DDX_Text(pDX, IDC_EDIT_Edit_Age, m_Age); //}}AFX_DATA_MAP
END_MESSAGE_MAP()
17
//////////////////////////////////////////////////////////////////// // CEditStudentDlg message handlers
void CEditStudentDlg::OnManageEdit() { }
void CEditStudentDlg::OnBUTTONCancle() { }
void CEditStudentDlg::OnSelchangeCOMBONo() {
// TODO: Add your control notification handler code here int vSize=(int)m_v.size(); UpdateData(true); for(int i=0;i
m_Name=m_v[i]->GetStuName();
if (m_No==m_v[i]->GetStuNo()) { }
break;
// TODO: Add your control notification handler code here CDialog::OnCancel();
// TODO: Add your command handler code here CEditStudentDlg dlgEdit; dlgEdit.DoModal();
18
}
m_Sex=m_v[i]->GetSex(); m_Native=m_v[i]->GetNative(); m_Age=m_v[i]->GetAge();
m_HomeAddress=m_v[i]->GetHomeAddress(); m_Tel=m_v[i]->GetTelephone(); m_QQ=m_v[i]->GetQQ(); m_Email=m_v[i]->GetEmail(); UpdateData(false);
BOOL CEditStudentDlg::OnInitDialog() { }
return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE CDialog::OnInitDialog();
// TODO: Add extra initialization here CStudentDoc doc;
m_v=doc.GetStudentList(); int vSize=(int)m_v.size(); for(int i=0;i
UpdateData(false);
m_No==m_v[i]->GetStuNo();
19
void CEditStudentDlg::OnButtonEdit() { }
5)做一个删除学生信息窗口CdelStudentDlg类
代码:// DelStudentDlg.cpp : implementation file //
// TODO: Add your control notification handler code here UpdateData(TRUE); CStudent tmpStu;
tmpStu.SetStuName(m_Name); tmpStu.SetStuNo(m_No); tmpStu.SetSex(m_Sex); tmpStu.SetAge(m_Age);
tmpStu.SetHomeAddress(m_HomeAddress); tmpStu.SetNative(m_Native); tmpStu.SetTelephone(m_Tel); tmpStu.SetQQ(m_QQ); tmpStu.SetEmail(m_Email); CStudentDoc stuDoc; if (stuDoc.Edit(tmpStu)) { } else {
MessageBox(\修改学生信息失败!\MessageBox(\成功修改学生信息!\CDialog::OnOK();
}
20
#include \#include \#include \#include \#include \#ifdef _DEBUG
#define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
//////////////////////////////////////////////////////////////////// // CDelStudentDlg dialog
CDelStudentDlg::CDelStudentDlg(CWnd* pParent /*=NULL*/) {
//{{AFX_DATA_INIT(CDelStudentDlg) m_Name = _T(\m_Sex = _T(\m_Native = _T(\m_Tel = _T(\m_QQ = _T(\m_Email = _T(\m_HomeAddress = _T(\m_Age = 0; //}}AFX_DATA_INIT
: CDialog(CDelStudentDlg::IDD, pParent)
21
}
void CDelStudentDlg::DoDataExchange(CDataExchange* pDX) { }
BEGIN_MESSAGE_MAP(CDelStudentDlg, CDialog)
//{{AFX_MSG_MAP(CDelStudentDlg) ON_COMMAND(ID_MANAGE_DEL, OnManageDel)
ON_BN_CLICKED(IDC_BUTTON_Cancle, OnBUTTONCancle)
ON_CBN_SELCHANGE(IDC_COMBO_DEL_No, OnSelchangeCOMBODELNo) ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel) //}}AFX_MSG_MAP
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDelStudentDlg)
DDX_Control(pDX, IDC_COMBO_DEL_No, m_No); DDX_Text(pDX, IDC_EDIT_DEL_Name, m_Name); DDX_Text(pDX, IDC_EDIT_DEL_Sex, m_Sex); DDX_Text(pDX, IDC_EDIT_DEL_Native, m_Native); DDX_Text(pDX, IDC_EDIT_DEL_Tel, m_Tel); DDX_Text(pDX, IDC_EDIT_DEL_QQ, m_QQ); DDX_Text(pDX, IDC_EDIT_DEL_Email, m_Email);
DDX_Text(pDX, IDC_EDIT_DEL_HomeAddress, m_HomeAddress); DDX_Text(pDX, IDC_EDIT_DEL_Age, m_Age); //}}AFX_DATA_MAP
END_MESSAGE_MAP()
22
///////////////////////////////////////////////////////////////////// // CDelStudentDlg message handlers
void CDelStudentDlg::OnManageDel() { }
void CDelStudentDlg::OnBUTTONCancle() { }
void CDelStudentDlg::OnSelchangeCOMBODELNo() {
// TODO: Add your control notification handler code here int vSize=(int)m_v.size(); UpdateData(true); CString m_strNo;
m_No.GetWindowText(m_strNo); for(int i=0;i
if (m_strNo==m_v[i]->GetStuNo()) { }
break;
// TODO: Add your control notification handler code here CDialog::OnCancel();
// TODO: Add your command handler code here CDelStudentDlg dlgDel; dlgDel.DoModal();
23
}
}
m_Name=m_v[i]->GetStuName(); m_Sex=m_v[i]->GetSex(); m_Native=m_v[i]->GetNative(); m_Age=m_v[i]->GetAge();
m_HomeAddress=m_v[i]->GetHomeAddress(); m_Tel=m_v[i]->GetTelephone(); m_QQ=m_v[i]->GetQQ(); m_Email=m_v[i]->GetEmail(); UpdateData(false);
BOOL CDelStudentDlg::OnInitDialog() {
return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE CDialog::OnInitDialog();
// TODO: Add extra initialization here CStudentDoc doc;
m_v=doc.GetStudentList(); int vSize=(int)m_v.size(); for(int i=0;i
UpdateData(false);
m_No.AddString(m_v[i]->GetStuNo());
24
}
void CDelStudentDlg::OnButtonDel() {
// TODO: Add your control notification handler code here UpdateData(TRUE); CStudent tmpStu; CString m_strNo;
m_No.GetWindowText(m_strNo); tmpStu.SetStuName(m_Name); tmpStu.SetStuNo(m_strNo); tmpStu.SetSex(m_Sex); tmpStu.SetAge(m_Age);
tmpStu.SetHomeAddress(m_HomeAddress); tmpStu.SetNative(m_Native); tmpStu.SetTelephone(m_Tel); tmpStu.SetQQ(m_QQ); tmpStu.SetEmail(m_Email); CStudentDoc stuDoc; if (stuDoc.Del(tmpStu)) { } else { }
MessageBox(\删除学生信息失败!\MessageBox(\成功删除学生信息!\CDialog::OnOK();
25
}
6)做一个查询学生信息窗口类CQueryStudentDlg类:
代码:// QueryStudentDlg.cpp : implementation file //
#include \#include \#include \#include \#ifdef _DEBUG
#define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////////// // CQueryStudentDlg dialog
CQueryStudentDlg::CQueryStudentDlg(CWnd* pParent /*=NULL*/) { }
//{{AFX_DATA_INIT(CQueryStudentDlg) m_QueryText = _T(\//}}AFX_DATA_INIT
: CDialog(CQueryStudentDlg::IDD, pParent)
26
void CQueryStudentDlg::DoDataExchange(CDataExchange* pDX) { }
BEGIN_MESSAGE_MAP(CQueryStudentDlg, CDialog)
//{{AFX_MSG_MAP(CQueryStudentDlg)
ON_COMMAND(ID_MANAGE_QUERY, OnManageQuery) ON_BN_CLICKED(IDC_BUTTON_Query, OnBUTTONQuery) //}}AFX_MSG_MAP
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CQueryStudentDlg)
DDX_Control(pDX, IDC_LIST_Query, m_listQuery); DDX_Control(pDX, IDC_COMBO_QueryType, m_QueryType); DDX_Text(pDX, IDC_EDIT_QueryText, m_QueryText); //}}AFX_DATA_MAP
END_MESSAGE_MAP()
///////////////////////////////////////////////////////////////////// // CQueryStudentDlg message handlers
void CQueryStudentDlg::OnManageQuery() { }
BOOL CQueryStudentDlg::OnInitDialog()
// TODO: Add your command handler code here CQueryStudentDlg dlgQuery; dlgQuery.DoModal();
27
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here m_listQuery.InsertColumn(0,\学号\m_listQuery.InsertColumn(1,\姓名\m_listQuery.InsertColumn(2,\性别\m_listQuery.InsertColumn(3,\年龄\m_listQuery.InsertColumn(4,\籍贯\m_listQuery.InsertColumn(5,\联系电话\m_listQuery.InsertColumn(6,\家庭地址\m_listQuery.InsertColumn(7,\m_listQuery.InsertColumn(8,\电子邮箱\
m_listQuery.SetColumnWidth(0,80); m_listQuery.SetColumnWidth(1,80); m_listQuery.SetColumnWidth(2,60); m_listQuery.SetColumnWidth(3,60); m_listQuery.SetColumnWidth(4,100); m_listQuery.SetColumnWidth(5,100); m_listQuery.SetColumnWidth(6,100); m_listQuery.SetColumnWidth(7,100); m_listQuery.SetColumnWidth(8,100);
m_listQuery.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINE
S);
CStudentDoc doc;
m_v=doc.GetStudentList();
return TRUE; // return TRUE unless you set the focus to a control
28
}
// EXCEPTION: OCX Property Pages should return FALSE
void CQueryStudentDlg::OnBUTTONQuery() {
// TODO: Add your control notification handler code here CString strQueryType; UpdateData(true);
m_QueryType.GetWindowText(strQueryType);
int vSize=(int) m_v.size(); int i=0;
if (m_listQuery.GetItemCount()!=0) { }
int itemCount=0;
if (strQueryType==\学号\{
for (i=0;i
if (m_v[i]->GetStuNo()==m_QueryText) {
CString strAge;
strAge.Format(\
m_listQuery.InsertItem(itemCount,m_v[i]->GetStuNo());
m_listQuery.DeleteAllItems();
m_listQuery.SetItemText(itemCount,1,m_v[i]->GetStuName());
m_listQuery.SetItemText(itemCount,2,m_v[i]->GetSex());
29
m_listQuery.SetItemText(itemCount,3,strAge);
m_listQuery.SetItemText(itemCount,4,m_v[i]->GetNative());
m_listQuery.SetItemText(itemCount,5,m_v[i]->GetHomeAddress());
m_listQuery.SetItemText(itemCount,6,m_v[i]->GetTelephone());
m_listQuery.SetItemText(itemCount,7,m_v[i]->GetQQ());
m_listQuery.SetItemText(itemCount,8,m_v[i]->GetEmail()); }
else if (strQueryType==\姓名\{
}
}
itemCount++;
//自己添加
}
else if (strQueryType==\性别\{ }
else if (strQueryType==\年龄\{ }
else if (strQueryType==\籍贯\{
//自己添加 //自己添加 //自己添加
30
}
}
4.设计结果及体会
通过本次课程设计,使我对c++面向对象程序设计和MFC有了更深层次的认识和理解,懂得了灵活用于所学的知识解决实际问题。在计算机飞速发展的今天,懂得一门计算机语言是非常有必要的。
C++的课程设计培养了我们独立分析问题、解决问题、繁阅资料及自学能力。通过此次课程设计,让我明白了巩固专业知识的重要性。
5.参考文献
教材:
谭浩强编著. C++面向对象程序设计.北京:清华大学出版社,2006年1月出版
参考书:
[1]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006年出版 [2] 郑莉、傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出版
[3] 李师贤等译,《C++精髓》,机械工业出版社,2002年8月出版 [4] Davis Chapman,《学用Visual c++ 6.0》,清华大学出版社,2001年7月出版
[5] 郑莉、傅仕星编,C++语言面向对象程序设计习题与实验指导,清华大
学出版社,2003年9月出版。
31
}
}
4.设计结果及体会
通过本次课程设计,使我对c++面向对象程序设计和MFC有了更深层次的认识和理解,懂得了灵活用于所学的知识解决实际问题。在计算机飞速发展的今天,懂得一门计算机语言是非常有必要的。
C++的课程设计培养了我们独立分析问题、解决问题、繁阅资料及自学能力。通过此次课程设计,让我明白了巩固专业知识的重要性。
5.参考文献
教材:
谭浩强编著. C++面向对象程序设计.北京:清华大学出版社,2006年1月出版
参考书:
[1]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006年出版 [2] 郑莉、傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出版
[3] 李师贤等译,《C++精髓》,机械工业出版社,2002年8月出版 [4] Davis Chapman,《学用Visual c++ 6.0》,清华大学出版社,2001年7月出版
[5] 郑莉、傅仕星编,C++语言面向对象程序设计习题与实验指导,清华大
学出版社,2003年9月出版。
31
正在阅读:
《面向对象程序设计》课程设计1050303061—吕思超04-29
常识(3)古今词义的异同06-08
2017年6月福州市初中毕业班适应性试卷及答案(生物)09-14
抽样调查举例08-30
国培学习总结范文15篇03-28
流动资金贷款需求量测算表07-25
庆幸我拥有作文600字07-05
这样讲三极管和模电学习,豁然开朗!10-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 1050303061
- 面向
- 对象
- 课程
- 设计
- 吕思超
- 中考题型专项2018数学中考《阅读理解型问题》课后练习含答案
- 《幼儿园玩教具制作》教案
- 《量的计量》教案 - ME博客—数学教师博客群,教育博客
- 科普知识进社区专题活动试题及答案 (137)
- 西铁路客专工程灞河特大桥跨北环线铁路挂篮施工方案
- 德育论文我美好的大学生活
- 2018年中国溜冰鞋行业市场分析发展前景报告目录
- 北京地铁6号线西延工程四标测量实施方案20131108
- 白银市中考生物二轮复习知识点梳理七上第二单元生物体的结构层次
- 八年级上册全部
- 高血压考试试卷及答案
- Dreamweaver CS3网页制作基础教程第8章习题答案
- VSAN性能剖析及HCIBench测试
- 探讨我国铁路物资精细化管理的相关措施
- 教材答案
- 浙江省金华市六校联谊2013年中考英语模拟试卷
- 扬州市科技创新发展的现状、问题及对策
- 争做文明学生 共建文明校园 - - 国旗下的讲话
- “四好”班子建设工作总结(多篇)
- 8万吨 α-淀粉酶生产车间的设计