您好,欢迎来到万书网,千万量级范文库任你选!

当前位置:首页 > 范文大全 > 三号文库

选题一_小型公司工资管理系统

说明:文章内容所见即所得,本站下载的DOCX文档与页面上展示的相同。如下载word有问题请添加客服QQ:4084380 发送本文地址给客服即可处理(尽可能给您提供完整文档),感谢您的支持与谅解。本文地址:https://www.wanshu.net/fanwen/a3/368010.html

第一篇:选题一_小型公司工资管理系统

小型公司工资管理系统一、设计任务

编写一个小型公司的工资管理程序。该公司主要有4类人员:经理、兼职技术人员、销售员和销售经理。其中月薪计算方法为:经理固定月薪8000元,兼职技术人员100元/小时,销售员为其当月销售额的4%,销售经理保底工资5000元另加其所管部门销售额的5‰。

二、设计要求

1、使用文件存储相关信息(可用多个文件,存储人员信息、销

售员销售额等等)。

2、能实现人员信息的录入及增删改,人员信息包括编号、姓

名、职位、部门等等,人员编号自动产生(即无需用户输入,从10000起编号)。

a)删除(针对人员离职)后该人员过往的销售记录还应保留,查寻以前的销售情况或工资清单时仍显示该员工记录; b)改是针对人员职位变动,仅能更改职位。

3、能录入某月各销售员的销售额(自行设计操作方式,方便用

户操作),可列出某月的销售额清单。

4、能列出某月的工资清单,可按多种方式排序(按员工编号、工资升序、工资降序、按职位等)。

5、其他未尽事项可自行设计,遵循合理及易用的原则。

第二篇:小型公司工资管理系统--(完结)

中国石油大学(华东)信息与控制工程学院

《程序设计实习》报告

小型公司工资管理系统的设计

名:Yuppies Liu 时 间:2024.7.14~2024.7.17

2024年7月

目录

一、实习内容…………………………………………………………………………1

二、设计思路…………………………………………………………………………2

三、程序代码清单……………………………………………………………………3

四、运行结果…………………………………………………………………………10

五、程序使用说明……………………………………………………………………16

六、总结及心得体会…………………………………………………………………17

程序设计实习报告

一、实习内容 题目:《小型公司管理系统的设计》设计 2.设计说明与基本要求

(1)公司主要有4类人员:经理、技术员、销售员、销售经理。

要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。(2)工资的计算方法

A 经理:固定月薪为8000元;

B技术员:工作时间*小时工资(100元/小时); C销售员:销售额*4%提成;

D销售经理:底薪(5000元)+所辖部门销售额总额*0.5%。(3)员工基本数据的输入

要求每类人员不能少于4人,其中销售员需要8名,每名销

售经理手下有2名销售员。

(4)各类的数据成员访问权限设置为:protected 3.实现基本功能

(1)数据输入:输入各种数据

(2)数据的输入 :统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行的帽泡排序;

(3)数据打印:打印各类员工的数据信息;

(4)数据备份

(5)退出:退出本系统

备注:可适当扩充程序功能,功能扩充得当可加分 4.菜单说明

(1)数据录入指通过键盘输入各类员工的各项数据

(2)数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行的冒泡排序

(3)数据的打印指按照表格的格式在屏幕上输出各员工的数据信息(4)数据的备份指把各类员工的数据信息写入文件中保存(5)退出:结束程序的运行

程序设计实习报告

二、设计思路

在这个公司中有四类人员:经理、兼职技术人员、销售员要存储的信息有姓名、编号、性别、年龄、工资、销售额、所属经理编号.由于所有职员有相同的成员如编号(num)、姓名(name)、性别(sex)、年龄(age)、工资(wage)。所以可将所有信息归纳为一个职员类(Guyuan),将其作为一个基类,然后派生出子类,实现各类人员不同的信息(如工资计算),由于销售经理具有销售员和经理的特性,所以销售经理采用多重继承的关系,继承销售员和经理的两个类,为避免二义性将employee定义为虚基类,可用下图表示:

题目中假设公司有2名技术员、4名销售员、经理和销售经理各2名,所以用对象数组的方式,利用循环语句来实现人员的输入和输出,整个程序设计如下: 基类雇员类:

数据成员有职工号、姓名、年龄、性别、月工资; 成员函数只有姓名、年龄、性别的设置函数。技术员类:继承基类 数据成员增加了工作时间;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数。经理类:继承基类 数据成员未增加;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数。销售员类:继承基类

数据成员多了销售额、所属经理编号;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数、销售额返回函数、所属经理编号输出函数。销售经理类:继承基类 数据成员未增加;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数、统计函数所属函数。

程序设计实习报告

三、程序代码清单

#include #include #include #include using namespace std;ofstream outfile(“f1.txt”,ios::out);class Guyuan {public: int num,age;string name;char sex;int wage;};class Jishuyuan: protected Guyuan {public: int time;

void set_jishuyuan(){cout<<“技术员编号:”;cin>>num;cout<

cout<<“其姓名:”;cin>>name;

cout<

cout<<“性别(m/w):”;cin>>sex;

cout<

cout<<“年龄:”;cin>>age;

cout<

cout<<“工作时间:”;cin>>time;

cout<

wage=time*100;}

void show_jishuyuan()

{cout<<“┃”<void show_jishuyuan4()

{outfile<<”┃“<void set_jingli()

{cout<<”经理的编号:“;cin>>num;cout<

cout<<”其姓名:“;cin>>name;

cout<

cout<<”其性别(m/w):“;cin>>sex;

cout<

cout<<”年龄:“;cin>>age;cout<

wage=8000;}

void show_jingli()

{cout<<”┃“<

┃┃

┃┃

程序设计实习报告

“<{outfile<<”┃“<┃┃“<

class Xiaoshouyuan:protected Guyuan {public:

void set_xiaoshouyuan()

{cout<<”销售员的编号:“;cin>>num;

cout<

cout<<”其姓名:“;cin>>name;

cout<

cout<<”性别(m/w):“;cin>>sex;

cout<

cout<<”年龄:“;cin>>age;

cout<

cout<<”销售额:“;cin>>sell;

cout<

cout<<”所属销售经理的编号:“;cin>>belong;cout<

wage=sell*4/100;}

void show_xiaoshouyuan()

{cout<<”┃“<

void show_xiaoshouyuan2()

{cout<<”┃“<void show_xiaoshouyuan4()

{outfile<<”┃“<int shu_jingli()

{return num;}

void set_xiaoshoujingli()

{ cout<<”销售经理的编号:“;cin>>num;cout<

cout<<”其姓名:“;cin>>name;cout<

cout<<”性别(m/w):“;cin>>sex;cout<

cout<<”年龄:“;cin>>age;cout<

{cout<<”┃“<

┃┃

┃┃

程序设计实习报告

“<void show_xiaoshoujingli4()

{outfile<<”┃“<void show_wage()

{cout<

{wage=5000+sum*0.5/100;} };void disp(){ cout<<”

★★小型公司工资管理系统★★

“<

cout<<”

┏━━━━━━━━━━━━┓

“<

cout<<”

┃ 请选择您所需要的操作

“<

cout<<”

┃ 数据输入: 1,并按回车键 ┃

“<

cout<<”

┃ 数据统计: 2,并按回车键 ┃

“<

cout<<”

┃ 数据打印: 3,并按回车键 ┃

“<

cout<<”

┃ 数据备份: 4,并按回车键 ┃

“<

cout<<”

┃ 退出系统: 5,并按回车键 ┃

“<

cout<<”

┗━━━━━━━━━━━━┛

“<

cout<

cout<<”请选择一个操作:

“;

} int main(){

const int n=2;

int i,w;

Jishuyuan a[n];

Jingli b[n];

Xiaoshouyuan c[2*n];

Xiaoshoujingli d[n];

disp();while(1){cin>>w;switch(w){case 1: { {for(i=0;i

a[i].set_jishuyuan();cout<<”*******************************************************“<

b[i].set_jingli();cout<<”*******************************************************“<

c[i].set_xiaoshouyuan();

程序设计实习报告

cout<<”*******************************************************“<

d[i].set_xiaoshoujingli();cout<<”*******************************************************“<

for(j=0;j

{ sum[j]=0;

cout<<”职工号为“;d[j].show_num();cout<<”销售经理“;d[j].show_name();cout<<”下属销售员的业绩为:“<

cout<<”┏━━━━━━━┳━━━━━━━┳━━━━━━━┓“<

cout<<”┃

职工号

姓名

销售额

┃“<

for(i=0;i<2*n;i++)

{if(c[i].belong==d[j].shu_jingli())

{cout<<”┣━━━━━━━╋━━━━━━━╋━━━━━━━┫“<

c[i].show_xiaoshouyuan();

sum[j]=sum[j]+c[i].sell;}}

cout<<”┣━━━━━━━╋━━━━━━━┻━━━━━━━┫“<

cout<<”┃“<<”销售额总计

┃“<

cout<<”┗━━━━━━━┻━━━━━━━━━━━━━━━┛“<

cout<<”┃

职工号

姓名

性别

年龄

工资

┃“<

Xiaoshoujingli x;double y;for(i=0;i

for(j=0;j

if(sum[i]

{x=d[i];d[i]=d[j];d[j]=x;y=sum[i];sum[i]=sum[j];sum[j]=y;}

for(i=0;i

{ cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“<

d[i].wage_sum(sum[i]);

d[i].show_xiaoshoujingli();}

cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“<

disp();};break;}

程序设计实习报告

case 3:{ { int i;cout<<”请等待......“<

cout<<”┃

职工号

姓名

性别

年龄

工资

┃“<

for(i=0;i

{ cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“<

a[i].show_jishuyuan();}

cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“<

cout<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“<

cout<<”┃

职工号

姓名

性别

年龄

工资

┃“<

for(i=0;i

{ cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“<

cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“<

cout<<”*******************************************************“<

cout<<”销售经理“<

cout<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“<

cout<<”┃

职工号

姓名

性别

年龄

工资

┃“<

for(i=0;i

{ cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“<

d[i].show_xiaoshoujingli();}

cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“<

cout<<”┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━┓“<

程序设计实习报告

cout<<”┃ 职工号 ┃ 姓名

性别

年龄

工资

┃ 所属部门经理编号 ┃“<

for(i=0;i

{ cout<<”┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫“<

c[i].show_xiaoshouyuan2();}

cout<<”┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━┛“<

disp();};break;} case 4:{{ int i;outfile<<”职工基本情况一览表如下“<

outfile<<”┃

职工号

姓名

性别

年龄

工资

┃“<

for(i=0;i

{ outfile<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“<

outfile<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“<

职工号

姓名

性别

年龄

工资

┃“<

outfile<<”*******************************************************“<

outfile<<”销售经理“<

outfile<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“<

outfile<<”┃

职工号

姓名

性别

年龄

程序设计实习报告

工资

┃“<

for(i=0;i

{ outfile<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“<

d[i].show_xiaoshoujingli4();}

outfile<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“<

outfile<<”*******************************************************“<

outfile<<”销售员“<

outfile<<”┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━┓“<

outfile<<”┃ 职工号 ┃ 姓名

性别

年龄

工资

┃ 所属部门经理编号 ┃“<

for(i=0;i

{ outfile<<”┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫“<

c[i].show_xiaoshouyuan4();}

outfile<<”┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━┛“<

outfile<<”***********************************************************************“<

outfile.close();

disp();};break;} case 5:{ {exit(0);};break;} default:{{cout<<”

选择错误,请重新选择!"<

disp();};break;} }

}

return 0;}

程序设计实习报告

四、运行结果

★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 1 技术员编号:101

其姓名:zhang1

性别(m/w):w

年龄:27

工作时间:56

技术员编号:102

其姓名:wang1

性别(m/w):m

年龄:27

工作时间:58

******************************************************* 经理的编号:201

其姓名:wang2

其性别(m/w):w

年龄:34

经理的编号:202

程序设计实习报告

其姓名:36

其性别(m/w):m

年龄:36

******************************************************* 销售员的编号:301

其姓名:zhang3

性别(m/w):m

年龄:28

销售额:50000

所属销售经理的编号:401

销售员的编号:302

其姓名:wang3

性别(m/w):w

年龄:32

销售额:54000

所属销售经理的编号:401

销售员的编号:303

其姓名:wan1

性别(m/w):w

年龄:35

销售额:60000

所属销售经理的编号:402

销售员的编号:304

程序设计实习报告

其姓名:wan2

性别(m/w):m

年龄:26

销售额:80000

所属销售经理的编号:402

******************************************************* 销售经理的编号:401

其姓名:sun

性别(m/w):w

年龄:36

销售经理的编号:402

其姓名:liu

性别(m/w):w

年龄:29

******************************************************* ★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 2 职工号为401销售经理sun下属销售员的业绩为:

程序设计实习报告

┏━━━━━━━┳━━━━━━━┳━━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 销售额 ┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 301┃ zhang3┃ 50000┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 302┃ wang3┃ 54000┃ ┣━━━━━━━╋━━━━━━━┻━━━━━━━┫ ┃销售额总计 ┃ 104000 ┃ ┗━━━━━━━┻━━━━━━━━━━━━━━━┛ 职工号为402销售经理liu下属销售员的业绩为:

┏━━━━━━━┳━━━━━━━┳━━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 销售额 ┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 303┃ wan1┃ 60000┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 304┃ wan2┃ 80000┃ ┣━━━━━━━╋━━━━━━━┻━━━━━━━┫ ┃销售额总计 ┃ 140000 ┃ ┗━━━━━━━┻━━━━━━━━━━━━━━━┛ 销售经理按工资排序为:

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 402┃ liu┃ w┃ 29┃ 5700┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 401┃ sun┃ w┃ 36┃ 5520┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛

★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 3 请等待......职工基本情况一览表如下 技术员

程序设计实习报告

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 101┃ zhang1┃ w┃ 27┃ 5600┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 102┃ wang1┃ m┃ 27┃ 5800┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 经理

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 201┃ wang2┃ w┃ 34┃ 8000┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 202┃ 36┃ m┃ 36┃ 8000┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 销售经理

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 402┃ liu┃ w┃ 29┃ 5700┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 401┃ sun┃ w┃ 36┃ 5520┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 销售员

┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ 所属部门经理编号 ┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 301┃ zhang3┃ m┃ 28┃ 2024┃ 401┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 302┃ wang3┃ w┃ 32┃ 2160┃ 401┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 303┃ wan1┃ w┃ 35┃ 2400┃ 402┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 304┃ wan2┃ m┃ 26┃ 3200┃ 402┃ ┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━┛ *********************************************************************** ★★小型公司工资管理系统★★

程序设计实习报告

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 4 ★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 5 Press any key to continue

程序设计实习报告

五、程序的使用说明

1.程序中各类人员个数默认为2个,销售员默认为4个。2.请输入销售人员信息后再输入销售经理的信息。

3.输入时,除姓名、性别外,其余各项请勿输入除数字以外的字符。4.输入数据时若出现无限循环的现象,请重新执行程序并输入信息。

5.未输入信息时,打印或备份,各类人员除姓名性别为空外,其余各项均为0。6.重复输入某类人员数据时,可覆盖上一次输入的该类人员的数据。7.程序中输出文件位置默认为C盘,若有需要请自行更改。

程序设计实习报告

六、总结及心得体会

通过四天的编程,我对C++有了更深一步的认识。

要做一个简单的管理系统,首先就要进行需求分析。我们要做的这个系统,简单的说就只包含五个类(包括基类),主函数执行输入、统计、输出、打印、退出五个基本功能。我为了让函数尽可能的少出现错误,一开始就把五个功能设为五个基本功能函数,主函数中仅留循环控制结构。

对类的层次分析,题目已经给出,我所要做的就是添加成员函数,这在设计思路中已经明确。各个功能函数在基类中都有对应的下属函数,这样功能函数也就能跟清晰,只要仔细,不容易出错。

编程第一步是搭框架,由于本次的实习内容简单,准备充足,上机时也很顺利,很快就有了预期的结果。但接下来添加上函数时开始出现错误,并且错误越改越多。经过一天的努力,总算将其中的错误一一清除,并把第三天的数据打印和退出系统一块弄了出来。对于第四部分的数据备份还是没有发现错误原因。经过询问老师才使问题得到解决,在使用备份时需要在前面声明。

整个程序,其实就只有数据备份不太熟悉。备份的问题已解决,所有的问题就迎刃而解了。第四天我就做完了所有的程序,但总觉得写的程序不够完美,程序中,销售员的销售额和所属经理编号定义为了公有部分;各种函数直接在类内定义的,减少了错误的出现,同时使程序不够美观,简练。

通过这次的C++编程实习,使我对这门课程有了更深的认识,不再是仅仅停留在了解的阶段,更是在其应用之上。在整个实习过程中自身还是存在不少不足,主要有以下几点: 1.对知识掌握不够熟悉,不少问题拿不准,需要查看课本去解决。2.输程序时不够认真仔细,漏掉大括号或分号。3.检查错误时较烦躁,导致效率低下。4.平时的预习准备不够全面认真。

5.在平时的学习中,知识掌握的不够牢靠,在使用时,不少地方拿不准,使程序编写速度不够快。

通过此次的编程实习,使我体验到编程的快乐,也使我对编程有了一个更深层次的认识,同时提高了我对编程的兴趣。感谢这学期来老师对我们的教导,在以后的学习中,我继续努力,弥补自己存在的不足之处。

程序设计实习报告

第三篇:中国石油大学c++实习报告 小型公司工资管理系统(小文档网推荐)

中国石油大学(华东)信息与控制工程学院

《程序设计实习》报告

小型公司工资管理系统的设计

专业班级:电子11级 学

号: 姓

名:

时 间:2024.09.01~2024.09.07

2024年9月

目录

一、实习内容„„„„„„„„„„„„„„„„„„„„„„„„„„„„1

二、设计思路„„„„„„„„„„„„„„„„„„„„„„„„„„„„2

三、程序清单„„„„„„„„„„„„„„„„„„„„„„„„„„„„3

四、运行结果„„„„„„„„„„„„„„„„„„„„„„„„„„„„14

五、程序使用说明„„„„„„„„„„„„„„„„„„„„„„„„„„21

六、总结及心得体会„„„„„„„„„„„„„„„„„„„„„„„„„2

2程序设计实习报告

一、实习内容

设计一个简单的《小型公司管理系统》。了解系统开发的需求设计、类层次设计、模版分析、模块组装与整体调试的过程;熟悉程序设计的方法。

1..题目:小型公司工资管理系统的设计

2.设计说明与基本要求:

(1)公司主要有4类人员: 经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、性别、年龄、月工资等信息;

(2)工资的计算方法:

经理:固定月薪为8000元; 技术员:工作时间×工资(100元/小时); 销售员:销售额×4%提成; 销售经理:底薪(5000元)+下属销售员销售额总额×0.5%;

(3)员工基本数据的输入: 要求每类人员不能少于4人,其中销售员需要8名,每名销售经理手下有2名销售员。

3.实现的基本功能:数据输入、数据统计、数据打印、数据备份、退出。(应用程序中要有菜单,用于选择各项功能)

4.菜单说明

① 数据输入要通过键盘;

② 统计是统计销售经理下属销售员的销售额及销售额之和,销售经理按工资冒泡排序;

③ 数据打印是以表格形式在屏幕上输出; ④ 数据备份是将所有的员工信息保存到文件; ⑤ 退出:结束程序运行。

程序设计实习报告

二、设计思路

1.类的结构

先创建了一个Employer基类.然后派生出四个类: Manager、Technician、Salesman、Salemanager。分别对经理、技术员、销售员、销售经理的数据进行输入。

然后选用了一个switch的多分枝选择结构,依次据菜单的选择条件执行数据的输入、数据统计、数据打印、数据备份和退出等。

数据的备份要用到fstream类,用来支持对磁盘文件的输入输出。对于switch,结束循环用到exit函数。此函数的参数为任意整数。

程序设计实习报告

三、程序清单

#include #include #include #include using namespace std;class employee

{ public: int get1();string get2();char get3();int get4();protected: int num,age;

string name;double pay;char sex;};int employee::get1(){return num;} string employee::get2(){return name;} char employee::get3(){return sex;} int employee::get4(){return age;} class technician:public employee {

程序设计实习报告

protected: int hour;public: void display1(){cout<<“技术员编号:”;cin>>num;

cout<<“技术员姓名:”;cin>>name;cout<<“技术员年龄:”;cin>>age;

cout<<“技术员性别(m/w):”;cin>>sex;cout<<“技术员工作时间:”;cin>>hour;

} double get_pay();int get_time();};double technician::get_pay(){ pay=100*hour;return pay;} int technician::get_time(){return hour;} class manager:public employee

{public: void display2(){ cout<<“经理编号:”;cin>>num;

cout<<“经理姓名:”;cin>>name;

cout<<“经理性别(m/w):”;cin>>sex;

cout<<“经理年龄:”;cin>>age;

} double get_pay(){pay=8000;return pay;}

程序设计实习报告

};class salesman:public employee

{ protected: int number;double sales_volume;public: void display3(){cout<<“销售员编号:”;cin>>num;

cout<<“销售员姓名:”;cin>>name;

cout<<“销售员性别(m/w):”;cin>>sex;

cout<<“销售员年龄:”;cin>>age;

cout<<“销售员的销售额:”;cin>>sales_volume;

cout<<“所属销售经理的编号:”;cin>>number;

} int numb(){return number;} double sa(){return sales_volume;} double get_pay(){return sales_volume*0.04;} };class salesmanager:public manager

{ public: void display4(){cout<<“销售经理的编号:”;cin>>num;

cout<<“销售经理的姓名:”;cin>>name;

cout<<“销售经理的性别(m/w):”;cin>>sex;

程序设计实习报告

cout<<“销售经理的年龄:”;cin>>age;

} };void excel(){ cout<<“

★★小型公司工资管理系统★★”<

cout<<”

cout<<“

cout<<”

cout<<“

cout<<”

cout<<“

cout<<”

cout<<“请选择一个操作:”;} void main(){int i,j,x,k,y;char a;double mo[4],mone[4];excel();technician t[4];manager m[4];

salesman s[8];

salesmanager sm[4];

cin>>j;while(j==1||j==2||j==3||j==4||j==5){switch(j){case 1: {for(i=0;i<4;i++)

“<

请选择您所需的操作

│”<

│ “<

│”<

│“<

│”<

│“<

┌─────────────┐ │

│ │

└─────────────┘程序设计实习报告

{t[i].display1();

cout<<“-------------”<

cout<<“-------------”<

{s[i].display3();

cout<<“-------------”<

{sm[i].display4();

cout<<“-------------”<

excel();

cin>>j;} break;case 2: {

for(i=0;i<4;i++){cout<<“职工号为”<

cout<<“┌─────┬─────┬─────┐”<

cout<<“│

职工号

姓名

│ 销售额

│”<

cout<<“├─────┼─────┼─────┤”<

double money=0;

for(x=0;x<8;x++)

{

if(s[x].numb()==sm[i].get1())

{

money=money+s[x].sa();

mone[i]=money*0.005+5000;

程序设计实习报告

mo[i]=money*0.005+5000;

cout<<“│”<

cout<<“├─────┼─────┴─────┤”<

}

}

cout<<“│销售额总计│”<

cout<<“└─────┴───────────┘”<

cout<<“│

职工号

姓名

性别

年龄 │

工资 │”<

cout<<“├─────┼─────┼─────┼────┼────┤”<

”<

│”<

程序设计实习报告

cout<<“-----------”<>j;break;} case 3:

{ {cout<<“请等待„”<

职工基本情况一览表如下”<

”<

│”<

cout<<”└────┴────┴────┴────┴────┘“<

程序设计实习报告

cout<<”│“<

“<

│“<

cout<<”└────┴────┴────┴────┴────┘“<

“<

│“<

cout<<”└────┴────┴────┴────┴────┘“<

程序设计实习报告

“<

cout<<”└────┴────┴────┴────┴────┘“<

} cout<<”-----------------------------“<>j;break;} case 4:

{ ofstream outfile;

//类,对象

outfile.open(”copy.txt“,ios::out);

//文件关联 cout<<”数据备份...“<

职工的基本情况:“<

outfile<<”

1、技术员资料“<

outfile<<”┌────┬────┬────┬────┌────┐“<

outfile<<”│ 职工号│ 姓名 │ 性别 │ 年龄 │

工资 │“<

outfile<<”│“<

“<

│“<

} outfile<< ”└────┴────┴────┴────┴────┘“<

outfile<<”

2、销售员的资料“<

outfile<<”┌────┬────┬────┬────┬────┐“<

程序设计实习报告

outfile<<”│ 职工号│ 姓名 │ 性别 │ 年龄 │ 工资 │“<

{outfile<<”├────┼────┼────┼────┼────┤“<

“<

│“<

} outfile<<”└────┴────┴────┴────┴────┘“<

outfile<<”

3、销售经理的资料“<

outfile<<”┌────┬────┬────┬────┬────┐“<

outfile<<”│“<

“<

│“<

outfile<<”

4、经理的资料“<

outfile<<”┌────┬────┬────┬────┬────┐“<

程序设计实习报告

outfile<<”│ 职工号│ 姓名 │ 性别 │ 年龄 │ 工资 │“<

“<

│“<

} outfile<<”└────┴────┴────┴────┴────┘“<

cout<<”备份ok!成功备份到cpp文件中。“<

outfile.close();

//将关联文件关闭 cout<>j;break;} case 5: {cout<<”您真的要退出吗?(Y/N)“<>a;if(a=='Y')exit(100);else if(a=='N')excel();

} } } cin>>j;break;}

程序设计实习报告

四、运行结果

程序设计实习报告

程序设计实习报告

程序设计实习报告

程序设计实习报告

程序设计实习报告

程序设计实习报告

程序设计实习报告

五、程序的使用说明

运行程序后,根据菜单栏的提示选择操作。

输入“1”回车后,进入职工基本数据输入栏,在这里,要将所有的技术员、销售员、销售经理、经理的职工号、姓名、性别、工作时间等信息输入程序中。

职工的数据输入完成后自动跳转到菜单栏,选择“2”回车后进入到数据统计界面,程序会自动对你输入的各销售经理下属销售员的销售额及销售额之和进行统计,并对销售经理按工资进行排序。

数据统计完成后,选择“3”,程序会对你输入的职工基本信息进行打印,打印结果显示在控制台下。

在菜单栏中继续选择“4”后,程序将对所有的员工信息进行打印并保存到文件中。

最后选择“5”,根据提示是否退出本程序,输入“Y”,结束程序执行;输入“N”,返回主菜单继续进行程序。

程序设计实习报告

六、总结及心得体会

一学期的c++和实习结束了,感觉学到了很多东西。在这里对这一学期学习C++的学习做一总结,对将来的学习、工作会很有用处。从对C++的学习我知道了对学习就要在刚开始时多下功夫,首先要把基础打好,彻底把知识点弄透彻,这样后面的才能学懂。

其实要学习c++,想要学好c++,不仅是课堂上是最重要的,还要在课上多多练习,多上机操作,实践是检验真理的唯一标准。也是,通过此次实习,吸取到很多教训,印象最深的就是有一次点击运行的的时候,刚键入几个字符,一回车,整个程序就无限循环了。不过在最后加入一个系统调用函数exit,终于跳出了。所以c++学习不是一朝一夕就能完成的,我们还有很多未知的知识等待去了解,去开发。

纵观整个实习,用到最多的就是类、子类、对象了,还有循环—for、witch,以及一整大个多分枝选择结构switch。还有就是函数的调用也是让我感觉很有兴趣的,这个特别好用,很方便。

通过这次编写的工资管理程序,对于编程有了更多的了解和体会。我想这有利于今后对c++的使用,锻炼我们缜密的思维以及提高我们的独立思考,独立解决问题,综合运用所学知识的能力,提高了上机动手编程的能力和对一些错误处理和解决的能力,更加有助于我对对程序调试的动手能力的提高。这对我们将要来临的计算机二级考试也有很大的帮助,正好趁此机会复习了一下c++大略的知识点。

第四篇:工资管理系统实验报告

信 息 系 统 设 计 与 开 发

系统名称:工资管理系统

开发人员:薛靖峰

学号:1009034122

专业:信息管理与信息系统

(1)编写目的随着社会的发展,中国的中小型企业越来越多,而对企业而言,人力资源是企业最宝贵的资源,也是企业的“生命线”。工资管理又是人力资源管理的重中之重。实行电子化智能化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。实现企业更大的工作效益和利润。提高工作效率,减少人力;节省开支;先前人工劳动的自动化;针对使用企业与人群为中小型的管理者。

(2)背景

借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势,企业要在当今激烈的社会竞争中生存并发展,单靠人工或九十年代的手动,机械化操作是不够的,社会的发展,要求企业要跟上时代的步伐,抓住新时代的新科技的机遇,运用自动化,智能化的电脑管理,实现企业的高效益发展,这其中,企业员工的工资管理,对一个企业起着很关键的作用。因此开发一个能自动化的管理企业员工工资的发放,员工内部信息的管理,企业招聘的管理等功能的系统,对一个企业的发展铺上了一条奔向高速发展的道路。在一个企业中,工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

2、可行性研究的前提

(1)要求

①主要功能:为企业提供工资管理的软件,方便公司进行准确的工资管理。

②性能要求:可以准确登记出勤率以及一些特殊的影响工资的因素,工资的计算及发放等,可以以不同的方式查询工资情况。最重要的是准确。

③输入要求:数据完整、准确,真实。

④输出要求:简洁、快速、实时、可以打印相关的报表,提供一定的视图。

⑤安全与保密要求:本系统的管理员要对该管理系统的安全负责,系统由特定人员修改及进行更新,计算等功能实现。职工只有查询的权利,不能对其中的数据进行修改。上级管理者可以利用视图进行查看,或是打印报表。(2)目标

系统实现后,大大地提高职工工资 管理系统的运行效率,可以减少由人为而导致的纪录及运算错误。可以对某些特殊工资的界定条件进行设定保护,使公司更好的运行。(3)评价尺度:

成本效益分析结果,效益大于成本,技术可行,效益小于成本,技术不可行,现有技术可完全承担开发任务,操作可行,软件可被原工作人员快速接受。(4)

1、管理上的可行性分析 随着市场近几年的发展,公司规模的不断扩大,业务的扩张,为了提高企业的业务水平,为企业简化人事管理,提高商品库存效率,增加公司的业绩。在管理方面已经积累了丰富的管理经验与方法,并建立的成熟的管理制度、齐全的规章制度汇集了正确的原始数据,使管理工作有了制度支持与信息支持。特别是,能够改进企业管理机制,改善决策方式,减少管理成本,提高工作效率。领导的支持对于信息系统的开发和实施有很大作用,也能保证系统在开发过程中妥善解决矛盾,在企业上下顺利实施信息系统,实现信息系统最初的目标。

2、技术上的可行性

随着IT技术的发展,特别是网络技术和数据库技术的发展,在软件开发方面,可以采用现行主流的开发技术;硬件技术方面则可以充分利用日益增强的存储能力、通讯能力和处理速度来保证系统开发技术的准备。由此可见,该系统在技术上具有可行性。

3、经济上的可行性

对于信息系统的初期投资,都是为了以后获得更大的经济效益。通过一定的成本、效益分析,我认为开发这个系统在经济上是可行的。因为虽然系统开发需要初始成本和日后的维护费用,但是,信息系统可以提供比以前更加准确和及时的信息,可以改善领导层的决策方式,促进故那里体制改革和提高工作效率,减少人员费用,这些都是可以在以后的管理过程中体现出来的,并且可以令公司比其他竞争对手更加具有竞争优势,对企业长远的发展有不可忽视的作用。所以,经济上的可行性是肯定的。

4、可行性分析结论

在对系统目标和环境进行分析的基础上,更进一步对系统的技术可行性、经济可行性、营运可行性等方面进行系统的可行性分析研究:

二、组织机构图

三、业务流程图

四、功能结构图

五、数据流程图

1.第一层数据流程图

2.第二层数据流程图

六、数据字典

(1)数据流 数据流编号:D01-03 数据流名:出勤情况

简要说明:每月员工出勤统计情况 数据流来源:人事部

数据流去向:工资信息设置处理

数据流组成:考勤统计时间+出勤天数+迟到早退次数+旷工次数+正常加班次数+特殊加班次数+出差次数(2)数据存储 数据存储编号:F1 数据存储名称:月工资表 简要说明:每月按部门的工资表 数据存储来源:工资核算处理 数据存储去向:工资查询处理 数据存储组成:工资统计时间+基本工资+职务津贴+奖金+福利+加班费+出差费+迟到早退扣发+旷工扣发+其他(3)处理逻辑 编号:P 01-1.2 处理逻辑的名称:工资计算 简述:计算本月所有部门员工工资

输入数据流:基本工资,来自“工资信息设置”处理逻辑 其他项目,来自“工资信息设置”处理逻辑 效益工资,来自“工资信息设置”处理逻辑 出勤情况,来自“工资信息设置”处理逻辑

数据存储组成:工资统计时间+基本工资+职务津贴+奖金+福利+加班费+出差费+迟到早退扣发+旷工扣发+其他

输出的数据流:部门工资,去“月工资表”数据存储 员工个人工资,去“工资单”数据存储(4)外部实体 编号:S04 名称:员工 简述:本单位的员工 输入的数据流:工资单 输出的数据流:确认

七、E-R图

八、对象关系图

九、数据表详情

1、工资表

2、职工表

3、财务表

十、系统截图

系统分析报告

借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势,企业要在当今激烈的社会竞争中生存并发展,单靠人工或九十年代的手动,机械化操作是不够的,社会的发展,要求企业要跟上时代的步伐,抓住新时代的新科技的机遇,运用自动化,智能化的电脑管理,实现企业的高效益发展,这其中,企业员工的工资管理,对一个企业起着很关键的作用。因此开发一个能自动化的管理企业员工工资的发放,员工内部信息的管理,企业招聘的管理等功能的系统,对一个企业的发展铺上了一条奔向高速发展的道路。在一个企业中,工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

1、系统的易用性和易维护性

工资信息管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。工资信息管理系统中涉及到的数据是企业的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。系统的标准性

系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。

3、系统的先进性

目前计算系统的技术发展相当快,做为员工信息管理系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。代码设计:

添加用户:

Private Sub cmdcancel_Click()

Unload Me

Exit Sub End Sub Private Sub cmdok_Click()

Dim sql As String

Dim rs As ADODB.Recordset

If Trim(username.Text)= “" Then

MsgBox ”请输入用户名称“, vbOKOnly + vbExclamation, ”提示“

Exit Sub

username.SetFocus

Else

sql = ”select * from userinfo where userid='“ & username & ”'“

Set re = getrs(sql, ”salary“)

If re.EOF = False Then

MsgBox ”这个用户已经存在,请重新输入用户名“, vbOKOnly + vbExclamation, ”提示“

username.SetFocus

username.Text = ”“

password.Text = ”“

confirmpwd.Text = ”“

Exit Sub

Else

If Trim(password.Text)<> Trim(confirmpwd.Text)Then

MsgBox ”两次输入密码不一致,请重新输入密码“, vbOKOnly + vbExclamation, ”提示“

password.Text = ”“

confirmpwd.Text = ”“

password.SetFocus

Exit Sub

ElseIf Trim(password.Text)= ”“ Then

MsgBox ”密码不能为空“, vbOKOnly + vbExclamation, ”提示“

password.Text = ”“

confirmpwd = ”“

password.SetFocus

Else

sql = ”insert into userinfo(userid,userpwd)values('“ & username

sql = sql & ”','“ & password & ”')“

Call transactsql(sql, ”salary“)

MsgBox ”添加成功“, vbOKOnly + vbExclamation, ”添加结果“

username.Text = ”“

password.Text = ”“

confirmpwd.Text = ”“

username.SetFocus

End If

End If

End If End Sub

Private Sub Form_Load()End Sub

出勤结果:

Option Explicit

Private Sub DataGrid1_Click()End Sub

Private Sub Form_Load()

Dim sql As String

Dim rs As New ADODB.Recordset

Dim sd As String

If strusername <> ”admin“ Then

sql = ”select sid from stuffinfo where sname='“ & strusername & ”'“

Set rs = getrs(sql, ”salary“)' sd = rs(0)

sql = ”select * from attendancestatistics where stuffid='“ & sd & ”'“

Me.Adodc1.ConnectionString =

”Provider=SQLOLEDB.1;Integrated Info=False;Initial Catalog=工资管理;Data Source=(local)“

Me.Adodc1.RecordSource = sql

Me.Adodc1.Refresh

Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset

Me.DataGrid1.Refresh

Else

sql = ”select * from attendancestatistics“

Me.Adodc1.ConnectionString =

”Provider=SQLOLEDB.1;Integrated Info=False;Initial Catalog=工资管理;Data Source=(local)“

Me.Adodc1.RecordSource = sql

Me.Adodc1.Refresh

Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset

Me.DataGrid1.Refresh

End If End Sub

Security=SSPI;Persist

Security=SSPI;Persist

Security

Security 基本工资设置 Option Explicit Private id As String Private Sub cmdcancel_Click()

Unload Me

Exit Sub End Sub Private Sub init()'

Me.composition.ListIndex = 0

Me.comstuffid.ListIndex = 0

Me.textmoney = ”“

Me.optionid.Value = True End Sub Private Sub addrecord()

'添加记录

Dim sql As String

Dim rs As New ADODB.Recordset

sql = ”select * from salarysetting“

Set rs = getrs(sql, ”salary“)

rs.AddNew

rs.Fields(1)= Trim(id)

rs.Fields(2)= Trim(Me.composition.Text)

rs.Fields(3)= Trim(Me.textmoney)

rs.Update

rs.Close End Sub Private Sub cmdok_Click()

Dim sql As String

Dim rs As New ADODB.Recordset

If ichangeflag = 1 Then

If Me.optionid.Value = True Then

If Me.comstuffid.Text = ”“ Then

MsgBox ”请选择员工编号“, vbOKOnly + vbExclamation, ”提示“

ElseIf IsEmpty(Me.textmoney)= True Then

MsgBox ”请输入基本工资“, vbOKOnly + vbExclamation, ”提示“

Me.textmoney.SetFocus

ElseIf IsNumeric(Me.textmoney)= False Then

MsgBox ”请输入数字“, vbOKOnly + vbExclamation, ”提示“

Me.textmoney = ”“

Me.textmoney.SetFocus

Else

sql = ”select * from salarysetting where stuffid='“ & Me.comstuffid.Text & ”'“

Set rs = getrs(sql, ”salary“)

If rs.EOF = False Then

sql = ”delete from salarysetting where stuffid='“ & Me.comstuffid.Text & ”'“

Call transactsql(sql, ”salary“)

End If

rs.Close

id = Me.comstuffid.Text

Call addrecord

MsgBox ”已经设置基本工资“, vbOKOnly + vbExclamation, ”添加结果“

Call init

sql = ”select * from salarysetting“

Call frmresult.basictopic

Call frmresult.showbasic(sql)

frmresult.Show

frmresult.ZOrder 0

Me.ZOrder 0

End If

End If

If Me.optionposition.Value = True Then

If Me.composition.Text = ”“ Then

MsgBox ”请输入职务“, vbOKOnly + vbExclamation, ”提示“

ElseIf IsEmpty(Me.textmoney)= True Then

MsgBox ”请输入基本工资“, vbOKOnly + vbExclamation, ”提示“

Me.textmoney.SetFocus

ElseIf IsNumeric(Me.textmoney)= False Then

MsgBox ”请输入数字“, vbOKOnly + vbExclamation, ”提示“

Me.textmoney = ”“

Me.textmoney.SetFocus

Else

sql = ”select * from salarysetting where sposition ='“ & Me.composition.Text & ”'“

Set rs = getrs(sql, ”salary“)

If rs.EOF = False Then

sql = ”delete from salarysetting where sposition ='“ & Me.composition.Text & ”'“

Call transactsql(sql, ”salary“)

End If

rs.Close

sql = ”select * from salarysetting where sposition ='“ & Me.composition.Text & ”'“

Set rs = getrs(sql, ”salary“)

While Not rs.EOF

id = rs(0)

Call addrecord

rs.MoveNext

Wend

rs.Close

MsgBox ”已经设置基本工资“, vbOKOnly + vbExclamation, ”添加结果“

Call init

sql = ”select * from salarysetting“

Call frmresult.basictopic

Call frmresult.showbasic(sql)

frmresult.Show

frmresult.ZOrder 0

Me.ZOrder 0

End If

End If

Else

sql = ”update salarysetting set salary=“ & Me.textmoney & ” where stuffid='“

sql = sql & Me.comstuffid & ”'“

Call transactsql(sql, ”salary“)

MsgBox ”已经修改基本工资设置“, vbOKOnly + vbExclamation, ”提示“

Unload Me

sql = ”select * from salarysetting“

Call frmresult.basictopic

Call frmresult.showbasic(sql)

frmresult.Show

frmresult.ZOrder 0

Call frmsumsalary.resumsalary(Date)

End If End Sub

Private Sub Form_Load()

Dim sql As String

Dim rs As New ADODB.Recordset

If ichangeflag = 1 Then

'添加信息

sql = ”select sid from stuffinfo order by sid“

Set rs = getrs(sql, ”salary“)

If rs.EOF = False Then

While Not rs.EOF

Me.comstuffid.AddItem rs(0)

rs.MoveNext

Wend

rs.Close

Me.comstuffid.ListIndex = 0

End If

sql = ”select distinct sposition from salarysetting“

Set rs = getrs(sql, ”salary“)If rs.EOF = False Then

While Not rs.EOF

Me.composition.AddItem rs(0)

rs.MoveNext

Wend

rs.Close

Me.composition.ListIndex = 0 End If

Me.optionid.Value = True

Else

'修改信息

Me.Caption = ”修改基本工资设置“

Set rs = getrs(strpublicsql, ”salary“)

Me.comstuffid.Text = rs(1)

Me.composition.Text = rs(2)

Me.textmoney = rs(3)

Me.comstuffid.Enabled = False

Me.composition.Enabled = False

rs.Close

End If End Sub

修改密码:

Private Sub cmdcancel_Click()

Unload Me

Exit Sub End Sub Private Sub cmdok_Click()

Dim sql As String

Dim rs As ADODB.Recordset

If Trim(oldpwd.Text)= ”“ Then

MsgBox ”请输入旧密码“, vbOKOnly + vbExclamation, ”提示“

oldpwd.SetFocus

Exit Sub

Else

If Trim(oldpwd.Text)<> Trim(userpassword)Then

MsgBox ”旧密码与登录的密码不同,请重新输入!“, vbOKOnly + vbExclamation, ”提示“

oldpwd.Text = ”“

oldpwd.SetFocus

ElseIf Trim(newpwd.Text)= ”“ Then

MsgBox ”请输入新密码“, vbOKOnly + vbExclamation, ”提示“

newpwd.SetFocus

Exit Sub

ElseIf Trim(newpwd.Text)<> Trim(confirmpwd.Text)Then

MsgBox ”两次密码不同“, vbOKOnly + vbExclamation, ”警告“

newpwd.Text = ”“

confirmpwd.Text = ”“

newpwd.SetFocus

Else

userpassword = newpwd

sql = ”update userinfo set userpwd='“ & newpwd & ”'where userid='“ & strusername & ”'“

Call transactsql(sql, ”salary“)

MsgBox ”密码已经修改“, vbOKOnly + vbExclamation, ”修改结果“

Unload Me

End If

End If End Sub

Private Sub oldpwd_Change()End Sub 公式设置

Private Sub cmdcancel_Click()

Unload Me

Exit Sub End Sub Private Sub cmddefault_Click()

Me.textovertimecom = 200

Me.textovertimespe = 400

Me.texterrand = 200

Me.textabsent = 50

Me.textle = 20

Call setvalue End Sub Private Sub cmdok_Click()

If Me.textovertimecom = ”“ And IsNumeric(Me.textovertimecom)= True Then

MsgBox ”请输入正常加班工资百分比“, vbOKOnly + vbExclamation, ”提示“

Me.textovertimecom = ”“

Me.textovertimecom.SetFocus

ElseIf Me.textovertimespe = ”“ And IsNumeric(Me.textovertimespe)= False Then

MsgBox ”请输入特殊加班工资百分比“, vbOKOnly + vbExclamation, ”提示“

Me.textovertimespe = ”“

Me.textovertimespe.SetFocus

ElseIf Me.texterrand = ”“ And IsNumeric(Me.texterrand)= False Then

MsgBox ”请输入出差工资“, vbOKOnly + vbExclamation, ”提示“

Me.texterrand = ”“

Me.texterrand.SetFocus

ElseIf Me.textabsent = ”“ And IsNumeric(Me.textabsent)= False Then

MsgBox ”请输入旷工扣发工资“, vbOKOnly + vbExclamation, ”提示“

Me.textabsent = ”“

Me.textabsent.SetFocus

ElseIf Me.textle = ”“ And IsNumeric(Me.textle)= False Then

MsgBox ”请输入迟到早退扣发工资“, vbOKOnly + vbExclamation, ”提示“

Me.textle = ”“

Me.textle.SetFocus

Else

Call setvalue

Call init

End If End Sub Private Sub setvalue()

Dim sql As String

Dim rs As New ADODB.Recordset

sql = ”select * from formulasetting“

Set rs = getrs(sql, ”salary“)

If rs.EOF = False Then

sql = ”delete from formulasetting“

Call transactsql(sql, ”salary“)

End If

rs.AddNew

rs.Fields(0)= Me.textovertimecom

rs.Fields(1)= Me.textovertimespe

rs.Fields(2)= Me.texterrand

rs.Fields(3)= Me.textabsent

rs.Fields(4)= Me.textle

rs.Update

rs.Close

MsgBox ”已经设置公式“, vbOKOnly + vbExclamation, ”设置结果“ End Sub Private Sub init()

'初始化

Me.textabsent = ”“

Me.texterrand = ”“

Me.textovertimecom = ”“

Me.textovertimespe = ”“

Me.textle = ”"

Me.textovertimecom.SetFocus End Sub

第五篇:数据库课程设计工资管理系统.

数据库课程设计报告 工资管理系统

组员:廖翔, 刘小芳, 强江波, 张晶晶,冯兆强,夏冲 组长 :刘小芳 需求分析员 :张晶晶

程序员 :廖翔 , 刘小芳 , 强将波 测试员 :冯兆强 界面设计员 :夏冲 目录

一 绪论 ··········································3 二 课程设计说明····································3 三 需求分析·········································4 四 物理结结构设计···································5 五 数据字典·········································5 六 数据库设计·······································10 七 功能实现截图·····································11 八,小结············································21 附录 1.(组员及学号

廖翔(,刘小芳(41009040127,冯兆强(, 张晶晶(41009040130,夏冲(,强将波(2.开发环境说明

使用 C#进行客户端应用程序的开发,数据库管理系统采用 SQL SERVER

一、绪论

随着计算机技术的飞速发展和经济体制改革的不断深入, 传统企业管理方法、手段以及 工作效率已不能适应新的发展需要, 无法很好地完成员工工资管理工作。提高公司企业管理 水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 C#与 SQL server 数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等 功能, 功能比较的齐全, 并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理 员和公司的要求。

此次数据库课程设计的主要设计如下: 原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。二.课程设计说明

1.设计题目:工资管理系统 2.设计任务与要求: 2.1实验任务

1.掌握数据库设计和实现的基本过程 2.掌握数据库模式设计、分析和实现的方法 3.了解数据库应用系统软件开发的一般过程。2.2 实验基本要求(1学习相关的预备知识

(2按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运 行

(3写出课程设计报 3.目的

本说明书目的在于明确说明系统需求,界定系统实现功能的范围, 指导系统设计以 及编码。本文档作为人力资源管理系统的需求说明文档,用于与用户确定最终的目标, 并成为协议文本的一部分,同时也是本系统设计人员的基础文档。

4.背景 工资管理系统

工资管理部门希望建立一个数据库来管理员工的工资。要计算员工的工资, 就需要考虑 不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分。必须指明给每个员工 发薪水的方式, 随着时间的推移, 方式可能会有些改变。大多数的员工是通过银行卡来结算 工资的, 但是也有一部分人使用现金或支票。如果是通过银行卡, 就需要知道账号和卡的类 型。付款方式只可能是一种方式。有几种原因可以扣除工资:例如,个人所得税、国家税、医疗保险、退休保险或者预付款。

5.主要包括三大功能模块: 1.登录界面选择 [员工登录 ]即可进入 [员工登陆界面 ], 选择 [管理员登陆 ]即可进入 [管理员 登录界面 ]。

2.管理员功能模块。3.员工功能模块.6.操作说明

6.1 无论是管理员还是员工,操作都以员工编号来进行。

6.2 管理员可以对员工基本信息增、删、查、改, 员工只能对本人基本信息和工资信息查询。三.需求分析

1.功能需求分析: 该通用工资管理系统具备下列功能:登录界面选择 [员工登录 ]即可进入 [员工登陆界面 ], 选 择 [管理员登陆 ]即可进入 [管理员登录界面 ].管理员通过输入用户名和密码进下该系统后, 可以进行一些基本查询(员工个人信息查 询 , 员工工资信息查询 , 修改(修改员工基本信息 , 修改工资信息 , 删除(员工个人资料删除 , 员工工资信息删除 , 录入(员工资料录入 , 员工工资资料录入;;通过输入密码,可以进行 查询员工的数据(工资,奖金津贴,加班情况。

员工通过输入用户名和密码即可进入系统 , 可以进行查询(查询个人基本信息和工资信 息.2.数据流需求分析:

数据库 数据库需求分析——数据流图 四.物理结构设计 1.系统模块划分

五.数据字典 2.1表字典

2.2表字段字典

六.数据库设计 1.建表 : EmpInfoTable(Id[主键 ],Name,Position,Status;SalaryInfoTable(Id主键 ],Name,Prize,Pasepay,RetirementInsurance,Income,Stute,Medical, Dayleave,Deduced,Paytpe,CardNumber,Cardtype,GrossSalary,NetSalary,Date;(1 员工基本信息表 :(2员工工资表 :

七.功能实现截图 1.登录界面

2.管理员部分 :(1管理员登陆界面

(2管理员功能选择界面

(3.录入员工基本信息界面(4录入员工工资信息

(5.修改功能选择界面

A.修改员工基本信息

B.修改工资信息

(6.管理员查询界面 A.查询功能选择界面

B.查询员工基本信息

C.查询工资信息

(7.管理员查询界面 A.功能选择界面

B.管理员修改员工个人信息

C.管理员修改员工工资界面界面

(8.管理员删除界面 A.功能选择界面

B.删除员工个人信息及工资信息界面

C.删除员工工资信息界面

3.员工功能界面(1.员工登录界面

(2.员工功能选择界面

(3.员工查询本人基本信息(4.员工查询本人工资信息 4.测试分析 4.1 更改员工资料不可以更改身份。4.2 修改员工工资信息一旦失败 就会把原有信息删除。4.3 管理员固定,且只有一个。八.小结 该工资管理系统总体说来功能比较齐全,管理

员和员工的一些基本的功能 都已经具备; 数据库的设计方面,建有员工表、工资表。数据库中存在一些问题,如数据冗余,不够完善。但在做课程设计的过程中也遇到很多问题,一开始时其中最大的问题是数 据库的连接部分,该部分直接影响到数据库与应用程序接口实现,而且必须注意 数据库数据库的名称与连接数据库的取名以致.后来经过大家的合作努力解决了 这个问题.在编写程序时,确实也遇到了很多困难,后来经过调试后终于把自已想 到实现的功能一步步实现了,通过这次课程设计使我收获了好多,熟悉了 C#的 运用,还复习了数据库相关语句的编写。此次课程设计让我感受颇多:做一个数据库其实是一件很有趣的事情。想到

自己可以创建一个小型的数据库系统,有点学习后的满足感。数据库的建立并非 难事,难点在于数据库的连接和编程语言的选择。C#的功能很强大,这也是我以 后需要学习的课程,于是我毅然选择了它。再就是建立数据库系统的步骤,我的 经验就是要先总体规划,再局部整理。先做好总的界面,再通过该界面的布置一 步一步实现其功能!同时我体会到: 熟练的编程能力,对知识运用的强烈渴望及其创新和团队的合作 精神设做好一个大型数据库的基础。因此通过此次课程设计我明显感觉到自身的 不足,并希望以后能更加用心地运用所学知识和学习新的知识。

选题一_小型公司工资管理系统.docx

将本文的Word文档下载到电脑

推荐度:

下载

本类热门推荐

热门文章