欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    高校工资管理系统 C课程设计.docx

    • 资源ID:11225572       资源大小:87.48KB        全文页数:25页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    高校工资管理系统 C课程设计.docx

    1、高校工资管理系统 C 课程设计高校工资管理系统 C 课程设计C+课程设计高校工资管理系统1.系统概述通过设计一个较为简单的高校工资管理系统,进一步熟悉C+中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C+的理解与Visual C+环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。2.总体设计2.1职工类的设计基于C+中类的概念,类的封装,继承和抽象。编写一个Person的基类包含共有的相关信息和操作,然后使职工类都继承于此基类从而实现多态。2.2应用类的设计编写一个Person类的友元类College类来

    2、实现添加,删除,查找等功能。2.3文件的读写设计通过College类中的Save()函数来实现数据的存储,保存在Person.dat中,而通过Load()函数来实现Person.dat数据的读入。3.详细设计及系统实现3.1 Person类class Person /人员类(抽象类)protected: int No; /编号 char Name20; /姓名 char Duty; /人员类别标志(0-教师,1-实验员,2-行政人员,3-教师兼实验员,4-行政兼教师) double Salary; /基本工资 Person *next; /指针域public: Person() /基类构造 n

    3、ext=0; /指针域设置为空 virtual Person() /基类虚析构 virtual void Input()=0; /从键盘输入数据 virtual void Input(ifstream& ifs)=0; /从文件输入数据 virtual void Output()=0; /向屏幕输出数据 virtual void Output(ofstream& ofs)=0; /向文件输出数据 virtual double Incoming()=0; /计算收入 friend class College;3.2 Teacher类class Teacher:virtual public Per

    4、son /教师类protected: int Hours; /教师课时public: /为对象设置数据分为两种途径,通过)构造函数,)一般成员函数 /分开可以使得程序中应用更加灵活 /本程序采用:缺省构造+Input() Teacher() /构造函数,初始化部分数据 Duty=0; Salary=800; void Input() /键盘补充输入其它数据 coutNo; coutName; coutHours; void Input(ifstream& ifs) ifsNoNameDutyHours; void Output() coutNotNamet教师ttHourstIncoming(

    5、)endl; void Output(ofstream& ofs) ofsNo Name Duty Hoursendl; double Incoming() return Salary+(Hours-120)*20; ;3.3 Assistant类class Assistant:virtual public Person /实验员protected: int Allowance; int Hours;public: Assistant() Duty=1; Salary=650; Allowance=150; void Input() coutNo; coutName; coutHours; v

    6、oid Input(ifstream& ifs) ifsNoNameDutyHours; void Output() coutNotNamet实验员ttHourstIncoming()endl; void Output(ofstream& ofs) ofsNo Name Duty Hoursendl; double Incoming() return Salary+Allowance+(Hours-70)*20; ;3.4 Manager类class Manager:virtual public Person /行政人员protected: int Allowance;public: Mana

    7、ger() Duty=2; Salary=750; Allowance=250; void Input() coutNo; coutName; void Input(ifstream& ifs) ifsNoNameDuty; void Output() coutNotNamet行政人员tIncoming()endl; void Output(ofstream& ofs) ofsNo Name Dutyendl; double Incoming() return Salary+Allowance; ;3.5 Teacher_Assistant类class Teacher_Assistant:pu

    8、blic Teacher,public Assistant /教师兼实验员public: Teacher_Assistant() Duty=3; Teacher:Salary=800; void Input() coutNo; coutName;coutTeacher:Hours; coutAssistant:Hours; void Input(ifstream& ifs) ifsNoNameDutyTeacher:HoursAssistant:Hours; void Output() coutNotNamet教师兼实验员 Teacher:Hours Assistant:HourstIncom

    9、ing()endl; void Output(ofstream& ofs) ofsNo Name DutyTeacher:Hours Assistant:Hoursendl; double Incoming() return Salary+(Teacher:Hours-120)*20 +Allowance+(Assistant:Hours-70)*20; ;3.6 Manager_Teacher类class Manager_Teacher:public Manager,public Teacher /行政人员兼教师public: Manager_Teacher() Duty=4; Manage

    10、r:Salary=750; void Input() coutNo; coutName; coutHours; void Input(ifstream& ifs) ifsNoNameDutyHours; void Output() coutNotNamet行政人员兼教师 HourstIncoming()endl; void Output(ofstream& ofs) ofsNo Name Duty Hoursendl; double Incoming() return Salary+Allowance+Hours*20; ;3.7 College类3.7.1 头文件class Collegep

    11、rivate: Person *PL; void Clear(); int College:Find(int ID,Person *p1,Person *p2);public: College(); /构造 College(); /析构 void Add(); /增加职工 void Delete(); /删除职工 void Modify(); /修改职工 void Print(); /输出职工信息 void Save(); /职工信息存盘 void Load(); /职工信息装入 void Finding(); /查找职工;3.7.2 构造函数College:College() /构造函数(创

    12、建个头结点的链表) Person *p=new Teacher; PL=p; coutnext; delete p; p=PL; PL=0;3.7.4 Add函数void College:Add() /增加职工 couttt*高校工资管理系统*nnn; coutnext)p=p-next; char ch=m; /创建新结点,录入数据,连接到链表 Teacher *pt; Assistant *pa; Manager *pm; Teacher_Assistant *pta; Manager_Teacher *pmt; cout职工分类码0-教师,1-实验员,2-行政人员,3-教师兼实验员,4-

    13、行政兼教师:nn; for(;ch!=x;) coutch; switch(ch) case0: pt=new Teacher; pt-Input(); p-next=pt; break; case 1: pa=new Assistant; pa-Input(); p-next=pa; break; case 2: pm=new Manager; pm-Input(); p-next=pm; break; case 3: pta=new Teacher_Assistant; pta-Input(); p-next=pta; break; case 4: pmt=new Manager_Teac

    14、her; pmt-Input(); p-next=pmt; break; p=p-next; 3.7.5 Find函数/查找职工结点(返回-找到,-未找到.结点指针由p1返回,p2为前看指针)int College:Find(int ID,Person *p1,Person *p2) *p1=PL-next; *p2=PL; while(*p1) if(*p1)-No=ID) break; /找到 else *p2=*p1; /继续查找 *p1=(*p1)-next; return *p1?1:0;3.7.6 Clear函数void College:Clear() /清除所有的职工结点(仅保留

    15、头结点) Person *p=PL-next; while(p) PL-next=p-next; delete p; p=PL-next; 3.7.7 Delete函数void College:Delete() /删除职工 couttt*高校工资管理系统*nnn; coutntttt* 删除职工*n; int No; Person *p1,*p2; coutNo; if(!Find(No,&p1,&p2) coutnext=p1-next; /连接 delete p1; cout正确删除!n; 3.7.8 Modify函数void College:Modify() /修改职工 couttt*高

    16、校工资管理系统*nnn; coutntttt* 修改职工*n; int No; Person *p1,*p2; coutNo; if(!Find(No,&p1,&p2) coutOutput(); /输出原来的职工信息(做提示) p1-Input(); /输入新的职工信息(更新) cout修改完成!n; 3.7.9 Print函数void College:Print() /输出职工信息 couttt*高校工资管理系统*nnn; coutn* 职工信息表*nn; coutnext; if(!p) coutOutput(); p=p-next; 3.7.10 Save函数void College:

    17、Save() /职工信息存盘 ofstream f(Person.dat,ios:out); /打开文件 /遍历输出至文件 Person *p=PL-next; while(p) p-Output(f); p=p-next; f.close(); /关闭文件 coutbufbufDuty; if(f) /根据人员类型创建新结点 switch(Duty) case 0: p2=new Teacher; break; case 1: p2=new Assistant; break; case 2: p2=new Manager; break; case 3: p2=new Teacher_Assi

    18、stant; break; case 4: p2=new Manager_Teacher; break; default: f.close(); return; p-next=p2; p=p-next; f.seekg(t); p-Input(f); else break; /关闭文件 f.close(); coutPerson.dat数据已装入.n;3.7.12 Finding函数void College:Finding() couttt*高校工资管理系统*nnn; coutntttt*查找职工*n; Person *p1,*p2; int ID; coutID; coutnext; p2=

    19、PL; while(p1) if(p1)-No=ID) coutOutput(); break; /找到 else p2=p1; /继续查找 p1=(p1)-next; 3.8 界面函数char Meau() char c; int flag; do system(cls); flag=1; couttt*高校工资管理系统*nnn; couttttn; coutttt n; coutttt 1、增加职工 n; coutttt 2、删除职工 n; coutttt 3、查找职工 n; coutttt 4、修改职工 n; coutttt 5、输出职工信息 n; coutttt 6、数据存盘 n; c

    20、outttt 7、数据装入 n; coutttt 8、退出 n; couttttn; coutc; if(c=1|c=2|c=3|c=4|c=5|c=6|c=7|c=8) flag=0; while(flag); return c;/显示主菜单,接受选择3.9 主函数void main() char ch; College c; /定义大学对象 do ch=Meau(); switch(ch) case 1: system(cls);c.Add(); coutnntt按任意键结束.n;getchar();getchar();break; case 2: system(cls);c.Delete

    21、();coutnntt按任意键结束.n;getchar();getchar();break; case 3: system(cls);c.Finding();coutnntt按任意键结束.n;getchar();getchar();break; case 4: system(cls);c.Modify();coutnntt按任意键结束.n;getchar();getchar();break; case 5: system(cls);c.Print(); coutnntt按任意键结束.n;getchar();getchar();break; case 6: system(cls);c.Save(); coutnntt按任意键结束.n;getchar();getchar();break; case 7: system(cls);c.Load(); coutnntt按任意键结束.n;getchar();getchar(); ; while(ch!=8);4.系统评价该系统实现了职工的添加,删除,查找,显示,修改,和数据的存盘与装入操作,总体上来说功能比较全面,但仍有一些不足,如界面问题,以及程序中的许多繁琐之处。5.设计结果与分析5.1 主界面实现各种功能的选择:5.2 添加功能实现添加功能,输入“x“结束:5.3 删除功能


    注意事项

    本文(高校工资管理系统 C课程设计.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开