c++编写的教师信息管理系统课程设计报告
课程设计
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目:教师信息管理系统
学 号:
姓 名:
专 业
班 级:
指导教师:
年 12 月 2 日
C++课程设计报告
目录
一、 实验题目………………………………………………………….3 二、 实验时间、地点………………………………………………….3 三、 实验目的………………………………………………………….4 四、 实验要求………………………………………………………….4 五、 按照系统要求可以分为以下几步操作………………………….5 六、 实验
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
………………………………………………………….6 七、 调试
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
…………………………………………………………10 八、 错误分析…………………………………………………………11 九、 实验总结…………………………………………………………11 十、 程序的源代码……………………………………………………12 十一、 参考文件……………………………………………………...24
2
C++课程设计报告 一、 实验题目
教师信息管理系统
二、 实验时间、地点
辅导时间安排表(第14周)
星期 一 二 三 四 五 节次
1—2 504 504
3—4 504 504
5—6 504 504
7—8 504 504
9-10
说明:
,1,指导教师资格审核~要求讲师以上或者具有硕士学位的讲师~一般讲师不能单独指导, ,2,一个指导教师原则上指导学生人数在20人之内~经过教务处批准后最多指导一个自然班,
,3,每个学生必须独立完成课程设计~选择同一课程设计题目的学生人数不超过5名。 4,辅导超过1周且时间和地点变化的可用2个以上的辅导时间安排表。 ,
,5,本表以教学班为单位~双面打印一式三份~教学科研部、系、辅导老师各一份~并在课程设计前二周交各系。
三、 实验目的
本课程设计是在学习面向对象基本理论之后的实践教学环节。该实践教学是软件设计的综合训练~包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力~培养科学的软件工作
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。学生通过课程设计在下述各方面得到锻炼:
1(能根据实际问题的具体情况~结合面向对象的基本理论和基本技巧~正确分析问题~
3
C++课程设计报告 并能设计出解决问题的有效算法与程序。
2(提高程序设计和调试能力。学生通过上机实习~验证自己设计的算法和程序的正确性。学会有效利用基本调试方法~迅速找出程序代码中的错误并且修改~进一步提高程序设计水平。
四、 实验要求
上交的设计成果由以下两部分组成~缺一不可
1(课程设计成果~要求:
, 模块化程序设计
, 锯齿型
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写格式
, 必须应用C++语言编程~上机调试通过
2(课程设计报告~格式要求:
, 题目内容的描述
, 应用程序功能的详细说明
, 输入数据类型、格式和内容限制,
, 主要模块的算法描述,以程序流程图的方式给出、简要的语言描述,
, 结束语
, 程序的源代码清单
上交材料说明:设计报告要纸质稿~另外要上交电子稿~内含设计报告电子稿和源程序~放在一个文件夹中~文件夹取名规定为学号姓名。
3(选题方法:
共10题~每个学生一题~单独完成。,选题题号:按安排表, 教师信息管理系统
要求:
, 定义一个 TeacherList 类
, 可以实现简单的增加教师
, 可以实现简单的查找教师
, 可以实现简单的删除教师
, 要求用二进制文件的读写操作
五、 按照系统要求可以分为以下几步操作:
1,应用系统分析~建立系统的模块框图及界面的组织设计
2,分析系统中的各个实体及他们的关系
4
C++课程设计报告 3,根据问题描述~设计系统的类
4,完成各层次中各个类的描述及成员函数的定义
5,完成系统的应用模块
6,功能调试~错误分析~完成系统总结报告
六、 实验内容
概念设计
查看老师信息
进入系统
添加老师信息
教师信息管理
系统 删除老师信
息
退出系统
详细设计
, 1.头文件:
作为第一个文件。
#include
#include
#include
#include
////////////定义一个教师类
class CTeacher
{//创建构造函数,析构函数,函数的重载,定义友元函数为私有函数等
public:CTeacher();virtual ~CTeacher();CTeacher& operator = (const CTeacher& tch);
bool operator == (const CTeacher&tch);void initTeacher(const std::string& strName, int nAge, int
nPhone,int nID);void dispTable();void initTeacher();
private:
friend class CTeacherList;friend std::ostream& operator << (std::ostream& out, const CTeacher&
tch);
std::string m_sName;int m_nAge;int m_nPhone;int
m_nID;
};
/*定义一个教师链表类 5 作用是:创建教师链表,存放在内存中
*/class CTeacherList{public:CTeacherList(){};virtual ~CTeacherList();bool InsertTch(const
CTeacher& tch);bool DeleteTch(const CTeacher& tch);bool DeleteTch(int
nID);std::list::iterator SearchTch(const CTeacher& tch);std::list::iterator
C++课程设计报告
在头文件中定义了CTeacher 类class CTeacher
定义一个教师链表类
作用是:创建教师链表,存放在内存中 这是程序的关键所在
, 2(函数的实现作为第二个文件
#include "Teacher.h"//这里把第一个文件要写到这里当头文件。
#include
#include
#include
using namespace std;
////////////教师类的函数实现
CTeacher::CTeacher()
{m_sName = " ";m_nAge = 0;m_nPhone = 0;m_nID = 0;} CTeacher::~CTeacher(){//不做任何操作}
//初始化教师
void CTeacher::initTeacher(const string& strName, int nAge, int nPhone, int nID)
{
m_sName = strName;
m_nAge = nAge;
m_nPhone = nPhone;
m_nID = nID;
}
CTeacher& CTeacher::operator = (const CTeacher& tch) {
m_sName = tch.m_sName;
m_nAge = tch.m_nAge; m_nPhone = tch.m_nPhone;
m_nID = tch.m_nID;
return *this;
}
bool CTeacher::operator == (const CTeacher& tch)
{return (m_sName == tch.m_sName && m_nAge == tch.m_nAge
&& m_nPhone == tch.m_nPhone && m_nID == tch.m_nID);}
ostream& operator << (ostream& out, const CTeacher& tch)//c操作运算符重载等
{ out << "?????????????????????????" << endl;
out << "?编号 ?姓名 ? 年龄 ? 联系电话 ?" << endl;
out <<"????????????????????????? " << endl;
out << "?" << setw(10) << tch.m_nID 6 << "?" << setw(10) << tch.m_sName
<< "?" << setw(10) << tch.m_nAge
<< "?" << setw(10) << tch.m_nPhone
<< "?" << endl;
C++课程设计报告
3.把主函数作为第三个文件
, 3.主函数的实现,把它作为第三个文件:
#include "Teacher.h"
#include
#include
#include
#include
using namespace std;
//////////////////函数功能的声明
void display(CTeacherList& tl);
void insertData(CTeacherList& tl);
void searchData(CTeacherList& tl, int nId);
void deleteData(CTeacherList& tl, int nId);
bool readData(CTeacherList& tl, string sFileName);
void mainMenu();///////////主函数
int main()
{mainMenu();
return 0;
}
////////////////函数功能的实现
//打印链表内的信息
void display(CTeacherList& tl)
{
cout<<"?????????????????????????"<> nID;
system("cls");
searchData(cl,nID);
system("pause");
system("cls");
break;
case 3:
cout << "Enter The ID Of The Teacher You Want To Delete:";
cin >> nID;
deleteData(cl,nID);
system("pause");
system("cls");
cl.WriteToFile(sFileName);
break;
case 4:
insertData(cl);
system("pause");
system("cls");
cl.WriteToFile(sFileName);
break;
default:
cout << "Choose Error! Choose Again!"<
11
C++课程设计报告 #include
#include
#include
////////////定义一个教师类
class CTeacher
{
public:
CTeacher();
virtual ~CTeacher();
CTeacher& operator = (const CTeacher& tch);
bool operator == (const CTeacher&tch);
void initTeacher(const std::string& strName, int nAge, int nPhone,int nID);
void dispTable();
void initTeacher();
private:
friend class CTeacherList;
friend std::ostream& operator << (std::ostream& out, const CTeacher& tch);
std::string m_sName;
int m_nAge;
int m_nPhone;
int m_nID;
};
/*定义一个教师链表类
作用是:创建教师链表,存放在内存中
*/
class CTeacherList
{
public:
CTeacherList(){};
virtual ~CTeacherList();
bool InsertTch(const CTeacher& tch);
bool DeleteTch(const CTeacher& tch);
12
C++课程设计报告
bool DeleteTch(int nID);
std::list::iterator SearchTch(const CTeacher& tch);
std::list::iterator SearchTch(int nID);
std::list& getList(){return m_lTch;};
bool WriteToFile(std::string sFileName);
void DisplayAll();
private:
std::list m_lTch;
};
#endif
#include "Teacher.h"
#include
#include
#include
using namespace std;
////////////教师类的函数实现
CTeacher::CTeacher()
{
m_sName = " ";
m_nAge = 0;
m_nPhone = 0;
m_nID = 0;
}
CTeacher::~CTeacher()
{
//不做任何操作
}
//初始化教师
void CTeacher::initTeacher(const string& strName, int nAge, int nPhone, int nID)
{
13
C++课程设计报告
m_sName = strName;
m_nAge = nAge;
m_nPhone = nPhone;
m_nID = nID;
}
CTeacher& CTeacher::operator = (const CTeacher& tch) {
m_sName = tch.m_sName;
m_nAge = tch.m_nAge;
m_nPhone = tch.m_nPhone;
m_nID = tch.m_nID;
return *this;
}
bool CTeacher::operator == (const CTeacher& tch) {
return (m_sName == tch.m_sName && m_nAge == tch.m_nAge
&& m_nPhone == tch.m_nPhone && m_nID == tch.m_nID);
}
ostream& operator << (ostream& out, const CTeacher& tch)
{
out << "?????????????????????????" << endl;
out << "?编号 ?姓名 ? 年龄 ? 联系电话 ?" << endl;
out <<"????????????????????????? " << endl;
out << "?" << setw(10) << tch.m_nID
<< "?" << setw(10) << tch.m_sName
<< "?" << setw(10) << tch.m_nAge
<< "?" << setw(10) << tch.m_nPhone
<< "?" << endl;
out << "?????????????????????????" <> m_sName;
cout << "Age: ";
cin >> m_nAge;
cout << "Phone: ";
cin >> m_nPhone;
cout << "ID: ";
cin >> m_nID;
}
//////////////////////教师链表类的函数实现
bool CTeacherList::InsertTch(const CTeacher& tch)
{
list::iterator it = m_lTch.end();
//链表里以存在改教师
if (it != SearchTch(tch))
{
15
C++课程设计报告
return false;
}
m_lTch.push_back(tch); //添加教师
return true;
}
// 按教师信息删除教师
bool CTeacherList::DeleteTch(const CTeacher& tch)
{
list::iterator it = m_lTch.end();
if (it != SearchTch(tch))
{
m_lTch.erase(it);
return true;
}
//当前链表中没有改教师
return false;
}
//按教师ID删除教师
bool CTeacherList::DeleteTch(int nID) {
list::iterator it = SearchTch(nID);
if (m_lTch.end() != SearchTch(nID))
{
m_lTch.erase(it);
return true;
}
return false;
}
//查询当前链表中是否存在该教师
16
C++课程设计报告 std::list::iterator CTeacherList::SearchTch(const CTeacher& tch)
{
list::iterator it;
for (it = m_lTch.begin(); it != m_lTch.end(); ++it)
{
if (*it == tch)
{
return it;
}
}
return it;
}
//查询当前链表中是否存在该教师,按教师ID查询
std::list::iterator CTeacherList::SearchTch(int nID)
{
list::iterator it;
for (it = m_lTch.begin(); it != m_lTch.end(); ++it)
{
if (it->m_nID == nID)
{
return it;
}
}
return it;
}
//将链表写入文件
bool CTeacherList::WriteToFile(string sFileName) {
ofstream fout(sFileName.c_str(),ios::binary | ios::trunc);
if(!fout)
17
C++课程设计报告
{
cerr << "Open File " << sFileName << " Error!" << endl;
return false;
}
list::iterator it;
CTeacher tch;
for (it = m_lTch.begin(); it != m_lTch.end(); ++it)
{
tch = *it;
fout.write((char*)&tch, sizeof(tch));
}
fout.close();
return true;
}
//打印链表内所有教师信息
void CTeacherList::DisplayAll()
{
list::iterator it;
for (it = m_lTch.begin(); it != m_lTch.end(); ++it)
{
it->dispTable();
}
cout << endl;
}
CTeacherList::~CTeacherList()
{
18
C++课程设计报告
m_lTch.clear();
}
#include "Teacher.h"
#include
#include
#include
#include
using namespace std;
//////////////////函数功能的声明
void display(CTeacherList& tl);
void insertData(CTeacherList& tl); void searchData(CTeacherList& tl, int nId); void deleteData(CTeacherList& tl, int nId); bool readData(CTeacherList& tl, string sFileName);
void mainMenu();
///////////主函数
int main()
{
mainMenu();
return 0;
}
////////////////函数功能的实现
//打印链表内的信息
void display(CTeacherList& tl)
{
cout<<"?????????????????????????"<::iterator it =tl.getList().end();
if (it != tl.SearchTch(nId))
{
cout << *(tl.SearchTch(nId));
}
else
{
cout << "No Found!" << endl;
}
}
void deleteData(CTeacherList& tl, int nId) {
if (tl.DeleteTch(nId))
{
cout << "del succed!" <> sFileName;
system("cls");
readData(cl,sFileName);
for( ; ; )
21
C++课程设计报告
{
cout<<" **********************************\n"
" 1: 进行查看教师的总资料 ***\n"
" 2: 查看个人的资料 ***\n"
" 3: 对资料的进行删除 ***\n"
" 4: 对资料进行添加 ***\n"
" 0: 退出管理系统 ***\n"
" **********************************\n";
cout << "Enter Your Choice: ";
cin>>nAns;
switch(nAns)
{
case 0:
exit(1);
case 1:
system("cls");
display(cl);
system("pause");
system("cls");
break;
case 2:
cout << "Enter The ID Of The Teacher You Want To Search: ";
int nID;
cin >> nID;
system("cls");
searchData(cl,nID);
system("pause");
system("cls");
break;
case 3:
cout << "Enter The ID Of The Teacher You Want To Delete:";
cin >> nID;
deleteData(cl,nID);
system("pause");
22
C++课程设计报告
system("cls");
cl.WriteToFile(sFileName);
break;
case 4:
insertData(cl);
system("pause");
system("cls");
cl.WriteToFile(sFileName);
break;
default:
cout << "Choose Error! Choose Again!"<
本文档为【c++编写的教师信息管理系统课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。