




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目2:教师课程管理系统 要求:(1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。1、问题描述(功能要求):主要有四类课程:公共基础课、专业基础课、专业课和公选课。现在,需要存储这些课程的编号、名称、级别、学时和基本课酬,以及老师的编号、姓名、所授课班编号、班级数和课酬,并显示全部信息。 其中,1)课程编号在生成课程信息时同时生成,每输入一个课程信息编号顺序加1。2)程序对部分课程有提升级别的功能3)课酬的计算方法是:老师授公共基础课1的班级数为13,课程为基本课酬乘以班级数,当班级数为46,课程为基本课酬的1.1倍乘以班级数,当班级数大于6,课程为基本课酬的1.2倍乘以班级数;老师授专业基础课2和专业课3都按班级数*1.2*基本课酬计算课酬;老师授公选课4,课酬按基本课酬*班级计算。4)能按课程名字或者老师编号显示、查找、增加、删除和保存各种课程和老师信息。 代码献上/*目标:前期完成简单功能中期完成漏洞完善后期引进file输入输出流*学习MFC进行外观设计*/*进度跟进栏:6/9 完成课程类的定义 7/2 MD终于写出来了 */#includeusing namespace std;#include#include#include#includeint const max=100;class cl/教师信息 int jsid,shu,sal,tagjs;string jsname;int static auto_jsid; /课程类信息int clid,type,rank,hour,pay,tagcl;string clname;int static auto_clid;public:/获得教师int getjsid()return jsid ;int getshu()return shu;int gettagjs()return tagjs;string getjsname()return jsname;/获得课程 int getclid()return clid;int gettype()return type;int getrank()return rank;int gethour()return hour;int getpay()return pay ;int gettagcl()return tagcl;string getclname()return clname;/教师赋值void numjs()auto_jsid+;jsid=auto_jsid;void setshu(int a) shu= a;void settagjs(int a) tagjs=a;void setjsname(string a)jsname=a;/课程赋值void numcl()auto_clid+;clid=auto_clid;void settype(int a) type=a;void setrank(int a) rank=a;void sethour(int a) hour=a;void setpay(int a) pay=a;void settagcl(int a)tagcl=a;void setclname(string a)clname=a;/计算教师工资 specialint getsal()int sal;switch(type)case 1:if(shu=1&shu=4&shu6)sal=shu*pay*1.2;break;case 2:case 3:sal=shu*pay*1.2;break;case 4:sal=shu*pay;break;return sal;/显示类void dispcl( )/普通显示课程cout课程编号:clidendl;cout课程名:clnameendl;cout课程类型:;if(type=1)cout公共基础课endl;if(type=2)cout专业基础课endl;if(type=3)cout专业课endl;if(type=4)cout公选课endl;cout课程学时:hourendl;cout课程等级:rankendl;cout课程基本课酬:payendl;cout任意键继续endl;getch();void dispjs()/普通显示教师cout教师编号:jsidendl;cout教师名:jsnameendl;if(tagcl!=1)cout所教课程编号:clidendl;cout所教课程名:clnameendl;cout所教课程班级数:shuendl;cout教师工资:getsal()endl;/类结束int cl:auto_clid=0;int cl:auto_jsid=0;/课程类数据库class clDB/int static topcl;cl* r;cl clasmax;public:/课程类函数*/查找clidcl* querycl(int id)for(int i=0;i=topcl;i+)if(clasi.getclid()=id&clasi.gettagcl()=0)return &clasi;cout=max)cout超出数据库数量!endl;elseint blank;string b;coutendl请输入新增的课程名字:b;clastopcl.setclname(b);coutendl请输入新增的课程类型:endl;coutendl(1-公共基础课)endl;coutendl(2-专业基础课)endl;coutendl(3-专业课)endl;coutendl(4-公选课)blank;while(1)if(int)blank!=1&(int)blank!=2&(int)blank!=3&(int)blank!=4)cout输入错误!endl;coutendl请输入新增的课程类型:endl;coutendl(1-公共基础课)endl;coutendl(2-专业基础课)endl;coutendl(3-专业课)endl;coutendl(4-公选课)blank;else break;clastopcl.settype(blank);coutendl请输入新增的课程学时:blank;while(1)if(!(int)blank=0&(int)blank=180)cout输入错误!endl;coutendl请输入新增的课程学时:blank;else break;clastopcl.sethour(blank);coutendl请输入新增的课程基本课酬:blank;while(1)if(!(blank=0&blank=999)cout输入错误!endl;coutendl请输入新增的课程基本课酬:blank;else break;clastopcl.setpay(blank);coutendl请输入新增的课程等级:endl;coutendl1-低级 2-中级 3-高级blank;while(1)if(blank!=1&blank!=2&blank!=3)cout输入错误!endl;coutendl请输入新增的课程等级:endl;coutendl1-低级 2-中级 3-高级blank;else break;clastopcl.setrank(blank);clastopcl.settagcl(0);clastopcl.numcl();cout新的课程编号为:endl;coutclastopcl.getclid();coutendl任意键返回;getch();/更改void changecl()cout输入要更改的课程编号:id;r=querycl(id);r-dispcl();cout更改课程名:b;r-setclname(b);cout更改课程类型:blank;r-settype(blank);cout更改课程等级:blank;r-setrank(blank);cout更改课程学时:blank;r-sethour(blank);cout更改课程课酬:blank;r-setpay(blank);/删除void delcl()cout输入要删除课程的编号:id;r=querycl(id);cout确定删除课程:id?s;if(s=Y)r-settagcl(1);cout删除成功!任意键返回;getch();else cout取消删除endl;/显示void showcl()coutcid;r=querycl(cid);coutdispcl();/教师类函数*/查找cl* queryjs(int id)for(int i=0;i=topcl;i+)if(clasi.getjsid()=id&clasi.gettagjs()=0)return &clasi;return NULL;/判断bool isjs(int id)if(queryjs(id)!=NULL)return 1;else return 0;/新增void addjs()string b;int blank;coutblank;r=querycl(blank);r-numjs(); /新增了一个教师编号,就当是新建了一个教师,新建之后才能用queryjscoutb;r-setjsname(b);/coutblank2;r-setshu(blank2);r-settagjs(0);cout新的教师编号为:;coutgetjsid();/删除void deljs()cout输入要删除教师的编号:id;r=queryjs(id);cout确定删除教师:id?s;if(s=Y)r-settagjs(1);else cout取消删除;/显示void showjs()coutjsid;r=queryjs(jsid);coutdispjs();break;else coutjsid;coutendl;int clDB:topcl=0;int main()coutendlendl;coutT T辛辛苦苦大程序-泪流满面写出来T Tendl;cout endl;cout endl;cout endl;coutT T 辛辛苦苦大程序-泪流满面写出来T Tendl;cout * endl;cout *感谢使用本教师课程管理系统 *endl;cout *!第一次使用请先建立新课程!*endl;cout *工程管理1202班 *endl;cout *老师:黄晓涛 *endl;cout *组长:杨慧杰 *endl;cout *组员:周启瑞、李益、袁正宇 *endl;cout *endl;coutendlendlendl 请按任意键进入;getch();system(cls);char key;string cid,jsid;clDB class1;int entrance=1;while (entrance)system(cls);coutendlendl;coutYO!HEI!YO!HEI!程序写出来哦也!endlendl;cout请选择操作内容:endlendl;cout A课程管理;endl;cout a.增加课程信息;endl;cout b.修改课程信息;endl;cout c.删除课程信息;endl; cout d.显示课程信息;endl;cout*endl;cout B教师管理;endl;cout 1.增加教师信息;endl;cout 2.删除教师信息;endl;cout 3.显示教师信息;endl;cout*endl;cout 0.退出;endl;coutkey;coutendl;switch(key)case a:class1.addcl();coutendl新建课程成功!;break;case b:class1.changecl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届四川广元天立学校高一化学第一学期期中统考模拟试题含解析
- 现代管理学课件升学教育
- 现代教育原理课件
- 2025年春季初级经济师职业资格考试 经济基础知识考前冲刺押题模拟试题试卷
- 吉林省通榆县第一中2026届化学高一上期末联考试题含解析
- 2025年注册会计师(CPA)考试 会计科目实战演练全真试卷
- 2025年注册会计师(CPA)考试 会计科目全真模拟试卷答案精讲版
- 2025年小学数学毕业升学考试易错题型深度解析模拟试卷
- 测量员的岗位职责
- 现代农业创新课件
- 2025年放射工作人员培训考试试题及答案
- 2025-2030超大型矿用卡车电动化转型技术路线及成本效益分析
- 2025至2030中国太阳能发电中的水泵行业发展趋势分析与未来投资战略咨询研究报告
- 中小学教师中高级职称答辩备考试题及答案(50题)
- 剖析我国公立医院管理体制:问题洞察与改革路径探究
- 2025年药品监管与安全知识考试卷及答案
- 大讲堂+管理办法
- 高中班级常规管理课件
- 销售部区域划分管理办法
- 2025年法院书记员招聘考试笔试试题附答案
- 超声波龈下刮治术专题讲解
评论
0/150
提交评论