⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gongzi.cpp

📁 工资管理
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        }
            per[i].sum=per[i].paid-per[i].discount+per[i].extra;
			per[i].realpaid=per[i].paid-per[i].discount;
            fprintf(fp," %6d %8s \t%5.1f \t%5.1f \t%5.1f \t%5.1f \t%5.1f\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].realpaid,per[i].sum);
        getch();
    }
}
void Sortper(struct person per[])                      //排序函数
{
  int i,j,chose;                                        //i,j为循环变量 chose为接收用户输入的排序方式
  struct person temp;
  printf("排序前的数据为\n");
   printf("\n职工编号   职工姓名    基本工资     扣款    奖金   实发工资    总工资\n");
      for(i=0;i<shuru;i++)
      {
        printf("\n %6d   %8s   %7.1f\t %5.1f\t  %5.1f\t %5.1f\t %6.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].realpaid,per[i].sum);                    
      }
  printf("\n1.按职工编号排序\t2.按总工资(高→低)排序\n");
  printf("\n请您正确选择:");
  fflush(stdin);
  scanf("%d",&chose);
  if(chose==1)
  {
      for(i=0;i<shuru-1;i++)
      {
          for(j=i+1;j<shuru;j++)
          {
              if(per[i].num>per[j].num)
              {
                  temp=per[i];
                  per[i]=per[j];
                  per[j]=temp;
              }
          }
      }
      printf("\n职工编号   职工姓名   基本工资   扣款   奖金   实发工资    总工资\n");
      for(i=0;i<shuru;i++)
      {
            printf("\n %6d   %8s   %7.1f\t %5.1f\t  %5.1f\t %5.1f\t %6.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].realpaid,per[i].sum);                    
      }
    system("pause");
  }
  else if(chose==2)
  {
    for(i=0;i<shuru-1;i++)
      {
          for(j=i+1;j<shuru;j++)
          {
              if(per[i].sum<per[j].sum)
              {
                  temp=per[i];
                  per[i]=per[j];
                  per[j]=temp;
              }
          }
      }
    printf("\n职工编号   职工姓名    基本工资   扣款    奖金    实发工资   总工资\n");
    for(i=0;i<shuru;i++)
    {
        printf("\n %6d   %8s   %7.1f\t %5.1f\t  %5.1f\t %5.1f\t %6.1f\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].realpaid,per[i].sum);                
    }
    system("pause");
  }
}
void Password()                                             //密码验证函数
{
    char *pass=NULL;                                        //初始化指针
    int  i,count;
    time_t start,end;                                       //时间函数
    pass=(char *)malloc(255*sizeof(char));                  //分配内存
    while(1)
    {
        count=0;
        printf("\n\n\n\n\n\t\t\t职 工 工 资  管  理  系  统   \n");
        printf("\n\t\t               UserName:Fangfangff \n");
        printf("\n\t\t               PassWord:");
        while((count>=0)&&(pass[count++]=getch())!=13)      //密码输入
        {
            if(pass[0]=='\b')
            {
                count=0;
                continue;
            }
            else if(pass[count-1]=='\b')
            {
                printf("%c%c%c",'\b','\0','\b');
                count-=2;
            }
            else
            putchar('*');
        }
        pass[--count]='\0';
        if(!strcmp(pass,PASSWORD))                          //开始验证
        {    
            printf("\n\n\t\t\t\t\t\tLogining");
            for(i=0;i<=25;i++)
            {
                Sleep(250);
                printf(".");
            }    
            system("cls");
            printf("\n\n\n\n\n\n\n\n\n\t\t\t");
            printf(" 欢 迎 登 陆 职 工 工 资 管 理 系 统 !\n\n");
            start=time(NULL);
            end=time(NULL);
            while(end-start<2)                              //延时2秒执行以下程序
            {
                end=time(NULL);
            }
            system("cls");
            free(pass);                                     //释放储存密码的内存
            return ;
        }
        free(pass);                                         //释放密码错误的那块内存
        pass=(char *)malloc(255*sizeof(char));              //重新分配储存密码内存
        system("cls");
        printf("\a\n\n\n\n\n\n\n\n\t\t\t\t密 码 错 误 !");
        getch();
        system("cls");
    }
}

void Menu()
{
    struct person per[50];             //最大职工人数
    struct person *p;                  //声明一个结构指针
    p=per;                             //指针指向结构变量per
    int  i,in;                           //接收用户的选择
    char ch;                           //用于判断是否继续                      
    do
    {
        system("cls");
        printf("\n\n");
        printf("\t\t =============================================\n");
        printf("\t\t *       职  工  工  资  管  理  系  统      *\n");
        printf("\t\t *===========================================*\n");
        printf("\t\t *          1.  录入职工工资        *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         2. 修改职工工资        *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         3. 查询职工工资        *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         4. 浏览职工工资         *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         5. 删除职工工资          *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         6. 插入职工工资          *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         7.  职工工资排序         *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         8.  保存职工工资         *\n");
        printf("\t\t *                       *\n");
        printf("\t\t *         9. 安全退出系统        *\n");
        printf("\t\t =============================================\n");
        printf("\t\t  请您正确选择: ");
        if(!(scanf("%d",&in)==1))
        {
            while((ch=getchar())!='\n')
            putchar(ch);
            printf(" 没有此选项,请正确选择!");
            getch();
            continue;
        }
        fflush(stdin);
        switch(in)
        {
            case 1:
                Inputper(per);                              //调用录入职工工资函数
                break;
            case 2:
                Modifyper(per);                             //调用修改职工工资函函数
                break;
            case 3:
                Findper(per);                               //调用查询职工工资函数
                break;
            case 4:
                Listper(per);                               //调用浏览职工工资函数
                break;
            case 5:
                Delper(per);                                //调用删除职工工资函数
                break;
            case 6:
                Insertper(per);                             //插入职工工资信息
                break;
            case 7:
                Sortper(per);                               //调用职工工资排序函数
                break;
            case 8:
                Save(per);                                  //保存职工工资函数
                break;
            case 9:                                         //退出系统
                break;
            default:
                printf("没有此选项,请正确选择!");
                getch();
                break;
        }
    }while(in!=9);
	system("cls");
    printf("\n\n\n\n\n\n\n\n\t\t\t");
    printf("谢  谢  使  用  本  系  统  !\n\n"); 
	printf("\n\n\t\t\t\t\tEnding");
            for(i=0;i<=30;i++)
            {
                Sleep(300);
                printf(".");
            }
	printf("\n");
}

void Help()
{  
	printf("====================================================================\n");
	printf("\n\n\t\t\t\t系 统 信 息\n");
	printf("====================================================================\n");
	printf("\n\n\t\t本系统是职工工资管理系统,在职工的姓名栏可以输入汉字");
	printf("\n\t\t如果在输入中没看到任何信息则是因为输入错误或无信息");
	printf("\n\t\t系统中的 :实发工资 = 基本工资 - 扣款 ,不需要输入");
	printf("\n\t\t实发工资 , 就可以直接输出实发工资,系统中的 : ");
	printf("\n\t\t总工资 = 基本工资 - 扣款 + 奖金。");
	printf("\n\t\t本系统制作者 : fangfangff \t QQ : 380177873");
	printf("\n\t\t E_mail : liyyanyan@126.com ");
	printf("\n\t\t\t Made By VC6.0++\t 2007年6月28日\n");
	printf("===================================================================\n");
	printf("\n\n\t\t\t\t按<Enter>进入");
	getchar();
}
void Save(struct person per[])                                //职工工资保存函数
{
    int i,j;
    pp=per;                                                    //指针指向结构 
    system("cls");
	printf("\n\n\n\t\t正在保存信息,请耐心等候!!\n");
    printf("\n\n\t\t\tSaving");
    for(j=0;j<20;j++)
    {
        Sleep(300);
        printf(".");
    }    
    if((fp=fopen("per_list2.doc","wb+"))==NULL)              
    {                                                         
        printf("Cannot open file strike any key exit!");
        getch();
        exit(1);
    }
    fprintf(fp,"职工编号    职工姓名   基本工资   扣款   奖金   实发工资   总工资\n");
    for(i=0;i<shuru;i++)
        {
          per[i].sum=per[i].paid-per[i].discount+per[i].extra;
		  per[i].realpaid=per[i].paid-per[i].discount;
          fprintf(fp," %6d   %8s  %7.1f\t  %5.1f\t  %5.1f\t  %5.1f\t  %6.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].realpaid,per[i].sum);    
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -