工资管理系统C编程实验报告

合集下载

职工工资管理系统C程序设计报告

职工工资管理系统C程序设计报告

一、课程设计目的和要求(一)设计目的1、通过这次专题实习,巩固和加深对所学相关知识点的理解。

2、进一步熟悉基本流程控制结构——实现分支的if…else语句、switch语句和实现循环的for、while…、do…while语句、break、continue等。

3、基本数据类型、数组、结构体、自定义类、函数的应用。

4、加强对模块化程序设计和面向对象程序设计的理解。

5、掌握C\C++语言程序设计的基本思想,了解简单的系统分析和设计方法。

(二)设计要求1、启动软件时,进行密码校验。

若出错三次,则自动退出系统。

2、实现简易的提示菜单界面,刚运行时应显示版本信息。

用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用。

3、要求把所有录入的数据以文件的形式,保存在硬盘上。

4、系统包含以下基本功能:登陆功能、显示主菜单功能、职工信息输入、职工信息输出、职工信息查询、职工信息修改、工资排序、工资统计、导出数据、导入数据、退出等。

二课程设计任务内容1、设计登陆功能:用户输入口令,如果与系统内保存的密码相一致,则成功;否则重新输入口令,直至输入口令正确才可登陆系统。

若出错三次,则自动退出该系统。

2、显示菜单:用户登录成功,系统显示界面,显示系统功能的提示信息。

3、职工信息输入:用户输入要添加的职工工号,姓名,年龄,性别,基本工资,岗位工资,总工资信息等。

当职工工号为0时输入结束。

输入数据时,须验证数据的输入格式正确,保证职工号的唯一性。

4、职工信息输出:将结构体中的职工信息输出到屏幕上。

5、职工信息查询:1按职工号查询;2按职工姓名查询。

查到则显示他全部信息,否则输出“not found”。

6、职工信息修改:修改职工信息并保存(工号不能修改)。

7、工资排序:对结构体数组中的所有职工按基本工资降序排序,用选择法实现;对结构体数组中的所有职工按岗位工资降序排序,用冒泡法实现;对结构体数组中的所有职工总工资降序排序,用插入法实现。

职工工资管理系统c语言课程实践报告

职工工资管理系统c语言课程实践报告

实践报告1.目的:通过此次综合编程实践,使大学生进一步熟悉和掌握C语言的基本知识,基本编程原理;学习用C语言开发应用程序的方法;进一步熟悉计算机程序设计的基本方法,步骤,培养大学生设计,调试,测试程序能力。

2.程序功能介绍:该程序是用链表编写的职工工资管理系统,主要功能实现职工有关信息的录入,分析,查找,增加,修改,排序等功能。

职工工资管理系统上图是程序的主界面A.1是数据录入的功能提示语句B.2是数据分析的功能提示语句C.3是信息查询的功能提示语句D.4是添加信息的功能提示语句E.5是删除信息的功能提示语句F.6是修改信息的功能提示语句G.7是对信息排序的功能提示语句H.8退出该程序的功能提示语句3.具体流程图:3.程序实现1)输入1进入此函数,执行create函数调用insert函数回到create函数,回到主函数2)执行过1选项后便可以执行2选项,进入如下过程调用show report 函数3)回到主函数界面后,按选项3后进入信息查询的程序,如下4)回到主函数界面后,选择选项4进入一下过程5回到主函数后选择5后,进入删除环节调用analysis函数接着调用show report 函数5)回到主函数后,选择6,进入修改界面回到主函数6)在主菜单上选择7,进入排序项8 退出程序4.程序运行演示,在主界面上选择1,输入若干信息,入以下界面:输入4个人信息。

返回后选择2选项界面的上端是每个人的信息,下端是分析表,反映了整体情况返回主菜单后选择3,以编号为1的员工为例返回主菜单后选择4返回主菜单后,选择5,以2号员工为例选择y确定后显示返回主菜单,选择6 以3号为例选择y,确定返回主菜单后,选择8,退出4.5.代码的调试过程:本人的程序由链表实现,由于对链表的运用不是很熟练,所以花了很长的时间编写该程序,大致编完后,在编译与构建的过程中,同时也遇到了很多困难。

例如,在第一次编译的时候,出现了20多个错误与很多警告。

C语言职工工资管理系统设计报告

C语言职工工资管理系统设计报告

C语言职工工资管理系统设计报告设计报告:C语言职工工资管理系统1.系统介绍职工工资管理系统是一种用于管理公司或组织内部职工工资信息的软件系统。

通过该系统,可以方便地录入、修改、查询和删除职工的工资信息,实现对职工工资的统一管理和自动计算。

2.系统需求分析(1)录入职工信息:系统需要提供录入职工信息的功能,包括职工编号、姓名、性别、工作岗位等基本信息。

(2)录入职工工资:系统需要提供录入职工工资的功能,包括基本工资、绩效奖金、加班工资等,以便计算总工资。

(3)查询职工工资:系统需要提供查询职工工资的功能,可以按照职工编号、姓名、性别等关键字查询。

(4)修改职工工资:系统需要提供修改职工工资的功能,可以根据职工编号进行修改。

(5)删除职工信息:系统需要提供删除职工信息的功能,按照职工编号进行删除。

3.系统设计方案(1)数据结构的设计:-职工信息结构体:包括职工编号、姓名、性别、工作岗位等成员。

-职工工资结构体:包括基本工资、绩效奖金、加班工资等成员。

-职工结构体数组:用于存储多个职工的信息和工资数据。

(2)界面设计:-主菜单:包括录入职工信息、录入职工工资、查询职工工资、修改职工工资、删除职工信息等选项。

-子菜单:不同的功能选项对应不同的界面,可以通过输入不同的选择序号实现功能切换。

-信息显示界面:用于显示职工信息和工资信息。

(3)功能设计:-录入职工信息:通过用户输入,将职工信息存储到职工结构体数组中。

-录入职工工资:通过用户输入,将职工工资信息存储到对应的职工工资结构体中。

-查询职工工资:根据用户输入的关键字,查找并显示匹配的职工工资信息。

-修改职工工资:根据用户输入的职工编号,在职工工资结构体中找到对应职工的工资信息,并修改。

-删除职工信息:根据用户输入的职工编号,在职工结构体数组中找到对应职工的信息,并删除。

4.系统实现系统的实现使用C语言编程,使用结构体和数组进行数据的组织和存储,并利用循环和条件判断语句完成功能。

C课程实践报告企业职工工资管理系统

C课程实践报告企业职工工资管理系统

中南大学本科生课程设计 (实践 )任务书、设计报告(C++ 应用基础课程设计〕题目企业职工薪水管理系统学生学号学生姓名学院物理学院专业班级指导老师计算机基础授课实验中心2021年 07月 09日企业职工薪水管理系统摘要:在VC++环境下编写一个基于控制台方式〔 Win32 Console Application〕的薪水管理系统,以实现简单地办理一个月内某企业职工工资信息。

要点词:薪水管理,根本薪水,个人所得税。

1.企业薪水管理系统开发设计思想对于一个管理系统而言,主函数,函数以及成员函数是其重要组成局部。

系统开发设计也是从该三方面下手,下面加以详细阐述。

〔1〕主函数的设计在做一个系统开发前,必然要明确系统的功能以及功能实现时的输出〔屏幕显示〕。

①确定调用的函数依照要求,系最少五种根本功能:出工作信息,除工信息,修改工信息,找工信息,列出全部信息。

以上任何一种功能都必要用一个函数,根据符的定,依次命名AddNew(),DoDelete(),DoMotify(),DoFind(),List().②屏幕显示一个系要想理信息,第一必要出菜及提示信息,通用在上的入来某个功能。

本系的屏幕示如上。

屏幕示,出句完满能够放在main() 函数中,但了使主函数清楚了然,我了一个菜函数Main() 供其用。

(2)函数的设计写函数的目的就是写一个能某种功能的函数供主函数用。

依照C++面向象的特点,函数也能够用中的成函数。

主函数,函数以及成函数之的次清楚,关系就清楚了然,不会有冗的感。

函数的主要任是确定用的成函数以及屏幕示。

①确定调用的成员函数。

不相同的函数用的成函数是不尽相同的,根本上每个函数都有一个的成函数,例如AddNew()与 AddItem(),DoDelete()与RemoveItem(),DoFind()与Search 〔〕,DoMotify()与Replace(),List()与Worker.List(),些成函数都是共有函数,并且只被其函数唯一用一次。

教师工资管理系统c语言课设报告

教师工资管理系统c语言课设报告

教师工资管理系统c语言课设报告1. 项目背景教师工资管理系统是一种为学校或教育机构管理教师工资的软件系统。

在传统的工资管理方式中,人工计算和记录容易出错,效率低下。

而使用教师工资管理系统,可以提高工资管理的准确性和效率,节省人力成本。

2. 项目目标本项目旨在设计和实现一个简单的教师工资管理系统,具备以下功能:1. 教师信息的录入、修改和删除;2. 工资计算和生成工资单;3. 工资查询和统计。

3. 项目设计3.1 数据结构设计根据教师工资管理系统的需求,在设计数据结构时需要考虑以下几个要素:1. 教师信息:包括教师工号、姓名、性别、职称、基本工资等。

2. 工资单:包括工资单号、发放时间、应发金额、实发金额等。

根据需求,可以设计以下数据结构:ctypedef struct {int teacherId; 教师工号char name[20]; 姓名char gender[5]; 性别char title[20]; 职称float basicSalary; 基本工资} Teacher;typedef struct {int salaryId; 工资单号char distributeTime[20]; 发放时间float shouldPay; 应发金额float actualPay; 实发金额} Salary;3.2 模块划分根据项目目标,可以将教师工资管理系统划分为以下几个模块:1. 教师信息管理模块:实现教师信息的录入、修改和删除功能。

2. 工资管理模块:实现工资计算、生成工资单、工资查询和统计功能。

3. 界面模块:实现系统的交互界面,使用户能够方便地操作系统。

4. 项目实现4.1 教师信息管理模块教师信息管理模块主要包括教师信息的录入、修改和删除功能。

可以使用文件操作来实现数据的存储和读取。

4.2 工资管理模块工资管理模块主要包括工资计算、生成工资单、工资查询和统计功能。

4.2.1 工资计算工资计算是根据教师的基本工资和绩效考核来计算教师的应发金额。

工资管理C程序实验报告.doc

工资管理C程序实验报告.doc

《程序设计实践》报告一、题目第五部分小型管理程序第1题工资管理a.程序功能简介:一个员工工资程序:有新建、存储、显示、修改和删除功能。

b.设计要求:(1)完善帮助信息,帮助信息没有把操作的所有命令列出。

(2)一进入程序首先显示所有命令。

(3)使用n键新建一个数据项并询问是否要存储,按y键存储,其他键取消存储。

(4)显示、修改和删除数据项时大小写通用。

(5)将所有的函数与相应的数据项封装到类中,并改写主程序。

题目难度:B二、问题分析及求解基本思路看到这个题目,第一个想法就是分析一下这个程序里面会有哪些数据元素,需要哪些功能函数,对于要选择数据类型的话,首先想到的肯定是类,这样才能把那些例如名字,工资金额等这些不同类型的数据打包封装在一起,然后对的接口就是一些定义,调用的函数。

这样程序会看上去更有调理,易懂。

然后就要想需要定义哪些类,从最简单的入手,第一个肯定要定义个CSalary类,用来存储职工名字和工资,然后再在里面定义一些构造函数,析构函数,返回姓名和工资的函数,比较姓名用来查找。

然后为了不让CSalary类太过复杂庞大,就想到再定义一个CNode的节点类,把CSalary类包含进去,然后可用于输入,输出,赋值等。

但如果光这两个类的话显然太弱了,因为会发现如果你要同时录入多个人工资信息时就会很麻烦,因为它只能保存一个人信息,所以想要录入多人信息,就还得再定义个链表类CList,里面包含了节点类CNode的成员(即把CList申明为CNode的友元类),然后在CList类中就可以进行对节点的插入,删除,输出等功能。

三个类大致定义好了,接下来就是对成员函数的定义,这个问题不大。

为了加强程序的文件输入输出功能我用了输入输出流函数,这个是看书上模仿做的。

三、问题求解的整体框架结构定义三个类:第一个CSalary类用来存储姓名、工资等内容第二个节点类用来输入、输出、赋值等内容第三个链表类,将节点类看做里面的数据成员,用来插入,删除,输出节点然后定义一个输入输出流函数,在执行时首先将工资从文件中读出再进行管理,在程序结束时将工资数据保存在原文件中四、主要算法1、第一个数据类中,用来存储职工姓名和工资Class CSalary{姓名;工资;Public:构造函数;char *GetName()返回姓名;double GetSal()返回工资;int Compare(char name[])比较姓名,供查找用;void show()用于显示姓名和工资;void ch(double a)初始化工资;}第二个节点类,包含数据类的成员,该类涉及节点输入,输出,赋值等Class CNode{CSalary *pData;定义指向数据类的指针CNode *pNext;指向下一结点指针;public:构造函数;拷贝构造函数;void InputData()输入数据的函数;void ShowNode()显示数据的函数;CSalary *GetData() 返回下一个节点;friend class CList定义一个友元类;}第三个为链表类,将节点视为类中的数据成员,涉及节点的插入,删除,输出等操作class CList{Protected:CNode *pHead;Public:构造函数;V oid DeleteList()删除整个链表;析构函数;V oid DeleteNode()删除指定节点,返回节点的指针;V oid ShowList() 输出整个链表;V oid Insert(CNode *)插入一个节点内容;}显示、修改、删除数据时大小写通用:2、定义一个函数,通过调用库函数strupr,全部转换为大写。

C人事工资管理系统实验报告

C人事工资管理系统实验报告

C人事工资管理系统实验报告C人事工资管理系统实验报告1. 介绍C人事工资管理系统是一款基于C语言开发的人事工资管理软件。

该软件可以通过输入员工信息、职位信息和工资信息来实现员工工资的管理。

本次实验的目的是通过对C人事工资管理系统的使用,掌握C语言的基本操作和编程思想。

2. 实验环境本次实验的环境为Windows操作系统,使用Mingw-w64作为编译器。

在软件开发过程中,使用了C语言的基本语法和部分函数库,并通过Makefile文件进行编译,得到可执行文件。

3. 功能介绍C人事工资管理系统可以实现以下功能:(1)添加员工信息:通过输入员工的姓名、性别、部门、职位等基本信息,将员工信息存储到文件中。

(2)修改员工信息:可以修改员工的基本信息以及工资等信息。

(3)删除员工信息:根据员工的工号删除员工信息。

(4)查询员工信息:可以根据员工的工号或姓名等信息查询员工的基本信息以及工资等信息。

(5)计算员工工资:根据员工的基本工资、职位工资、绩效工资等信息计算员工的工资。

(6)数据报表统计:根据员工的职位、部门等信息实现数据的报表统计和导出。

4. 实验过程(1)编写员工信息结构体和读写文件函数员工信息包括姓名、性别、工号、职位、部门、基本工资、职位工资、绩效工资等信息。

使用结构体来定义员工信息,并编写读写文件函数来实现员工信息的存储和读取。

(2)实现员工信息的增删改查功能使用链表来存储员工信息,并编写添加、删除、修改和查询员工信息的函数来实现员工信息的管理。

(3)实现员工工资计算功能根据员工的基本工资、职位工资和绩效工资等因素计算员工的工资,并将计算结果存储在员工信息中。

(4)实现数据报表统计功能根据员工的职位、部门和工资等信息实现数据的报表统计和导出。

5. 实验结果通过本次实验,我们成功开发了C人事工资管理系统。

该系统具有实现员工信息管理、工资计算和报表统计等功能,可以方便地帮助企业和机构实现人事工资管理任务。

C语言实验报告之员工工资管理

C语言实验报告之员工工资管理

实验报告———员工工资管理一、实验内容:实验名称:员工工资管理实验目的:设计一个员工工资管理程序,有新建、存储、显示和删除功能。

实验要求:(1)在工资表的数据类中增加一个私有数据选项:工号,用字符数组的形式,从00001开始编号,该工号不能人工修改,是由计算机自动根据录入的先后赋值的,录入数据的时候不必输入工号。

(2)可以选择显示的多种排序形式,如按姓名的顺序、工资总额的顺序、职务工资或奖金的顺序,显示时超过一屏的显示范围要能分屏显示。

(3)可以查询某一范围内的数据,如工资总额小于2000元的人的数据,介于1000~2000元的人的数据等,根据具体要求列出菜单供用户选择。

(4)可以根据工号或姓名修改、删除数据,在修改、删除时先要求用户确认,确认后再进行操作。

(5)每次显示时,将所有要显示数据的工资总额、职务工资总额、奖金总额一起计算显示。

二、算法说明:S1:用宏定义参数N确定员工人数(暂定10)S2:定义显示工资变量等的子函数S3:定义修改工资变量等的子函数S4:定义一个包含N个员工编号的数组,编号可修改S5:在主函数中建立中文菜单界面S6:用while,if循环嵌套结构实现菜单各功能三、程序清单;#include<stdio.h>#include<stdlib.h>#include<conio.h>#define N 10void main(){int employee[N]={1,2,3,4,5,6,7,8,9,10};int index,selection;int newsalary; /*修改后工资变量*/while (1) /*循环结构*/{printf(" 员工工资管理\n");/* 用户菜单*/printf(" 1。

显示员工工资表\n");printf(" 2。

修改员工工资表\n");printf(" 3。

职工工资管理系统c语言程序设计报告

职工工资管理系统c语言程序设计报告

职工工资管理系统1. 背景职工工资管理是企业管理中一个重要且复杂的环节。

合理进行工资管理可以激励员工的工作积极性,提高生产效率和企业的竞争力。

然而,在人工操作的情况下,计算工资涉及到复杂的计算过程和大量的数据处理,容易出现错误和繁琐。

因此,开发一个自动化的职工工资管理系统对于企业的工资管理具有重要意义。

2. 分析职工工资管理系统的核心目标是计算职工的工资,并提供工资查询和报表生成的功能。

为了实现此目标,我们需要设计一个合理的系统架构,并根据需求提供相应的功能模块。

2.1 系统架构职工工资管理系统的基本架构包括以下几个模块:•职工信息管理模块:用于管理职工的基本信息,包括姓名、职位、级别等。

•薪资标准管理模块:用于管理不同职位和级别的薪资标准,包括基本工资、绩效奖金等。

•工资计算模块:根据职工的基本信息和薪资标准,计算实际工资。

•工资查询模块:用于查询职工的工资信息。

•报表生成模块:用于生成各种工资相关的报表,如工资总额、平均工资等。

2.2 功能模块职工工资管理系统应当具备以下功能模块:1.职工信息管理:–添加职工信息–修改职工信息–删除职工信息–查询职工信息2.薪资标准管理:–添加薪资标准–修改薪资标准–删除薪资标准–查询薪资标准3.工资计算:–根据职工信息和薪资标准计算工资4.工资查询:–查询指定职工的工资信息5.报表生成:–生成工资总额报表–生成平均工资报表–生成各部门工资报表2.3 数据结构与算法为了实现上述功能,我们需要选择合适的数据结构和算法来支持系统的运行。

1.数据结构:对于职工信息的管理,我们可以使用链表或数组来存储职工的基本信息。

对于薪资标准的管理,可以使用哈希表或平衡二叉树来存储标准信息。

2.算法:在工资计算模块中,需要根据薪资标准和职工信息计算出实际工资。

可以使用算法来进行工资计算,如基本工资加上绩效奖金等。

3. 结果根据上述分析,我们可以设计并实现一个简单的职工工资管理系统。

工资管理系统程序设计实习报告范文

工资管理系统程序设计实习报告范文

工资管理系统程序设计实习报告范文工资管理系统程序设计实习报告范文目录略1.课程设计目的本程序旨在训练基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。

本程序涉及结构体、数组、指针、文件等方面的知识。

通过本程序的训练,使读者能对C语言的文件操作有一个更深刻的了解,掌握利用数组存储结构实现教师工资管理系统,为进一步开发出高质量信息管理系统打下坚实的基础。

(1)巩固和加强《C语言程序设计》课程的理论知识。

(2)掌握C语言的基本概念、语法、语义和数据类型的使用特点。

(3)掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。

(4)进一步理解和运用结构化程设计的思想和方法;学会利用流程图表示算法。

(5)掌握调试程序的基本方法及上机操作方法。

(6)掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。

课程设计的思想和方法还可以作为毕业论文时的参考资料。

(7)通过查阅手册和文献资料,培养自己独立分析问题和解决问题的能力。

为自己做毕业设计打好基础。

(8)初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。

通过激发学习兴趣,调动自己主动学习的积极性,并根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。

(9)培养自己的创新能力和创新思维。

可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。

(10)培养自己良好的程序设计风格。

在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。

自己在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。

2.课程设计题目教师工资管理系统每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。

注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资-合计扣款。

工资管理系统程序设计实习报告

工资管理系统程序设计实习报告

工资管理系统程序设计实习报告目录略1.课程设计目的本程序旨在训练基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。

本程序涉及结构体、数组、指针、文件等方面的知识。

通过本程序的训练,使读者能对C语言的文件操作有一个更深刻的了解,掌握利用数组存储结构实现教师工资管理系统,为进一步开发出高质量信息管理系统打下坚实的基础。

(1)巩固和加强《C语言程序设计》课程的理论知识。

(2)掌握C语言的基本概念、语法、语义和数据类型的使用特点。

(3)掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。

(4)进一步理解和运用结构化程设计的思想和方法;学会利用流程图表示算法。

(5)掌握调试程序的基本方法及上机操作方法。

(6)掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。

课程设计的思想和方法还可以作为毕业论文时的参考资料。

(7)通过查阅手册和文献资料,培养自己独立分析问题和解决问题的能力。

为自己做毕业设计打好基础。

(8)初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。

通过激发学习兴趣,调动自己主动学习的积极性,并根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。

(9)培养自己的创新能力和创新思维。

可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。

(10)培养自己良好的程序设计风格。

在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。

自己在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。

2.课程设计题目教师工资管理系统每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。

注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资-合计扣款。

C语言课程设计报告-工资管理系统

C语言课程设计报告-工资管理系统

C语言课‎程设计报告‎-工资管理‎系统一.‎系统功能‎设计一‎个职工工资‎管理系统,‎其功能包括‎:(1‎)‎职工‎基本工资信‎息录入‎包括工号,‎姓名,应发‎工资,奖金‎,扣款,应‎发工资,扣‎税,实发工‎资。

(‎2)‎职‎工基本工资‎信息保存‎(3)‎‎职工基本‎工资信息查‎询按照‎工号查询‎按照姓名‎查询(‎4)‎职‎工基本工资‎信息显示‎在屏幕上‎显示所有的‎职工基本工‎资信息。

‎(5)‎‎职工基本‎工资信息更‎新能够‎实现修改,‎删除,插入‎,排序功能‎。

(6‎)‎职工‎基本工资信‎息统计‎统计公司员‎工工资在各‎等级的人数‎主界面‎系统主界面‎应有如下功‎能选项‎录入职工基‎本工资信息‎查询职‎工基本工资‎信息保‎存职工基本‎工资信息‎删除职工‎基本工资信‎息插入‎职工基本工‎资信息‎修改职工基‎本工资信息‎统计职‎工基本工资‎信息排‎序职工基本‎工资信息‎显示职工‎基本工资信‎息退出‎代‎码如下:‎#inc‎l ude ‎<stdi‎o.h>‎type‎d ef s‎t ruct‎empl‎o yee‎{‎‎ cha‎r num‎[10];‎ /‎/保存职工‎编号‎‎ cha‎r nam‎e[15]‎; /‎/保存职工‎姓名‎‎ flo‎a t jb‎g z; ‎‎//保存职‎工基本工资‎‎‎f loat‎jj; ‎‎ //保‎存职工奖金‎‎‎f loat‎kk; ‎‎ //‎保存职工扣‎款‎‎floa‎t yfg‎z; ‎ /‎/保存职工‎应发工资‎‎ f‎l oat ‎s k; ‎‎ //保‎存职工税款‎‎‎f loat‎sfgz‎;‎ //‎保存职工实‎发工资‎‎‎‎‎}Z‎G GZ;‎void‎menu‎(){‎‎ p‎r intf‎(" ‎‎‎‎Empo‎y ee S‎y stem‎\n");‎‎ p‎r intf‎("--<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎--<‎-<-<@‎\n");‎‎ p‎r intf‎(" ‎ *1 ‎i nput‎‎r ecor‎d‎ *‎2 del‎e te ‎reco‎r d\n"‎);‎‎prin‎t f(" ‎ *‎3 sea‎r ch ‎ rec‎o rd ‎‎*4 m‎o dify‎ re‎c ord\‎n");‎‎ pr‎i ntf(‎"‎*5 i‎n sert‎ r‎e cord‎‎ *6‎coun‎t‎r ecor‎d\n")‎;‎‎p rint‎f(" ‎ *7‎sort‎‎reco‎r d ‎‎*8 sa‎v e ‎ rec‎o rd\n‎");‎‎ pri‎n tf("‎‎*9 di‎s play‎ re‎c ord ‎‎ *0 ‎q uit ‎ r‎e cord‎\n");‎‎ p‎r intf‎("--<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎--<‎-<-<@‎\n");‎‎ p‎r intf‎("Ple‎a se e‎n ter ‎y ou c‎h oice‎(0-9)‎\n");‎}‎i nt i‎n put(‎Z GGZ ‎a[],i‎n t k)‎{‎‎ int‎j,x;‎‎ c‎h ar s‎t r[10‎];‎‎j=x=‎0;‎‎whil‎e(1)‎‎ {‎‎‎‎p rint‎f("--‎-----‎-----‎-----‎-----‎-----‎-\n")‎;‎‎‎ pri‎n tf("‎请输入职工‎的编号:(‎按0返回主‎菜单)")‎;‎‎‎‎ s‎c anf(‎"%s",‎s tr);‎‎‎‎‎ st‎r cpy(‎a[k].‎n um,s‎t r);‎‎‎‎f or(j‎=0;j<‎k;j++‎)‎‎‎‎ {‎‎‎‎‎if(s‎t rcmp‎(a[j]‎.num,‎s tr)=‎=0)‎‎‎‎‎{‎‎‎‎‎‎ pri‎n tf("‎已经有工号‎为%s的员‎工信息!请‎重新输入员‎工号。

工资管理系统C 编程实验报告

工资管理系统C  编程实验报告

——《C++程序设计》课程综合实习实习题目:工资管理系统系别:计算机系 ___专业:计算机与科学班级:姓名:学号:指导教师:日期: 2015年12月27日_目录一、课程实习的题目、任务与要求 (2)1.课程实习的题目 (2)2.课程实习内容 (2)3.课程实习的要求 (2)二、系统分析 (2)1.需求分析 (2)2.系统性能要求 (3)3.系统的功能分析 (3)4.系统功能模块 (3)5.模块框架图 (3)三、系统设计与实现 (4)1.界面设计 (4)2.功能设计与实现 (4)四、运行及测试结果 (5)五、总结 (5)六、参考资料 (6)附录:源程序 (6)一、课程实习的题目、任务与要求1.课程实习的题目工资管理系统2.课程实习内容(1)存储的数据包括:员工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等)。

实发工资=基本工资+补贴金额+奖励金额-扣除金额。

(2)按职工号增加、删除、修改记录功能;(3)查询功能,包括按姓名、职工号查询;(4)排序功能,按指定的关键字(如职工号、姓名、实发工资)排序。

3.课程实习的要求根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序,对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能。

包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计等。

二、系统分析1.需求分析a.能对员工工资信息进行录入。

b.能对员工工资信息进行增加。

c.能对员工工资进行删除。

d.能对员工工资进行修改。

e.能对员工按实发工资,姓名,进行查询。

f.能输出员工工资的所有数据。

g.能对员工工资信息按实发工资、员工号进行排序。

2.系统性能要求a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d易于维护和扩充。

3.系统的功能分析资料维护:系统维护包括对员工工资信息的录入操作及数据表中的信息进行浏览。

c语言课程设计报告 职工工资管理系统

c语言课程设计报告 职工工资管理系统

一.设计需求说明一、职工工资管理系统功能设计要求1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。

•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

5. 删除记录:可删除数据文件中的任一记录。

6.恢复记录:能恢复被删除的任一记录。

7. 统计: (A) 计算各项工资平均工资及总工资, (B)•统计符合指定条件(如职工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。

(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。

8.保存数据文件功能。

9.打开数据文件功能。

经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。

程序运行结果如下表所示(记录个数至少8 个)。

二.模块设计分析系统功能模块图:工作程序分析①输入:输入职工工资资料通过结构体的数组来进行操作,先头定义数组em[],先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入结构体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。

同时将数据储存在ckerk_list文件中并自动保存至磁盘。

注:如首次使用,尚未输入数据,请先输入数据。

输入的数据将自动保存。

再次选择输入功能时原数据将被覆盖。

②保存:将输入的资料存入磁盘读取文件clerk_list,若文件不存在,打印“打开失败并退出。

若存在,则通过循环语句将输入到结构体数组的数据逐个输入磁盘。

C语言课程设计报告—工资信息管理系统

C语言课程设计报告—工资信息管理系统

C语言程序设计学校:中国地址大学学院:工程学院班级序号:05507101学号:20071000226姓名:王雷指导老师:刘文中C 语言程序设计编程实践是学习C语言程序设计的一重要环节,为提高学生程序设计能力,通过课堂和上机实践练习使学生的程序设计能力上一台阶。

通过前四单元温顾而知新、庖丁解牛、举一反三、熟能生巧等过程的练习设计下面一个完整的程序。

1、题目要求设计“工资信息管理系统”要求:该系统能够实现工资信息管理。

系统包括录入,浏览,查询,统计等功能。

录入功能要求:能够添加新的工资信息到文件;浏览功能要求:能够按照工资卡号,姓名分类浏览,提供分屏显示;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求:能够按照工资卡号,姓名查询;统计功能要求:能够按照月份累计统计某职工在某时间段发工资总金额。

职工数据如下:姓名银行卡号月份应发工资水费电费税金实发工资wanglei 05507101 6 5000.00 25.00 35.00 360.00 4580.00wanglei 05507101 7 5100.00 20.00 40.00 370.00 4670.002、分析:根据题目要求,应当把职工工资信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现职工工资浏览,查询,统计等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。

3、总体设计:根据题目要求,可以将系统分为六个模块:1)职工工资信息浏览模块;2)添加工工资信息模块;3)统计职工工资总合模块;4)按名字查询职工工资信息模块;5)按卡号查询职工工资信息模块;6)功能选择4、详细设计:#include<iostream.h>#include<stdio.h>#include<stdlib.h>#include<string.h>//头函数名/*********职员工资信息结构体*********//***包括职工的姓名、银行卡好、工作月份、应发工资、实发工资、水费、电费、税***/ struct staff//职员工资信息结构体{char Name[10];char CardNumber[10];int Month; float SPWages; float APWages; float Water; float Electrical; float Tax; };FILE *fp;//定义文件指针===全局变量 struct staff temp;void printf_face()//输出函数 { printf("\n 姓名 银行卡号 月份 应发工资 水费 电费 税 实发工资 \n ");printf("%s %s %d %.2f %.2f %.2f %.2f %.2f\n",,temp.CardNumber,temp.Month,temp.SPWages,temp.Water,temp.Electrical,temp.Tax,temp.APWages);}一、/**********浏览职工工资信息==模块*********/void PrintInformation()//浏览职工工资信息{struct staff temp;if((fp=fopen("wages","rb"))==NULL) { printf("cannot open the file!"); exit(0);}fclose(fp); }二、/**********添加职工工资信息==模块void Increase()//添加职工工资信息{if((fp=fopen("wages","ab+"))==NULL) { printf("cannot open the file!");exit(0);}printf("\n 请输入要==添加的工资信息printf("\n 姓名 银行卡号 月份 应发工资&temp.Electrical);if(temp.SPWages<=800) temp.Tax=0;if((temp.SPWages>800.0)&&(temp.SPWages<1400.0))temp.Tax=(temp.SPWages-800)*0.05;if(temp.SPWages>1400){temp.Tax=(temp.SPWages-1400)*0.1;} fwrite(&temp,sizeof(struct staff),1,fp); fclose(fp);}/***计算税金并添加到文件相应结构体中***/三、/*********统计某职工工资总合==模块void Statistics()//统计某职工工资总合{struct staff temp; char tempname[10]; float sum=0;int monthstart=0,monthover=0;printf("\n 输入姓名 起始月份 终止月份if((fp=fopen("wages","rb"))==NULL) {printf("cannot open the file!") exit(0); }while(fread(&temp,sizeof(struct staff),1,fp)==1) { if(strcmp(,tempname)==0)/******判断是否是该职工******/ { if(temp.Month>=monthstart&&temp.Month<=monthover) {sum+=temp.APWages;}}}printf("%d 月到 %d 月的工资总和 %f",monthstart,monthover,sum); fclose(fp); }四、/*********按名字查询某职工工资信息==模块void NameSearch()//按名字查询某职工工资信息 {char tempname[10]; struct staff temp;printf("\n输入姓名scanf("%s",tempname);if((fp=fopen("wages","rb"))==NULL) {printf("cannot open the file!"); exit(0); }{ if(strcmp(,tempname)==0) /** {printf_face();}}fclose(fp);}五、/********按卡号查询某职工工资信息==模块void CardNumberSearch()//{char tempCardNumber[10];struct staff temp;printf("\n 输入卡号:");scanf("%s",tempCardNumber);if((fp=fopen("wages","rb"))==NULL){printf("cannot open the file!");exit(0);}while(fread(&temp,sizeof(struct staff),1,fp)==1) /***读文件中资料**/ {if(strcmp(temp.CardNumber,tempCardNumber)==0) /**判断是否是该卡号**/{printf_face();}}fclose(fp);六、/**********职工工资信息查询==模块int Search(){int n;while(1){printf("\n1. 按照卡号查询printf("\n2. 按照姓名查询: \n ");printf("\n0. 返回上级目录: \n");scanf("%d",&n);switch(n){case 2:NameSearch();break;case 0:return 0;break;}}}七、/***************功能选择==模块***********/void ShowMenu(){int n;while(1){ Array printf("1. 添加工资信息: \n");printf("2. 浏览工资信息: \n" );printf("3. 统计工资信息: \n" );printf("4. 查询工资信息: \n");printf("0. 退出系统: " );scanf("%d",&n);switch(n){case 1:Increase();break;case 2:PrintInformation();break;case 3:Statistics();break;case 4:Search();break;case 0:exit(0);break;}}}/***************主函数*************/ void main(){ShowMenu();}运行结果可以达到要求的目的。

C语言程序设计基础课程设计工资系统报告

C语言程序设计基础课程设计工资系统报告

C语言程序设计基础课程设计工资系统报告目录一、需求分析-------------------------------------2二、概要设计-------------------------------------2三、详细设计-------------------------------------4四、调试分析-------------------------------------4五、用户手册-------------------------------------5六、测试数据-------------------------------------6七、程序代码------------------------------------14第1页一、需求分析1.第一步,依据身份进行登录,管理员和职工所能进行的操作不同,具备较高安全性,同时用户可根据需要修改自己的密码,管理员还可添加和删除用户,首次使用时不存在用户,管理员可进行注册,注册成功后再进入使用。

2. 多职工信息进行操作时,建立动态链表,每个节点包含一个职员的工号、姓名、工资等全部信息,通过链表构建一个完整的职工信息库,链表具备录入、删除、修改、查询及统计功能,各功能显示在菜单中,由主函数分别调用。

3. 为了避免一个函数体过长,进行细化子函数,小型子函数在各个主调函数里多次调用,便于使用。

4. 以可读可写可追加方式新建一个文本文件,用于存储链表里所有节点上包含的信息,将节点信息导入文件时,从头指针开始,依次写入。

5. 查询、修改、删除、职工信息时,调用子函数以只读方式打开系统库文件,并将文件从头至尾读取一遍,每次读取一个节点的长度,将每次读取到的信息依次导入到链表的节点中去,再对链表进行所需功能的操作。

修改和删除完成后,将整个链表包含的信息重新写入文件,写入之前打开系统库文件同时进行格式化。

6. 统计职工最高、最低工资及工资均方差时,以同时方式将职工工资等信息导入到链表中,然后以子菜单的形式输出统计的项目,包括各部门和全公司以及最高、最低工资和工资均方差。

C#人事工资管理系统实验报告

C#人事工资管理系统实验报告

武汉工业学院数据库应用系统设计实验报告学号:090501102姓名:毕波班级: 计算机091指导教师:人事工资管理系统设计总说明:在当今社会,工资管理是一项必要而且很关键的工作。

现在随着企业数量的急剧增加,处理人们的工资数据变的越来越烦琐艰巨。

如今,计算机已经普及到了几乎每个学校、家庭,我们的学习和生活已经处处离不开计算机的存在。

本系统依据开发要求主要应用于企业人事系统,完成对日常的工资增删查改的数字化管理。

比较系统地对员工的信息和工资进行管理,查询、增添、修改、删除都变的非常简便,节省了大量的工作量。

本课程设计是在学习了《数据库应用系统》和相关开发软件课程之后,让学生通过实际项目的设计、开发,培养学生独立进行数据库软件的建模、在计算机中进行数据库设计、并通过相关软件开发系统的能力。

本系统的基本功能包括:部门信息的管理(查询、添加、修改、删除学生部门等)、职员信息的管理(录入、查询、修改、删除员工的信息等)、工资信息的管理(录入、查询、修改员工的工资等)。

本系统主要用于对员工工资进行管理,能够进行插入、删除、修改、查询和显示员工的信息。

登录该系统时,用户需要输入口令和密码,以确保数据的安全性,成功登录的用户,可以插入员工的信息和工资,并对员工的信息和工资进行增、删、改操作。

基于上述想法,我们将员工数据保存到数据库中。

我们要求系统能够高效快速的处理数据,并且要保证数据的正确性、相容性和安全性。

所以在数据库中需要定义很多触发器,比如删除了某个员工的信息则删除对应的所有工资信息、活着删除了某部门则删除该部门所有的信息等。

所以我们要从数据库中读取数据,并且和界面联系起来,同时也能将用户界面上的数据存储到数据库中。

以上是设计此系统应该注意的地方和设计原则,以下就是遵循这些原则和标准设计出的一套完整的管理系统。

一系统需求:根据题目需求,可以把系统分为三个部分:部门信息管理部分、职员信息管理部分和工资信息管理部分。

工资管理系统C++编程实验报告材料

工资管理系统C++编程实验报告材料

标准文档——《C++程序设计》课程综合实习实习题目:工资管理系统系别:计算机系 ___专业:计算机与科学班级:姓名:学号:指导教师:日期: 2015年12月27日_目录一、课程实习的题目、任务与要求 (2)1.课程实习的题目 (2)2.课程实习内容 (2)3.课程实习的要求 (2)二、系统分析 (2)1.需求分析 (2)2.系统性能要求 (3)3.系统的功能分析 (3)4.系统功能模块 (3)5.模块框架图 (3)三、系统设计与实现 (4)1.界面设计 (4)2.功能设计与实现 (4)四、运行及测试结果 (5)五、总结 (5)六、参考资料 (6)附录:源程序 (6)一、课程实习的题目、任务与要求1.课程实习的题目工资管理系统2.课程实习内容(1)存储的数据包括:员工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等)。

实发工资=基本工资+补贴金额+奖励金额-扣除金额。

(2)按职工号增加、删除、修改记录功能;(3)查询功能,包括按姓名、职工号查询;(4)排序功能,按指定的关键字(如职工号、姓名、实发工资)排序。

3.课程实习的要求根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序,对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能。

包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计等。

二、系统分析1.需求分析a.能对员工工资信息进行录入。

b.能对员工工资信息进行增加。

c.能对员工工资进行删除。

d.能对员工工资进行修改。

e.能对员工按实发工资,姓名,进行查询。

f.能输出员工工资的所有数据。

g.能对员工工资信息按实发工资、员工号进行排序。

2.系统性能要求a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d易于维护和扩充。

3.系统的功能分析资料维护:系统维护包括对员工工资信息的录入操作及数据表中的信息进行浏览。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

——《C++程序设计》课程综合实习实习题目:工资管理系统系别:计算机系 ___专业:计算机与科学班级:姓名:学号:指导教师:日期: 2015年12月27日_目录一、课程实习的题目、任务与要求1.课程实习的题目工资管理系统2.课程实习内容(1)存储的数据包括:员工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等)。

实发工资=基本工资+补贴金额+奖励金额-扣除金额。

(2)按职工号增加、删除、修改记录功能;(3)查询功能,包括按姓名、职工号查询;(4)排序功能,按指定的关键字(如职工号、姓名、实发工资)排序。

3.课程实习的要求根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序,对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能。

包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计等。

二、系统分析1.需求分析a.能对员工工资信息进行录入。

b.能对员工工资信息进行增加。

c.能对员工工资进行删除。

d.能对员工工资进行修改。

e.能对员工按实发工资,姓名,进行查询。

f.能输出员工工资的所有数据。

g.能对员工工资信息按实发工资、员工号进行排序。

2.系统性能要求a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d易于维护和扩充。

3.系统的功能分析资料维护:系统维护包括对员工工资信息的录入操作及数据表中的信息进行浏览。

系统功能:可以对数据表中的信息进行浏览。

系统查询:可以对员工工资信息进行查询。

4.系统功能模块员工查询系统有:工资信息录入、增加、删除、修改,数据查询,排序显示构成。

5.模块框架图三、系统设计与实现1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。

通过cout语句排列而成。

2.功能设计与实现应用系统主控界面主要包括三大模块:记录编辑、记录查询、排序。

(一)记录编辑(1)数据录入数据录入是通过cin输入数据,然后用文件“工资表.txt”来作以储存。

(2)增加员工数据增加员工数据是通过cin输入数据,然后用文件“工资表.txt”来作以储存。

(3)删除员工数据删除员工数据是通过cin语句输入要删除的员工信息,然后使用if语句在“工作表”中寻找名字判断是否相等,最后在文件中删除。

(4)修改员工数据修改员工数据是通过cin语句输入要修改的员工信息,然后使用if语句在“工作表”中寻找名字判断是否相等,再使用cin输入修改的信息,最后储存在文件中。

如果寻找不到则输出“对不起,您要修改的学生不存在!请查证后输入!”。

(二)查询(1)按员工实发工资查询通过输入员工实发工资,在for循环语句中用if语句在“工作表”中寻找实发工资是否与输入的实发工资相等,如果相等就输出该员工信息,如果寻找不到就输出“对不起!您要查询的员工不存在!”。

(2)按员工姓名查询通过输入员工姓名,在for循环语句中用if语句在“工作表”中寻找姓名是否与输入的员工姓名相等,如果相等就输出该员工的信息,如果寻找不到就输出“对不起!您要查询的员工不存在!”。

(3)浏览所有员工工资信息直接输出“工作表”中的数据。

(三)排序(1)按实发工资排序先让实发工资数组赋给a[100],再通过双重for语句依次将a[n]小的调到前面,排序完后再通过双重for循环输出排序后的相关信息。

(2)按员工号排序先让员工号数组赋给a[100],再通过双重for语句依次将a[n]小的调到前面,排序完后再通过双重for循环输出排序后的相关信息。

在每个case中都有一个判断是否继续运行次case和一个是否进行其他操作。

在case4/5/6/8/9开头都有一个判断语句,判断系统中是否有数据,没有数据则结束此case,有则继续执行下一条语句。

四、运行及测试结果每一个case都能执行,但是有些的地方还都不够完善,例如:删除数据中,本来没有该员工信息,它也依然显示删除成功。

五、总结此次C++程序设计课程综合实习,让我们学会了如何用C++编写一个简单的应用程序。

首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。

程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。

根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。

理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。

我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。

六、参考资料龚静李娟芳.C++语言程序设计.西安:西北工业大学出版社,2013.附录:源程序#include<iostream>#include<fstream>#include<string>#include<sstream>#include<iomanip>using namespace std;class Money{string name;float Wage,Subsidy,Reward,Deduct,SumWage;int number;public:Money(){};Money(int num,string n,float W,float S,float R,float D);float getSumWage();xt",ios::out|ios::app);xt can not open.\n";return;}outfile<<"员工号:"<<number<<" 姓名:"<<name<<endl<<"基本工资:"<<Wage<<" 补贴工资:"<<Subsidy<<" 奖励工资:"<<Reward<<" 扣除工资:"<<Deduct<<" 实发工资:"<<SumWage<<endl;();("工资表.txt",ios::in);if(!file){cout<<"工资表.txt can not open.\n";return;}char ch;while(ch))cout<<ch;xt",ios::out|ios::app);if(!file){cout<<"工资表.txt can not open.\n";return;}outfile<<"员工号:"<<number<<" 姓名:"<<name<<endl<<"基本工资:"<<Wage<<" 补贴工资:"<<Subsidy<<" 奖励工资:"<<Reward<<" 扣除工资:"<<Deduct<<" 实发工资:"<<SumWage<<endl;();("工资表.txt",ios::in);if(!file){cout<<"工资表.txt can not open.\n";return;}char h;while(h)){cout<<h;}cout<<endl;();j++;s[i]=new Money(number,name,Wage,Subsidy,Reward,Deduct); i++;cout<<"员工数据增加成功,想继续录入吗(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"输入的指令无效!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case 3:xt");fstream outfile("工资表.txt",ios::trunc|ios::out); xt",ios::trunc|ios::out);ifstream outf("工资表.txt");f<<();();();if(name!=xingming){cout<<"该员工数据删除成功,想继续删除吗?(y/n)"<<endl;cin>>c;}if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case 4:xt",ios::in);ofstream outfile("工资表.txt",ios::trunc|ios::out);cout<<endl;while(!()) xt",ios::trunc|ios::out);fstream inf("工资表.txt",ios::in);outf<<()<<endl;();();}if(flag=0){cout<<"对不起,您要修改的学生不存在!请查证后输入!"<<endl;}cout<<"想继续修改吗(y/n):";cin>>c;cout<<endl;if(c!='y'&&c!='n'){cout<<" 输入的指令无效!请重新输入!"<<endl<<" ";cin>>c;}}while(c=='y');break;}case 5:ame<<endl;cout<<"该员工的工资信息为:"<<endl;cout<<"员工号:"<<(*s[j]).number<<" 姓名:"<<(*s[j]).name<<endl<<"基本工资:"<<(*s[j]).Wage<<" 补贴工资:"<<(*s[j]).Subsidy<<" 奖励工资:"<<(*s[j]).Reward<<" 扣除工资:"<<(*s[j]).Deduct<<" 实发工资:"<<(*s[j]).SumWage<<endl;}}if(flag==0)cout<<"对不起!您要查询的员工不存在!"<<endl;cout<<"是否继续查?(y/n):";cin>>c;if(c!='y'&&c!='n'){cout<<"输入的指令无效!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case 6:ame<<endl;cout<<"该生的工资信息是:\n员工号:"<<(*s[j]).number<<endl<<"基本工资:"<<(*s[j]).Wage<<" 补贴工资:"<<(*s[j]).Subsidy<<" 奖励工资:"<<(*s[j]).Reward<<" 扣除工资:"<<(*s[j]).Deduct<<" 实发工资:"<<(*s[j]).SumWage<<endl;}}if(flag==0){cout<<"对不起您要查询的员工不存在,请查证后再输入!"<<endl;}cout<<"您想继续查询吗?(y/n):";cin>>c;if(c!='y'&&c!='n'){cout<<"输入的指令无效!请重新输入:"<<endl;cin>>c;}}while(c=='y');break;}case 7:xt",ios::in);cout<<();();break;}case 8:etSumWage();j++;}for(h=0;h<i;h++){for(n=0;n<i-h;n++)if(a[n]>a[n+1]){temp=a[n];a[n]=a[n+1];a[n+1]=temp;}}for(n=1;n<=i;n++){for(int j=0;j<i;j++){if(s[j]->getSumWage()==a[n]){cout<<"实发工资排第"<<n<<"的员工是:"<<(*s[j]).name<<" 实发工资:"<<(*s[j]).SumWage<<endl;}}}break;}case 9:umber;j++;}for(h=0;h<i;h++){for(n=0;n<i-h;n++)if(a[n]>a[n+1]){temp=a[n];a[n]=a[n+1];a[n+1]=temp;}}for(n=1;n<=i;n++){for(int j=0;j<i;j++){if(s[j]->number==a[n]){cout<<"第"<<n<<"位员工是:"<<(*s[j]).name<<" 员工号:"<<(*s[j]).number<<" 实发工资:"<<(*s[j]).getSumWage()<<endl;}}}break;}case 0:{exit(0);}}cout<<" 您想继续进行其他操作吗?(y/n):";int flag=0;do{cin>>w;cout<<endl;if(w!='y'&&w!='n')cout<<"输入的指令无效!请重新输入!"<<endl;elseflag=1;}while(flag==0);if(w=='y'){cout<<"******************************************************************** ***********"<<endl;cout<<"******************************************************************** ***********"<<endl;cout<<"******************************************************************** ***********"<<endl;cout<<"*******███████***-----欢迎来到工资管理系统--------***████████***"<<endl;cout<<"*****█*****************------请选择您需要的操作!-------***********█*********"<<endl;cout<<"***█*******************-操作:--------------------------***********█*********"<<endl;cout<<"***█*******************-----(1)数据录入-----------------***********█*********"<<endl;cout<<"***█*******************-----(2)增加员工数据-------------***********█*********"<<endl;cout<<"***█*******************-----(3)删除员工数据-------------***********█*********"<<endl;cout<<"***█*******************-----(4)修改员工数据-------------***********█*********"<<endl;cout<<"***█*******************-查询:--------------------------***********█*********"<<endl;cout<<"***█*******************-----(5)按员工号查询-------------***********█*********"<<endl;cout<<"***█*******************-----(6)按姓名查询---------------***********█*********"<<endl;cout<<"***█*******************-----(7)浏览所有学生的数据-------***********█*********"<<endl;cout<<"***█*******************-排序:--------------------------***********█*********"<<endl;cout<<"*****█*****************-----(8)按实发工资排序-----------*****█****█*********"<<endl;cout<<"*******███████***-----(9)按员工号排序-------------*******██***********"<<endl;cout<<"************************-----(0)退出---------------------**********************"<<endl;cout<<"******************************************************************** ***********"<<endl;cout<<"******************************************************************** ***********"<<endl;cin>>p;}}while(w=='y');}。

相关文档
最新文档