面向对象程序设计课程设计-高校工资管理系统(编辑修改稿)内容摘要:

除 c=4 行政人员兼职教师删除 c=5 c=6 退出删除 10 4. 系统调试 ,如下图所示: 图 主菜单 11 ,出现下图: 图 图 教师录入 图 实验员录入 12 图 行政人员录入 图 教师兼职实验员录入 图 行政人员兼职教师录入 13 ,出现下图: 图 信息查 询模块 图 按编号查询教师 图 按姓名查询教师 图 按编号查询实验员 图 按姓名查询实验员 14 图 按编号查询行政人员 图 按姓名查询行政人员 图 按编号查询教师兼职实验员 图 按姓名查询教师兼职实验员 图 按编号查询行政人员兼职教师 图 按姓名查询行政人员兼职教师 15 ,出现下图: 图 信息删除模块 图 教师删除 图 实验员删除 图 行政人员删除 图 教师兼职实验员删除 图 行政人员兼职教师删除 16 5. 结果分析 : 在输入信息的时候先选择你要输入的职工类型,然后有提示输入职工的个数, 逐个输入即可,在输入过程中,系统会自动将用户输入的信息存储到相应的文件中。 本系统符合设计基本要求,能够实现职工信息的录入、查询、删除等功能,可以从文本文件中查看录入的职工信息,比较方便。 : ,如果超过最大数,需要修改程序里数据,给用户带来麻烦,增加了 维护系统成本。 有必要把职工信息存储改为动态申请内存,就不会出现问题。 ,在查询职工信息时,会输出职工信息相同数据。 ,只能查询职工信息和删除职工信息。 17 6. 总结 (1)通过这次对《高校工资管理系统》的设计,我体会到面向对象程序设计的特点:多态性、封装性、继承性,并掌握了一定的编程技巧,拓展了思维,提升了自己解决实际问题的能力。 虽然对文件和多态的理解还很肤浅,但是我学到了很多平时学不到的东西。 通过这次课程设计,深深体会到我对很多的专业知识还不了解,还有许多知识需要掌握,在以后的学习中,我需要打好基础,认真对待不同的问题,学会从不同的角度看待问题,争取做得更好。 同时也把我在学这门课程的所存在的弊端暴露出来了,这就促使我要更多的阅读课外书籍,学到更多的专业知识,不断锻炼自己,使自己得到不断的提高。 (2)我要衷心感谢老师和同学们在我的设计过程中给予我的极大帮助,他们给我指出程序中的错误,帮我修改不足,给我讲多文件的创建和使用,不断完善我的设计,使我能够及时、顺利地完成此次的课程设计。 衷心感谢他们的 援助,谢谢你们。 18 7. 附录 (雇员) class Employee { public: char name[20]。 int num。 void display() { cout姓名 :。 cinname。 cout编号 :。 cinnum。 } }。 (教师) extern i。 class Teacher:public Employee { public: int score。 int time。 Teacher(int s=800) {score=s。 } static void jiaoshiluru()。 static void jiaoshichaxun()。 static void jiaoshishanchu()。 void display1() { cout请输入教师的 :。 Employee::display()。 cout请输入教师的工作量 (课时 ):。 cintime。 } }。 Teacher t[100]。 void Teacher::jiaoshiluru() //教师录入 { ofstream outfile(教师 .txt,ios::app)。 if(()) 19 { coutopen error!endl。 exit(1)。 } int b。 cout请选择你要录入教师的个数 :。 cinb。 for(i=0。 ib。 i++) { t[i].display1()。 outfilet[i].num t[i].name t[i].score t[i].time endl。 } ()。 } void Teacher::jiaoshichaxun() //教师查询 { ifstream infile(教师 .txt,ios::in)。 int k,n,r,bh。 char nam[20]。 cout 编号查询 endl。 cout endl。 cout请输入您的选择 :。 cinr。 if(r==1) { cout请输入你要查询教师的编号 :。 cinbh。 for(i=0,n=0。 i100。 i++) { infilet[i].numt[i].namet[i].scoret[i].time。 if(t[i].num==0) break。 if(t[i].num==bh) { n++。 k=t[i].score+(t[i].time120)*20。 cout教师: t[i].num t[i].name kendl。 } } if(n==0) cout没有你要查询的教师。 endl。 ()。 } if(r==2) 20 { cout请输入你要查询教师的名字 :。 cinnam。 for(i=0,n=0。 i100。 i++) { infilet[i].numt[i].namet[i].scoret[i].time。 if(t[i].num==0) break。 if(strcmp(t[i].name,nam)==0) { n++。 k=t[i].score+(t[i].time120)*20。 cout教师: t[i].num t[i].name kendl。 } } if(n==0) cout没有你要查询的教师。 endl。 ()。 } } void Teacher::jiaoshishanchu() //教师删除 { ifstream infile(教师 .txt,ios::in)。 char nam[20]。 cout请输入你要删除教师的名字 :。 cinnam。 for(i=0。 i100。 i++) { infilet[i].numt[i].namet[i].scoret[i].time。 if(t[i].num==0) break。 if(strcmp(t[i].name,nam)==0) { for(int j=i。 j100。 j++) t[j].num=t[j+1].num。 strcpy(t[j].name,t[j+1].name)。 t[j].score=t[j+1].score。 t[j].time=t[j+1].time。 } } ()。 ofstream outfile(教师 .txt,ios::out)。 for(i=0。 i100。 i++) { if(t[i].num!=0) outfilet[i].num t[i].name t[i].score t[i].timeendl。 } 21 ()。 } (实验员) extern i。 class Shiyanyuan:public Employee { public: int score。 int buzhu。 Shiyanyuan(int s=650,int b=150) {score=s。 buzhu=b。 } static void shiyanyuanluru()。 static void shiyanyuanchaxun()。 static void shiyanyuanshanchu()。 void display1() { cout请输入实验员的 :。 Employee::display()。 } }。 Shiyanyuan s[100]。 void Shiyanyuan::shiyanyuanluru() //实验员录入 { ofstream outfile(实验员 .txt,ios::app)。 if(()) { coutopen error!endl。 exit(1)。 } int b。 cout请输入你要录入实验员的个数 :。 cinb。 for(i=0。 ib。 i++) { s[i].display1()。 outfiles[i].num s[i].name s[i].score s[i].buzhuendl。 } ()。 } 22 void Shiyanyuan::shiyanyuanchaxun() //实验员查询 { ifstream infile(实验员 .tx。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。