C++大作业项目原创最新教师课程管理系统.docx

上传人:b****5 文档编号:8519773 上传时间:2023-01-31 格式:DOCX 页数:14 大小:18.55KB
下载 相关 举报
C++大作业项目原创最新教师课程管理系统.docx_第1页
第1页 / 共14页
C++大作业项目原创最新教师课程管理系统.docx_第2页
第2页 / 共14页
C++大作业项目原创最新教师课程管理系统.docx_第3页
第3页 / 共14页
C++大作业项目原创最新教师课程管理系统.docx_第4页
第4页 / 共14页
C++大作业项目原创最新教师课程管理系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C++大作业项目原创最新教师课程管理系统.docx

《C++大作业项目原创最新教师课程管理系统.docx》由会员分享,可在线阅读,更多相关《C++大作业项目原创最新教师课程管理系统.docx(14页珍藏版)》请在冰豆网上搜索。

C++大作业项目原创最新教师课程管理系统.docx

C++大作业项目原创最新教师课程管理系统

项目2:

教师课程管理系统

要求:

(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;

(2)要求在设计的过程中,建立清晰的类层次;

(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;

3、创新要求:

在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。

1、问题描述(功能要求):

主要有四类课程:

公共基础课、

专业基础课、

专业课和

公选课。

现在,需要存储这些课程的编号、名称、级别、学时和基本课酬,

以及老师的编号、姓名、所授课班编号、班级数和课酬,并显示全部信息。

其中,

1)课程编号在生成课程信息时同时生成,每输入一个课程信息编号顺序加1。

2)程序对部分课程有提升级别的功能

3)课酬的计算方法是:

老师授公共基础课1的班级数为1~3,课程为基本课酬乘以班级数,当班级数为4~6,课程为基本课酬的1.1倍乘以班级数,当班级数大于6,课程为基本课酬的1.2倍乘以班级数;

老师授专业基础课2和专业课3都按班级数*1.2*基本课酬计算课酬;

老师授公选课4,课酬按基本课酬*班级计算。

4)能按课程名字或者老师编号显示、查找、增加、删除和保存各种课程和老师信息。

代码献上

/*目标:

前期完成简单功能

中期完成漏洞完善

后期引进file输入输出流

*学习MFC进行外观设计*/

/*进度跟进栏:

6/9完成课程类的定义7/2MD终于写出来了*/

#include

usingnamespacestd;

#include

#include

#include

#include

intconstmax=100;

classcl{

//教师信息

intjsid,shu,sal,tagjs;

stringjsname;

intstaticauto_jsid;

//课程类信息

intclid,type,rank,hour,pay,tagcl;

stringclname;

intstaticauto_clid;

public:

//获得教师

intgetjsid(){returnjsid;}

intgetshu(){returnshu;}

intgettagjs(){returntagjs;}

stringgetjsname(){returnjsname;}

//获得课程

intgetclid(){returnclid;}

intgettype(){returntype;}

intgetrank(){returnrank;}

intgethour(){returnhour;}

intgetpay(){returnpay;}

intgettagcl(){returntagcl;}

stringgetclname(){returnclname;}

//教师赋值

voidnumjs(){auto_jsid++;jsid=auto_jsid;}

voidsetshu(inta){shu=a;}

voidsettagjs(inta){tagjs=a;}

voidsetjsname(stringa){jsname=a;}

//课程赋值

voidnumcl(){auto_clid++;clid=auto_clid;}

voidsettype(inta){type=a;}

voidsetrank(inta){rank=a;}

voidsethour(inta){hour=a;}

voidsetpay(inta){pay=a;}

voidsettagcl(inta){tagcl=a;}

voidsetclname(stringa){clname=a;}

//计算教师工资special

intgetsal(){

intsal;

switch(type){

case1:

if(shu>=1&&shu<=3)sal=shu*pay;

if(shu>=4&&shu<=6)sal=shu*pay*1.1;

if(shu>6)sal=shu*pay*1.2;

break;

case2:

case3:

sal=shu*pay*1.2;

break;

case4:

sal=shu*pay;

break;

}

returnsal;

}

//显示类

voiddispcl(){//普通显示课程

cout<<"课程编号:

"<

cout<<"课程名:

"<

cout<<"课程类型:

";

if(type==1)cout<<"公共基础课"<

if(type==2)cout<<"专业基础课"<

if(type==3)cout<<"专业课"<

if(type==4)cout<<"公选课"<

cout<<"课程学时:

"<

cout<<"课程等级:

"<

cout<<"课程基本课酬:

"<

cout<<"任意键继续"<

voiddispjs(){//普通显示教师

cout<<"教师编号:

"<

cout<<"教师名:

"<

if(tagcl!

=1){

cout<<"所教课程编号:

"<

cout<<"所教课程名:

"<

cout<<"所教课程班级数:

"<

cout<<"教师工资:

"<

};//类结束

intcl:

:

auto_clid=0;

intcl:

:

auto_jsid=0;

//课程类数据库

classclDB{///////////////////////////////////////////////////////////////////////

intstatictopcl;

cl*r;

clclas[max];

public:

//课程类函数***********************************************************

//查找clid

cl*querycl(intid){

for(inti=0;i<=topcl;i++){

if(clas[i].getclid()==id&&clas[i].gettagcl()==0){

return&clas[i];}}

cout<<"未找到指定的内容!

(任意键返回)";getch();returnNULL;}

//判断

booliscl(intid){

if(querycl(id)!

=NULL){return1;}

elsereturn0;}

//新增

voidaddcl(){

topcl++;

if(topcl>=max){cout<<"超出数据库数量!

"<

else{

intblank;

stringb;

cout<

"<

cin>>b;

clas[topcl].setclname(b);

cout<

"<

cout<

cout<

cout<

cout<

cin>>blank;

while

(1){

if((int)blank!

=1&&(int)blank!

=2&&(int)blank!

=3&&(int)blank!

=4){

cout<<"输入错误!

"<

cout<

"<

cout<

cout<

cout<

cout<

cin>>blank;}

elsebreak;}

clas[topcl].settype(blank);

cout<

"<

cin>>blank;

while

(1){

if(!

((int)blank>=0&&(int)blank<=180)){

cout<<"输入错误!

"<

cout<

"<

cin>>blank;}

elsebreak;}

clas[topcl].sethour(blank);

cout<

"<

cin>>blank;

while

(1){

if(!

(blank>=0&&blank<=999)){

cout<<"输入错误!

"<

cout<

"<

cin>>blank;}

elsebreak;}

clas[topcl].setpay(blank);

cout<

"<

cout<

cin>>blank;

while

(1){

if(blank!

=1&&blank!

=2&&blank!

=3){

cout<<"输入错误!

"<

cout<

"<

cout<

cin>>blank;}

elsebreak;}

clas[topcl].setrank(blank);

clas[topcl].settagcl(0);

clas[topcl].numcl();

cout<<"新的课程编号为:

"<

cout<

cout<

getch();}

}

//更改

voidchangecl(){

cout<<"输入要更改的课程编号:

"<

intid,blank;

stringb;

cin>>id;

r=querycl(id);

r->dispcl();

cout<<"更改课程名:

"<

cin>>b;

r->setclname(b);

cout<<"更改课程类型:

"<

cin>>blank;

r->settype(blank);

cout<<"更改课程等级:

"<

cin>>blank;

r->setrank(blank);

cout<<"更改课程学时:

"<

cin>>blank;

r->sethour(blank);

cout<<"更改课程课酬:

"<

cin>>blank;

r->setpay(blank);}

//删除

voiddelcl(){

cout<<"输入要删除课程的编号:

"<

intid;

cin>>id;

r=querycl(id);

cout<<"确定删除课程:

"<

'<<"(Y/N)";

chars;

cin>>s;

if(s=='Y'){r->settagcl

(1);cout<<"删除成功!

任意键返回";getch();}

elsecout<<"取消删除"<

//显示

voidshowcl()

{cout<<"输入要显示的课程编号:

";

intcid;

cin>>cid;

r=querycl(cid);

cout<

r->dispcl();

}

//教师类函数*******************************************************************************

//查找

cl*queryjs(intid){

for(inti=0;i<=topcl;i++){

if(clas[i].getjsid()==id&&clas[i].gettagjs()==0){

return&clas[i];}}

returnNULL;}

//判断

boolisjs(intid){

if(queryjs(id)!

=NULL){return1;}

elsereturn0;}

//新增

voidaddjs(){

stringb;intblank;

cout<<"输入要添加教师的课程编号:

";

cin>>blank;

r=querycl(blank);

r->numjs();//新增了一个教师编号,就当是新建了一个教师,新建之后才能用queryjs

cout<<"输入该教师的名字:

";

cin>>b;

r->setjsname(b);//

cout<<"输入该教师的班级数:

";

intblank2;

cin>>blank2;

r->setshu(blank2);

r->settagjs(0);

cout<<"新的教师编号为:

";

cout<getjsid();}

//删除

voiddeljs(){

cout<<"输入要删除教师的编号:

"<

intid;

cin>>id;

r=queryjs(id);

cout<<"确定删除教师:

"<

'<<"Y/N";

chars;

cin>>s;

if(s=='Y'){r->settagjs

(1);}

elsecout<<"取消删除";}

//显示

voidshowjs()

{cout<<"输入要显示的教师编号:

";

intjsid;

cin>>jsid;

r=queryjs(jsid);

cout<

while

(1){

if(isjs(jsid)){

r->dispjs();

break;}

elsecout<<"没有这个课程,重新输入:

";

cin>>jsid;cout<

};

intclDB:

:

topcl=0;

intmain(){

cout<

cout<<"TT辛辛苦苦大程序--------------------------泪流满面写出来TT"<

cout<<""<

cout<<"

TT>"<

cout<<""<

cout<<"TT辛辛苦苦大程序--------------------------泪流满面写出来TT"<

cout<<"*****************************"<

cout<<"*感谢使用本教师课程管理系统*"<

cout<<"*!

第一次使用请先建立新课程!

*"<

cout<<"*工程管理1202班*"<

cout<<"*老师:

黄晓涛*"<

cout<<"*组长:

杨慧杰*"<

cout<<"*组员:

周启瑞、李益、袁正宇*"<

cout<<"*****************************"<

cout<

getch();

system("cls");

charkey;

stringcid,jsid;

clDBclass1;

intentrance=1;

while(entrance)

{system("cls");

cout<

cout<<"YO!

HEI!

YO!

HEI!

程序写出来~哦也!

"<

cout<<"请选择操作内容:

"<

cout<<"A课程管理;"<

cout<<"a.增加课程信息;"<

cout<<"b.修改课程信息;"<

cout<<"c.删除课程信息;"<

cout<<"d.显示课程信息;"<

cout<<"***********************************"<

cout<<"B教师管理;"<

cout<<"1.增加教师信息;"<

cout<<"2.删除教师信息;"<

cout<<"3.显示教师信息;"<

cout<<"***********************************"<

cout<<"0.退出;"<

cout<<"请选择按键:

";

cin>>key;

cout<

switch(key)

{

case'a':

class1.addcl();

cout<

";

break;

case'b':

class1.changecl();

break;

case'c':

class1.delcl();

break;

case'd':

class1.showcl();

break;

case'1':

//新建教师

class1.addjs();//这个函数要好好写,自动编号教师名字

cout<

"<

break;

case'2':

class1.deljs();

break;

case'3':

class1.showjs();

break;

case'0':

entrance=0;

cout<<"再见啦~·~~~~";

break;

default:

cout<<"输入错误!

";

break;

}

}

return0;}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1