i目录目录..............................................................................................................................................i1概述.....................................................................................................................................11.1程序的基本功能.............................................................................................................11.2其它功能.........................................................................................................................11.3扩展功能.........................................................................................................................12课题的分析.........................................................................................................................22.1会员登入系统模块即SYSTEMHEAD静态全局函数模块..............................................22.2查询功能模块即SEARCH函数模块...............................................................................22.3职务信息匹配及处理模块即SYSTEMBODY静态全局函数模块模块4.......................22.4循环控制模块即WHILE(1)模块................................................................................23详细设计.............................................................................................................................33.1类声明.............................................................................................................................33.2系统简略流程图.............................................................................................................43.3会员登入系统模块即SYSTEMHEAD静态全局函数模块..............................................53.4查询功能模块即SEARCH函数模块...............................................................................63.5职务信息匹配及处理模块即SYSTEMBODY静态全局函数模块..................................73.6循环控制模块即WHILE(1)模块................................................................................74课程设计总结.....................................................................................................................84.1完成情况.........................................................................................................................84.2遇到的问题及解决.........................................................................................................8参考文献...................................................................................................................................10附录...........................................................................................................................................11程序设计语言课程设计报告1上海应用技术学院计算机科学与信息工程学院1概述本课程设计是《面向对象程序设计》课程的后继教学环节,学好C++语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C++实际应用程序。此次课程设计的题目及要求:实现一个简单的工资管理系统。1.1程序的基本功能系统的主要功能是计算职工当月工资并存档。公司内有5种不同类型的职工:技术人员、销售人员、文秘、技术经理和销售经理,他们的工资计算方式各不相同。1.2其它功能将工资信息存入salary.txt文件中,工资信息包含雇员编号、姓名、职务、月份、月收入。Info.txt文件中只存留一些信息及会员最后进入系统时输入的数据,最多含有编号、姓名、职务、月份的信息。1.3扩展功能采用了会员制度,并将登入信息及编号、密码存入number.txt文件中。程序设计语言课程设计报告2上海应用技术学院计算机科学与信息工程学院2课题的分析通过对课题的深入分析,我将这个课题分为以下几个模块,深入详细得剖析它们。2.1会员登入系统模块即systemhead静态全局函数模块程序运行后,先进行会员选择判断。为减少会员重新注册,通过输入两次编号及密码,增加繁琐度。同时在一定的方面上,又方便忘记密码的会员。通过密码匹配,雇员的工资信息这一隐私得到了很好的保障。2.2查询功能模块即search函数模块首先,从info.txt中提取编号,与salary.txt中的编号进行匹配,匹配成功,输出工资信息,直到文件!indata.eof()==0。.2.3职务信息匹配及处理模块即systembody静态全局函数模块模块4从info.txt中提取职务信息,用switch语句进行匹配,据匹配情况调用不同的函数进行输入、处理、显示并以增加方式记录到salary.txt中。2.4循环控制模块即while(1)模块为了更加方便使用,尽量改善系统,实现search函数及systembody函数功能,在search函数及systembody函数模块的基础上加了一些必要的语句,并增加了外层循环控制。程序设计语言课程设计报告3上海应用技术学院计算机科学与信息工程学院3详细设计作为一个面向对象程序设计,我们不得不先从类的声明开始设计,而后是一个整体的流程图做框架。最后在从小的模块结构着手。3.1类声明classSalesManager:publicSalesman,publicManager{public:SaleaManager(floatx=0.02);voidcountSalary();};classTechManager:publicTechnician,publicManager{private:floatgradeBonus;intgrade;public:TechManager(floatx=1000);voidsetgrade(floatx);voidcountSalary();};classSecretary:publicEmployee{private:floatfixedSalary;floatbonus;public:Secretary(floatx=4000);voidsetbonus(floatx);voidcountSalary();};classSalesman:publicEmployee{protected:floatsalesnum;doublegetRate;public:salesman(floatx=0.05);voidsetsalesnum(floatx);voidcountSalary();};图3.1类声明classManager{protected:floatfixedSalary;public:Manaer(floatx=6000);voidcountSalary();};classTechnician:publicEmployee{private:floatworkHour;floathourSalary;public:technician(floatx=36);voidsetHour(floatx);voidcountSalary();};classEmployee{protected:intnumber;charname[25];intstatus;intmonth;floatsalary;public:voidinfo();voidsearch();virtualvoidcountSalary();voidrecordinfo();voidrecordSalary();};程序设计语言课程设计报告4上海应用技术学院计算机科学与信息工程学院3.2系统简略流程图假结束再次输入图3.2职工工资管理系统简略流程图否是是否会员输入编号及密码开始注册检验?假真选择?0查询信息1输入姓名、职务、月份真显示职务代码分析工资记录在salary.txt处理1处理2处理3处理4输入1输入2输入3输入4处理5输入5记录编码姓名职务月份至info.txt从info.txt提取职务代码优点:一个入口,一个出口!程序设计语言课程设计报告5上海应用技术学院计算机科学与信息工程学院3.3会员登入系统模块即systemhead静态全局函数模块清空info.txt并将编号存入到info.txt中图3.3登入系统模块详细流程图否是否会员输入编号及密码打开name.txt并输出编号及密码匹配?关闭name.txt否是以增加方式打开name.txt并输入编号及密码关闭name.txt.输入编号及密码程序设计语言课程设计报告6上海应用技术学院计算机科学与信息工程学院3.4查询功能模块即search函数模块10否是输出info.txt中的职务信息将info.txt的编号与salary.txt中的编号进行匹配是否打开info.txt!indata.eof()?图3.4查询功能模块以默认方式打开info.txt以默认方式打开salary.txt从文