《面向对象程序设计》课程设计1050303061—吕思超
更新时间:2024-04-28 19:13: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-28
环境保护监督牌11-16
无领导小组讨论的经典面试题目及答案解析03-21
公路工程建设招标与投标实施方案与操作流程08-08
教师工作总结 初中数学教师教学工作总结(2021年)05-13
若羌县城西新区学校绩效考核实施方案04-03
儒家法思想研究综述06-30
《溱洧》09-04
颁奖仪式流程策划06-28
会计信息系统的风险及其防范12-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 1050303061
- 面向
- 对象
- 课程
- 设计
- 吕思超
- 德育论文我美好的大学生活
- 1-健康管理师资格考试复习题及答案
- VSAN性能剖析及HCIBench测试
- 2018年中国溜冰鞋行业市场分析发展前景报告目录
- 高血压考试试卷及答案
- 计算机网络系统集成2011-6-22 - 图文
- 包虫病传播规律及预防措施研究
- 北京地铁6号线西延工程四标测量实施方案20131108
- 普宁故城洪阳 - 图文
- 八年级上册全部
- Dreamweaver CS3网页制作基础教程第8章习题答案
- 山林放养鸡养殖
- 探讨我国铁路物资精细化管理的相关措施
- 西方经济学考研真题详解(微观-第六章-完全竞争市场)
- 看日主旺弱
- 2018年秋人教版小学数学一年级上学期全册教案
- 河道整治施工组织设计
- 浅谈中学生文明行为习惯的养成教育
- 中国光传输接入行业概述
- 决战12月练习题123