.NET实现工资管理系统

本文实例为大家分享了.NET实现工资管理系统的具体代码,供大家参考,具体内容如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace gongzi
{
  class Program
  {
    static bool flag = true;
    //工人数
    const int NUM = 3;
    //定义二维数组
    static string[,] gong = new string[NUM, 5];
    static void Main(string[] args)
    {
      Console.Title = "工资管理系统";
      jiemian();  //菜单界面
      login();   //登录界面
      while (flag)
      {
        caidan(); //菜单界面
      }
    }
    static void jiemian()
    {
      Console.Clear();
      Console.WriteLine("------工资管理系统------");
      Console.WriteLine("-----@lijia---2018-4-4-----------");
      Console.ReadKey();
    }
    static void login() //登录界面
    {
      Console.WriteLine("请输入用户名:");
      String username = Console.ReadLine();
      Console.WriteLine("请输入密码:");
      String password = Console.ReadLine();
      if (username == "lijia" && password == "123456")
      {
        flag = true;//进入菜单界面
      }
      else
      {
        Console.WriteLine("对不起,你输入的用户名或者密码错误!请重新输入!");
        flag = false;
      }
    }
    static void caidan()
    {
      Console.Clear();
      Console.WriteLine("工资管理系统");
      Console.WriteLine("1.工资录入");
      Console.WriteLine("2.工资查询");
      Console.WriteLine("3.工资修改");
      Console.WriteLine("4.工资统计");
      Console.WriteLine("0.退出系统");
      Console.WriteLine("请输入0-3数字:");
      String choice = Console.ReadLine();
      switch (choice)
      {
        case "1":
          Console.WriteLine("工资录入");
          Inputgongzi(gong,NUM);
          Console.ReadKey();
          break;
        case "2":
          Console.WriteLine("工资查询");
          Outputgongzi(gong, NUM);
          Console.ReadKey();
          break;
        case "3":
          Console.WriteLine("请输入你需要选择的哪种工资的修改:(1基本工资2奖金)");
          string temp = string.Empty;
          int t = Convert.ToInt32(Console.ReadLine());
          switch (t)
          {
            case 1:
              Console.WriteLine("输入您要修改基本工资在二维数组中所在行数(0-2):");
              int t1 = Convert.ToInt32(Console.ReadLine());
              temp = gong[t1, 2];
              gong[t1, 2] = Console.ReadLine();
              sfgz();
              break;
            case 2:
              Console.WriteLine("输入您要修改的奖金在二维数组中所在行数(0-2):");
              int t2 = Convert.ToInt32(Console.ReadLine());
              temp = gong[t2, 3];
              gong[t2, 3] = Console.ReadLine();
              sfgz();
              break;
          }
          break;
        case "4":
          double a = Convert.ToDouble(gong[0, 4]);
          double b = Convert.ToDouble(gong[1, 4]);
          double c = Convert.ToDouble(gong[2, 4]);
          if (a > b)
          {
            if (a > c)
            {
              Console.WriteLine("最高工资:{0}", a);
              if (b > c)
              {
                Console.WriteLine("最低工资:{0}", c);
              }
              else
              {
                Console.WriteLine("最低工资:{0}", b);
              }
            }
            else
            {
              Console.WriteLine("最高工资:{0}", c);
            }
          }
          else
          {//a<b
            if (b > c)
            {
              Console.WriteLine("最高工资:{0}", b);
              if (a > c)
              {
                Console.WriteLine("最低工资:{0}", c);
              }
              else
              {
                Console.WriteLine("最低工资:{0}", a);
              }
            }
            else//b<c
            {
              Console.WriteLine("最高工资:{0}", c);
              Console.WriteLine("最低工资:{0}", a);

            }
          }
          double pjzhi = (a + b + c) / 3;
          Console.WriteLine("工资平均值:{0}", pjzhi);
          Console.ReadKey();
          break;
        case "0":
          flag = false;
          break;
      }

    }

    static void Inputgongzi(string[,] gong,int NUM)
    {
      string yuangong = string.Empty;
      string[] tmp;
      for (int i = 0; i < NUM; i++)
      {
        Console.WriteLine("请输入第{0}个工人的工号、姓名、基本工资、奖金(以空格分割):", i + 1);
        yuangong = Console.ReadLine();
        //分割工人信息
        tmp = yuangong.Split(' ');
        for (int j = 0; j < tmp.Length; j++)
        {
          gong[i, j] = tmp[j];
        }
        //计算实发工资
        double sodeshui = 0;
        double sfgz;
        double jbgz = Convert.ToDouble(gong[i, 2]);
        double jj = Convert.ToDouble(gong[i, 3]);
        if ((jbgz + jj) < 5000)
        {
          sfgz = jbgz + jj - sodeshui;
          gong[i, 4] = Convert.ToString(sfgz);
        }
        else if ((jbgz + jj) < 8000)
        {
          sodeshui = jbgz * 0.03;
        }
        else if ((jbgz + jj) < 20000)
        {
          sodeshui = 3000 * 0.03 + (jbgz - 8000) * 0.15;
        }
        else if ((jbgz + jj) > 20000)
        {
          sodeshui = 3000 * 0.03 + 2000 * 0.15 + (jbgz - 20000) * 0.25;
        }
        //计算实发工资
        sfgz = jbgz + jj - sodeshui;
        gong[i, 4] = Convert.ToString(sfgz);
      }
    }

    static void sfgz()
    {
      double sodeshui = 0;
      double sfgz;
      int i = 0;
      double jbgz = Convert.ToDouble(gong[i, 2]);
      double jiangjin = Convert.ToDouble(gong[i, 3]);
      if ((jbgz + jiangjin) < 5000)
      {
        sfgz = jbgz + jiangjin - sodeshui;
        gong[i, 4] = Convert.ToString(sfgz);
      }
      else if ((jbgz + jiangjin) < 8000)
      {
        sodeshui = jbgz * 0.03;
      }
      else if ((jbgz + jiangjin) < 20000)
      {
        sodeshui = 3000 * 0.03 + (jbgz - 8000) * 0.15;
      }
      else if ((jbgz + jiangjin) > 20000)
      {
        sodeshui = 3000 * 0.03 + 2000 * 0.15 + (jbgz - 20000) * 0.25;
      }
      //计算实发工资
      sfgz = jbgz + jiangjin - sodeshui;
      gong[i, 4] = Convert.ToString(sfgz);
    }
    static void Outputgongzi(string[,] gong, int NUM)
    {
      Console.WriteLine("-----------工人工资单-------------");
      Console.WriteLine("|----------------------------------|");
      Console.WriteLine("|工 号|姓  名|基本工资|奖  金|实发工资|");
      Console.WriteLine("-----------------------------------|");
      for (int i = 0; i < NUM; i++)
      {
        Console.WriteLine("|{0,5}|{1,8}|{2,8:f2}|{3,8:f2}|{4:8,f2}|", gong[i, 0], gong[i, 1], gong[i, 2], gong[i, 3], gong[i, 4]);
        Console.WriteLine("|---------------------------------------------|");
      }
    }
  }
}

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ASP.NET餐饮管理系统制作代码分享

    页面介绍展示: 以上是餐饮管理系统制作图片介绍,接下来是代码部分. menu.aspx  <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="menu.aspx.cs" Inherits="menu" Title="无标题页" %> <

  • ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)实例

    前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他是一个并的关系,我们现在要做的也是这样的效果,下面我们将利用EasyUI的DataGrid为例来扩展(就算是其他组件也是可以的,同样的实现方式!) 实现思路 1.前台通过查询组合json 2.后台通过反射拆解json 3.进行组合查询 虽然短短3点,够你写个3天天夜了 优点:需要从很多数据中得到精准的数据,通

  • ASP.NET实现学生管理系统

    学生管理系统所需要的具体控件和主要属性: 1.登录窗体 基本控件: label(标签控件) 主要属性:Image(在标签上显示的图像) Text(在标签上显示的文本) TextBox(文本框控件) 主要属性:PasswordChar(指示在作为密码框时,文本框中显示的字符,而不是实际输入的文本) Button(按钮控件) ComboBox(下拉框)属性:SelectedItem:获取当前选定的项 事件:Click(单击控件时发生) private void butStyle_Click(obje

  • Asp.Net权限管理系统 专用代码生成工具(DDBuildTools) 1.1.0 下载

    DDBuildTools 1.1.0 是supesoft.com为Asp.Net权限管理系统开发的一套代码生成工具.其主要功能: 1.根据数据库表结构生成数据库表结构文档 2.根据数据库表结构生成符合 Asp.Net权限管理系统 的数据库操作代码(支持Access和MsSql2000/2005) 表结构需有标识字段 3.根据数据库表结构生成MsSql2000/2005的表增加/删除/修改 存储过程 4.根据数据库表结构生成符合 Asp.Net权限管理系统 的前台表数据的新增/修改/删除/列表/查

  • ASP.NET网站管理系统退出 清除浏览器缓存,Session的代码

    1.在系统登陆成功时记录登陆的用户名.密码等信息(登陆功能的部分代码) 复制代码 代码如下: Session["id"] = user.id.ToString(); Session["name"] = user.name.ToString(); Session["pwd"] = user.password.ToString(); Session["time"] = user.LoginTime.ToString(); Sess

  • Elasticsearch.Net使用教程 MVC4图书管理系统(2)

    本文实例为大家分享了MVC4图书管理系统的制作教程,供大家参考,具体内容如下 首先项目结构图: Model层的相关代码如下: Book.cs代码如下: public class Book { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } [MaxLength(500)] [Display(Name = "标题")] public string Title

  • ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之资源环境准备

    前言: 本次将学习扩展企业微信公众号功能,微信公众号也是企业流量及品牌推广的主要途径,所谓工欲善其事必先利其器,调试微信必须把程序发布外网环境,导致调试速度太慢,太麻烦! 我们需要准备妥当才能进入开发,为后续快速开发作准备 什么是内网穿透? 意在外部网络通过域名可以访问本地IIS站点! 软件环境: Windows10+IIS10 (把本地站点配置到IIS10做为备用,发布站点不作为教程) 知识点:花生壳(主要)ngrok开始: 首先发布站点到IIS,我这里发布站点到本地IIS,并绑定端口为:80

  • ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统之前端页面框架构建源码分享

    开始,我们有了一系列的解决方案,我们将动手搭建新系统吧. 用户的体验已经需要越来越注重,这次我们是左右分栏,左边是系统菜单,右边是一个以tabs页组成的页面集合,每一个tab都可以单独刷新和关闭,因为他们会是一个iframe 工欲善其事必先利其器.需要用到以下工具. Visual Studio 2012 您可以安装MVC4 for vs2010用VS2010来开发,但是貌似你将不能使用EF5.0将会是EF4.4版本,但这没有多大的关系. MVC4将挂载在.NET Framework4.5上. 好

  • ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之消息管理

    前言 回顾上一节,我们熟悉的了解了消息的请求和响应,这一节我们来建立数据库的表,表的设计蛮复杂 你也可以按自己所分析的情形结构来建表 必须非常熟悉表的结果才能运用这张表,这表表的情形涵盖比较多 思维导图 我这个人比较喜欢用思维导图来分析和表达一些模型: 表结构  根据思维导图,我们可以建立的表可以是3张表:消息表,规则表,类型表 消息表:实际的消息 规则表:文本.图文.语音等 类型表:文本.图文.语音(默认回复,订阅回复) 也可以是两张表:规制表,消息表(+一个类型字段) 我这里只设计一张表:消

  • .NET实现工资管理系统

    本文实例为大家分享了.NET实现工资管理系统的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace gongzi { class Program { static bool flag = true; //工人数 const int NUM = 3; //定义二维数组

  • Python3实现的简单工资管理系统示例

    本文实例讲述了Python3实现的简单工资管理系统.分享给大家供大家参考,具体如下: 工资管理系统要求: 1. 查询员工工资 2. 修改员工工资 3. 增加新员工记录 4. 退出 执行代码: #!/usr/bin/env python3 # Author:Robert # --*-- coding: utf-8 --*-- def file_test(): with open("info.txt",'r',encoding="utf-8") as f: file =

  • C++实现企业职工工资管理系统

    课程设计目的和要求 工资管理要和人事管理相联系,生成企业每个职工的实际发放工资. 企业职工人事基本信息包括:职工编号.姓名.性别.出生日期.职称(助工.工程师.高级工程师)和任职年限. 企业职工工资信息包括:职工编号.姓名.职务工资.职务补贴.住房补贴.应发工资.个人所得税.养老保险.住房公积金和实发工资. 系统主要功能包括: (1)创建职工人事基本信息文件,根据提示输入职工的各项信息,按职工编号对职工信息进行排序,并将排序后的职工信息存储到一个文件中. (2)创建职工的工资信息文件(每个月创建

  • Eclipse+Java+Swing+Mysql实现工资管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 二.系统展示 1.登录系统 2.用户-登录系统 3.用户-查看工资 4.管理员-主界面 6.管理员-修改员工信息 7.管理员-删除员工信息 8.管理员-添加部门信息 9.管理员-修改部门信息 10.管理员-删除部门信息 11.管理员-工资设定 12.管理员-工资查询 13.管理员-工资一览 三.部分代码 Login.java MainFrame.java DBConn.java AddDepartment.java Add

  • C语言实现职工工资管理系统

    本文实例为大家分享了C语言实现职工工资管理系统的具体代码,供大家参考,具体内容如下 设计要求: 模拟并设计一个企业的职工工资管理系统,职工信息包括工号.姓名.基本工资.津贴,设职工人数不超过500人,以菜单选项的方式完成相应的功能,主要功能需求如下: 1.建立工资表: 2.职工扣税和实发工资: 3.按实发工资从高到低的顺序显示工资明细表: 4.修改职工的工资信息: 5.按工号查询职工工资信息: 6.职工工资统计分析: 7.退出系统. 基本思路: 将职工工资管理系统的职工信息录入功能.数据处理并存

  • C语言链表实现工资管理系统

    本文实例为大家分享了C语言链表实现工资管理系统的具体代码,供大家参考,具体内容如下 自己的作业,分享一下,自己为了调试方便,又多加入了一些功能 题目:建立工资管理系统,对职工工资的相关信息进行管理.职工工资相关信息包括职工工号,职工姓名,月份,每月工资和年度总工资等,具体要求如下; 1.建立该系统的存储结构2.录入职工某个月的工资3.查找某个职工某个月的工资4.修改某个职工某个月的工资5.删除每个职工的工资相关信息6.统计某个职工年度总工资7.对职工的月工资或年度总工资进行排名 源码 #incl

  • C语言实现员工工资管理系统

    本文实例为大家分享了C语言实现员工工资管理系统的具体代码,供大家参考,具体内容如下 看点: 1. 枚举类型的使用(录入与输出) 2. 文件的使用:用文件来存储员工信息,开始运行程序时从文件中读取员工信息到链表退出程序时将员工信息保存到文件中. 2_1. 存储结构体这样的数据块所使用的文件操作函数: 2_2. feof()函数作为循环条件的正确使用方法: 3. 链表的相关操作 3_1. 结构体中char类型的数据写入方式 4. while循环下实现的菜单与子菜单 注:部分功能还没有实现,涉及到单链

  • java实现员工工资管理系统

    本文实例为大家分享了java实现员工工资管理系统的具体代码,供大家参考,具体内容如下 一.题目要求 设计员工工资管理系统,实现以下功能: (1)输入5名员工姓名.工号.月工资:(2)统计每人的年收入及收入最高和最低的员工,计算他们的平均工资:(3)按月工资高低降序排序:(4)统计高于平均工资和低于平均工资的员工:(5)输入工号名称查询员工的姓名和月工资. 二.源代码 import java.util.Scanner; import java.io.BufferedReader; public c

  • C语言实现小型工资管理系统

    本文实例为大家分享了C语言实现小型工资管理系统的具体代码,供大家参考,具体内容如下 课程大作业目的 通过该大作业,考察学生分析.解决复杂问题的能力,考察学生编写较大程序的能力,检验和评价<程序设计基础>课程的学习效果 大作业内容 编写一个小型工资管理系统,用来管理职工的个人基本信息及工资薪酬等数据 基本要求 1.每个职工的数据应包括:工号.姓名.性别.部门.基本工资.绩效工资.奖金.应发工资(应发工资=基本工资+绩效工资+奖金).职工数据要求采用结构体数据类型. 2.菜单显示:显示系统的一级功

  • C++实现职工工资管理系统

    本文实例为大家分享了C++实现职工工资管理系统的具体代码,供大家参考,具体内容如下 main.cpp #include <iostream> #include <vector> #include <map> #include <algorithm> #include <string> #include <windows.h> #include "data.h" #include "user.h"

随机推荐