zoukankan      html  css  js  c++  java
  • 11月1号 尚未完成

    #include <stdio.h>

    #include <stdlib.h>

    #include <string.h>

    #define MAX 100

    /*涉及数据结构*/

    struct salary_Info

    {

           int card_no;             //工作卡号

           char name[20];           //姓名

           int month;               //月份

           float init_salary;       //应发工资

           float water_rate;        //水费

           float electric_rate;     //电费

           float tax;               //税金

           float final_salary;      //实发工资

    }SI[MAX];

    /*1、主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择*/

    static int g_nTotal = 0;

    //输入部分

    void input();

    //输入部分选择菜单  包含保存选择菜单

    int selectinput();

    //顺序输入

    void SysProductCardNo();

    void inputCardName();

    void inputCardMonth();

    void inputCardSalary();

    void inputCardWaterRate();

    void inputCardElectricRate();

    //保存选择菜单

    int saveSelect();

    void saveInputOK();

    void saveInputCancel();

    //处理部分

    void handle();

    int GetCardNoByName();

    int GetCardNoByNo();

    void modifyCardName();

    void modifyCardMonth();

    void modifyCardSalary();

    void modifyCardWaterRate();

    void modifyCardElectricRate();

    void modify();

    //输出部分

    void display();

    //主菜单选择

    int selectmenu();

    int selectmenu()

    {

        char szSelect[20] = {0};

    Label:   

        system("cls");

        printf("工资管理系统主菜单 ");

        printf("(i/I) 输入 ");

        printf("(h/H) 处理 ");

        printf("(d/D) 显示 ");

        printf("(e/E) 退出 ");

        printf("请选择以上选项 : ");

        scanf("%s",szSelect);

        if(szSelect[1] != ''){

               printf("输入错误! 请重新输入");

               goto Label;

        }

        if(szSelect[0] == 'i' || szSelect[0] == 'I')

            return 1;

        else if(szSelect[0] == 'h' || szSelect[0] == 'H')

            return 2;  

        else if(szSelect[0] == 'd' || szSelect[0] == 'D')

            return 3;

        else if(szSelect[0] == 'e' || szSelect[0] == 'E')

            return 0;

    }

    int selectinput()

    {

        char szSelect[20] = {0};

    Label:

        system("cls");

        printf("1、添加职工信息 ");

        printf("0、返回上一级.. ");

        printf("选择操作 (0 - 1) : "); 

        scanf("%s",szSelect);

        if(szSelect[0] == '1')

             return 1;

        else if(szSelect[0] == '0')

             return 0;

        else

        {

            printf("选择错误,请重新选择 ");

            goto Label;

        }

    }

    int saveSelect()

    {

        char szSelect[20] = {0};

    Label:

        printf("选择是否保存 (yes y(Y),no n(N) :");

        scanf("%s",szSelect);

        if(szSelect[1] != '')

        {

               printf("输入错误,请重新输入");

               goto Label;

        }

        if(szSelect[0] == 'y' || szSelect[0] == 'Y')

                return 1;

        else if(szSelect[0] == 'n' || szSelect[0] == 'N')

                return 0;

    }

    void saveInputOK()

    {

         printf("保存成功 ! ");

         system("pause");

    }

    void saveInputCancel()

    {

         g_nTotal--;

         printf("保存失败 ! ");

         system("pause");

    }

    void ModifyEditOK()

    {

         printf("保存成功 ! ");

         system("pause");

    }

    void ModifyEditCancel()

    {

         g_nTotal--;

         printf("保存失败 ! ");

         system("pause");

    }

    //输入值

    void SysProductCardNo()

    {

         int nMember = 0;

         int nNo = 0;

         nMember = g_nTotal;

         nMember++;

         nNo = rand() % 100;

         printf("系统随机产生职员编号为 %d ", nNo);

         SI[nMember].card_no = nNo;

         g_nTotal = nMember;

    }

    void inputCardName()

    {

         int nMember = 0;

         printf("输入职员名称 : ");

         nMember = g_nTotal;

         scanf("%s",SI[nMember].name);

    }

    void inputCardMonth()

    {

         int nMember = 0;

         printf("输入月份 : ");

         nMember = g_nTotal;

         scanf("%d",&SI[nMember].month);

    }

    void inputCardSalary()

    {

         int nMember = 0;

         printf("输入应发薪水 : ");

         nMember = g_nTotal;

         scanf("%f",&SI[nMember].init_salary);

    }

    void inputCardWaterRate()

    {

         int nMember = 0;

         printf("输入水费 : ");

         nMember = g_nTotal;

         scanf("%f",&SI[nMember].water_rate);

    }

    void inputCardElectricRate()

    {

         int nMember = 0;

         printf("输入电费 : ");

         nMember = g_nTotal;

         scanf("%f",&SI[nMember].electric_rate);

    }

    void input()

    {

         int nReturn = 1;

         while(nReturn)

         {

                 switch(selectinput())

                 {

                 //继续添加

                 case 1:

                      system("cls");

                      //生产系统编号

                      SysProductCardNo();

                      //姓名

                      inputCardName();

                      //月份

                      inputCardMonth();

                      //应发工资

                      inputCardSalary();

                      //水费

                      inputCardWaterRate();

                      //电费

                      inputCardElectricRate();

                      break;

                 //不添加

                 case 0:

                      nReturn = 0;

                      break;     

                 }     

         }

         switch(saveSelect())

         {

                 case 1:

                      saveInputOK();

                      break;

                 case 0:

                      saveInputCancel();

                      break;      

                 default:

                      break;    

         }

    }

    int GetCardNoByName()

    {

        int nFlag = 0;

        int nCardNo = -1;

        int nMember = 0;

        char szName[20] = {0};

        system("cls");

        printf("请输入需要查找的姓名 : ");

        scanf("%s",szName);

        for(nMember = 0; nMember < g_nTotal; nMember++)

        {

             if(strcmp(szName,SI[nMember].name) == 0)

             {

                      nCardNo = SI[nMember].card_no;

                      nFlag = 1;                   

                      break;     

             }

        }

        if(0 == nFlag)

             printf("没有找到对应的用户 ");

        return nCardNo;

    }

    int GetCardNoByNo()

    {

        int nFlag = 0;

        int nCardNo = -1;

        int nMember = 0;

        int nInputNo = 0;

        system("cls");

        printf("请输入需要查找的卡号 : ");

        scanf("%d",&nInputNo);

        for(nMember = 0; nMember < g_nTotal; nMember++)

        {

             if(nInputNo == SI[nMember].card_no)

             {

                     nCardNo = SI[nMember].card_no;

                     nFlag = 1;

                     break;

             }

        }

        if(0 == nFlag)

             printf("没有找到对应的用户 ");

        return nCardNo;

    }

    void modifyCardName()

    {

         printf("修改员工姓名 ");

    }

    void modifyCardMonth()

    {

    }

    void modifyCardSalary()

    {

    }

    void modifyCardWaterRate()

    {

    }

    void modifyCardElectricRate()

    {

    }

    int modifyMenu()

    {

       

    }

    void modify()

    {

         int nReturn = 1;

      //   SysProductCardNo();

         while(nReturn)

         {

                 switch(selectinput())

                 {

                 case 1:

                      //姓名

                      modifyCardName();

                 break;

                 case 2:

                      //月份

                      modifyCardMonth();

                 break;

                 case 3:

                      //应发工资

                      modifyCardSalary();

                      break;

                 case 4:

                      //水费

                      modifyCardWaterRate();

                      break;

                 case 5:

                      //电费

                      modifyCardElectricRate();

                      break;

                 case 0:

                      nReturn = 0;

                      break;     

                 default:

                      break;

                 }     

         }

         switch(saveSelect())

         {

                 case 1:

                      ModifyEditOK();

                      break;

                 case 0:

                      ModifyEditCancel();

                      break;  

                 default:

                      break;        

         }

    }

    void calCard()

    {

    }

    void sortCard()

    {

    }

    int handleMenu()

    {

        int szSelect[20] = {0};

    Label:

        system("cls");

        printf("1、修改职工信息 ");

        printf("2、处理员工税金工资 ");

        printf("3、重新排序处理 ");

        printf("0、返回上一级 ... ");

        printf("请选择操作 (0 - 3) : ");

        scanf("%s",szSelect);

        if(szSelect[0] == '1')

            return 1;

        else if(szSelect[0] == '2')

            return 2;

        else if(szSelect[0] == '3')

            return 3;

        else if(szSelect[0] == '0')

            return 0;

        else

        {

            printf("选择错误,请重新输入 ");

            goto Label;

        }

    }

    void handle()

    {

         int nFlag = 1;

         while(nFlag)

         {

              switch(handleMenu())

              {

              case 1:

                   modify();

                   break;

              case 2:

                   calCard();

                   break;

              case 3:

                   sortCard();

                   break;

              case 0:

                   break;

              }

         }   

    }

    void displayCardNo()

    {

        int nMember = 0;

        printf(" %d 员工的卡号", g_nTotal);

        for(nMember = 0; nMember < g_nTotal; nMember++)

        {

              printf("%d  ", SI[nMember].card_no);

             

        }

    }

    void displayCardName()

    {

        int nMember = 0;

        printf(" %d 员工的姓名", g_nTotal);

        for(nMember = 0; nMember < g_nTotal; nMember++)

        {

              printf("%d  ", SI[nMember].name);

             

        }

    }

    int choiceMenu()

    {

        int nChoice = 0;

    Label:   

        system("cls");

        printf("选择菜单 ");

        printf("1、只显示姓名 ");

        printf("2、只显示卡号 ");

        printf("3、显示选择列 ");

        printf("0、返回上一级 .. ");

        printf("请选择以上选项 : ");

        scanf("%d",&nChoice);

        if(nChoice > 3 && nChoice < 0)

        {

              printf("选择错误,请重新选择 ");

              goto Label;

        }

        return nChoice;

    }

    void choiceDisplay()

    {

        int nChoice = 1;

        while(nChoice)

        {

              switch(choiceMenu())

              {

              case 1:

                   break;

              case 2:

                   break;

              case 3:

                   break;

              case 0:

                   nChoice = 0;

                   break;

              }

        }

    }

    int listMenu()

    {

    }

    void listDisplay()

    {

    }

    int sortMenu()

    {

    }

    void SortDisplay()

    {

    }

    int displayMenu()

    {

        char szSelect[20] = {0};

    Label:

        system("cls");

        printf("选择浏览方式 ");

        printf("1、选择所有用户 ");

        printf("2、分列显示用户 ");

        printf("3、排序显示用户 ");

        printf("0、返回上一级.. ");

        printf("请选择以上选项 : ");

        scanf("%s",szSelect);

        if(szSelect[0] == '1')

             return 1;

        else if(szSelect[0] == '2')

             return 2;

        else if(szSelect[0] == '3')

             return 3;

        else if(szSelect[0] == '0')

             return 0;

        else{

             printf("选择错误,请重新选择 ");

             goto Label;

        }

    }

    void display()

    {

        int nDisplay = 1;

        while(nDisplay)

        {

               switch(displayMenu())

               {

               case 1:

                    choiceDisplay();

                    break;

               case 2:

                    listDisplay();

                    break;

               case 3:

                    SortDisplay();

                    break;

               case 0:

                    nDisplay = 0;

                    break;       

               }

        }

    }

    void ChangeDesktop()

    {

        

    //      system("mode con cols=30 lines=20");

    //      system("color 14");

       //   system("title=工资管理系统");

    }

    /*主函数*/

    int main(void)

    {

        int nExit = 1;

        ChangeDesktop();

        while(nExit)

        {       

                switch(selectmenu())

                {

                case 1:

                     //1、输入

                     input();

                     break;

                case 2:

                     //2、处理

                     handle();

                     break;

                case 3:

                     //3、输出

                     display();

                     break;

                case 0:

                     //退出

                     nExit = 0;

                     break;

                }

        }

        //存盘处理

        return 0;

    }

  • 相关阅读:
    静态方法、类方法和属性方法
    类的私有属性和私有方法
    JMeter-正则表达式(取出银行卡号后4位)
    JMeter连接MySQL数据库
    解决chrome提示您的连接不是私密连接的方法
    python安装appium模块
    mac中的word内容丢失
    有些事一旦开始就停不下来了
    Python接口测试-以&连接拼接字典数据(get中url请求数据)
    Python接口测试-模块引用与映射
  • 原文地址:https://www.cnblogs.com/boobuy/p/3402206.html
Copyright © 2011-2022 走看看