公司管理系统下

来源:互联网 发布:f网络用语什么意思 编辑:程序博客网 时间:2024/04/26 21:14
int coverlink()//遍历,显示
{
    system("clear");
    printf("\t********************欢迎您使用Happy公司管理系统*********************\n");
    printf("\t\t*******************当前信息为***********************\n");
   printf("\t\t||                                                ||\n");
    
    STLINKNODE *p=head.next;
    while(p!=NULL)
    {
    printf("\t\t   姓名    性别    年龄    部门   当月薪水   密码\n" );
    printf("\t\t||                                                ||\n");
     printf("\t\t   %-10s %-8s %-6d %-10s %-7d %-7d\n",p->stmaninfo.name,
                  p->stmaninfo.sex,
                  p->stmaninfo.age,
                  p->stmaninfo.department,
                  p->stmaninfo.salary,
                  p->stmaninfo.Pass);
    printf("\t\t||                                                ||\n");
    printf("\t\t****************************************************\n");
    
    p=p->next;
    }
   
    printf("\t请按任意键继续......\n");
    printf("\t");
    getchar();
    while(getchar()!='\n');
    sleep(1);
    return 0;

}

int change()//修改员工信息
{
    char name1[max],sex1[max],department1[max];
    
    int select,age1,salary1,Pass1;
 
    STMANINFO stmaninfo;
    system("clear");
    printf("\t*********************欢迎您使用Happy公司管理系统*********************\n");
    printf("\t\t*************您现在位于修改员工界面******************\n");
    printf("\t\t||                                                ||\n");
    char Name[max];
    
    STLINKNODE *p=head.next;
    printf("\t\t       请您输入要修改的姓名:");
    scanf("%s",Name);
    printf("\t\t||                                                ||\n");
    printf("\t\t       您要修改的信息为:\n");
    printf("\t\t||                                                ||\n");
    while(p!=NULL)
    {
     if(strcmp(p->stmaninfo.name,Name)==0)
     {
     printf("\t\t   姓名    性别    年龄    部门   当月薪水   密码\n" );   
     printf("\t\t||                                                ||\n");
     printf("\t\t   %-10s %-8s %-6d %-10s %-7d %-7d\n",p->stmaninfo.name,
                  p->stmaninfo.sex,
                  p->stmaninfo.age,
                  p->stmaninfo.department,
                  p->stmaninfo.salary,
                  p->stmaninfo.Pass);
    system("clear");
    printf("\t*********************欢迎您使用Happy公司管理系统*********************\n");
    printf("\t\t*************您现在位于修改员工界面******************\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t     请您选择要修改的该员工的信息:\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t\t1.姓名\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t\t2.性别\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t\t3.年龄\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t\t4.部门\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t\t5.当月薪水\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t\t5.密码\n");
    printf("\t\t||                                                ||\n");
    printf("\t\t***************************************************\n");
      
    printf("\n请选择要修改员工的信息:");
    scanf("%d",&select);
    switch(select)
    {
    case 1:
          printf("\n请输入新的姓名:");
          scanf("%s",name1);
          strcpy(p->stmaninfo.name,name1);
          break;
    case 2:
          printf("\n请输入新的性别:");  
          scanf("%s",p->stmaninfo.sex);
          
          break;
    case 3:
          printf("\n请输入新的年龄:");
          scanf("%d",&p->stmaninfo.age);
          
          break;
    case 4:
          printf("\n请输入新的部门:");  
          scanf("%s",p->stmaninfo.department);
         
          break;
    case 5:
          printf("\n请输入新的当月薪水:");  
          scanf("%d",&p->stmaninfo.salary);
           
          break;
    case 6:
          printf("\n请输入新的密码:");  
          scanf("%d",&p->stmaninfo.Pass);
          
          break;
     }
      printf("\t\t||                                                ||\n");
      printf("\t\t****************************************************\n");
      printf("\t请按任意键继续......\n");

      printf("\t");
      while(getchar()!='\n');
      getchar();
    
    }
      p=p->next;
   }
    
   
   
     if(select==0)
       while(getchar()=='\n');
            
     
 
    coverlink();
    return;
}
    

int del()//删除
{
   STMANINFO stmaninfo;
   system("clear");
   printf("\t*********************您现在位于删除员工界面*********************\n");
   printf("\t\t*************请输入要删除员工的姓名******************\n");
   printf("\t\t||                                                ||\n");
   int x;
   char Name[64];
   STLINKNODE *p=&head;
   printf("\t\t       请您输入删除的姓名:");
   scanf("%s",Name);
   printf("\t\t||                                                ||\n");
   printf("\t\t       下面是您要删除的信息:\n");
   printf("\t\t   姓名    性别    年龄    部门   当月薪水   密码\n" );
                  printf("\t\t||                                                ||\n");
                  printf("\t\t   %-10s %-8s %-7d %-9s %-7d %-7d\n",p->next->stmaninfo.name,
                  p->next->stmaninfo.sex,
                  p->next->stmaninfo.age,
                  p->next->stmaninfo.department,
                  p->next->stmaninfo.salary,
                  p->next->stmaninfo.Pass);
                  printf("\t\t||                                                ||\n");
   
                  printf("\t\t***************************************************\n");    

                 
                  int ichoice;
                  printf("\t\t您真的需要删除吗?(0:不删除,1:删除)\n\t");  
                  scanf("%d",&ichoice);
                  switch(ichoice)
                 {
                  case 0:
                         break;
 
                  case 1:
                          while(p->next!=NULL)
                          {
                         if(strcmp(p->next->stmaninfo.name,Name)==0)
                          {
                          STLINKNODE *q=p->next;
                          p->next=p->next->next;
                          free(q);
                          q=NULL;
                          break;
                          }
                          p=p->next;
                          }
                          coverlink();
                          break;
          
                  default:
                         printf("您的输入有误,请您重新输入:");
                         printf("\t请按任意键继续......\n");
                         printf("\t");
                         while(getchar()!='\n');
                         getchar();
                         break;
                      
                  }
 
   
     
   


      /*STLINKNODE *p=&head;
        p->next=p->next->next;
                 free(q);
                 q=NULL;
      */
 
                 

    
    return 0;
   
}

/*int dele()
     {
             
    STMANINFO stmaninfo;           

    char Name[64];
    STLINKNODE *p=&head;

    STLINKNODE *q=p->next;
    while(p->next!=NULL)
                 {
                 if(strcmp(p->next->stmaninfo.name,Name)==0)
                 {
   
                   p->next=p->next->next;
                   free(q);
                   q=NULL;
                  }
                 }
     return 0;
     }


*/



 
int search()//查询
{
   system("clear");
   printf("\t********************欢迎您使用Happy公司管理系统*********************\n");
   printf("\t\t***************您现在位于查询界面*******************\n");
   
   printf("\t\t||                                                ||\n");

   char Name[64];
   STLINKNODE *p=head.next;
   printf("\t\t       请您要查询的姓名:");
   scanf("%s",Name);
   printf("\t\t||                                                ||\n");
   printf("\t\t       您要查询的信息为:\n");
   printf("\t\t||                                                ||\n");
   while(p!=NULL)
   {
    if(strcmp(p->stmaninfo.name,Name)==0)
    {
       printf("\t\t   姓名    性别    年龄    部门   当月薪水   密码\n" );
       printf("\t\t||                                                ||\n");
       printf("\t\t   %-10s %-8s %-7d %-9s %-7d %-7d\n",p->stmaninfo.name,
                  p->stmaninfo.sex,
                  p->stmaninfo.age,
                  p->stmaninfo.department,
                  p->stmaninfo.salary ,
                  p->stmaninfo.Pass);
      printf("\t\t||                                                ||\n");
      printf("\t\t****************************************************\n");
      printf("\t请按任意键继续......\n");
      printf("\t");
      getchar();
      while(getchar()!='\n');
   }
    p=p->next;
  }
     
return 0;
}
 

data.h代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max 64
 
typedef struct _STMANINFO
{
   char name[max];
   char sex[max];
   int age;
   char department[max];
   int salary;
   int Pass;
}STMANINFO;
typedef struct _STLINKNODE
{
   struct _STMANINFO stmaninfo;
   struct _STLINKNODE *next;
}STLINKNODE;

STLINKNODE head;


int addman();
int coverlink();
int del();
int search();
int change();
int dele();

==============================================================================================================================

logic层。。。由于只是简单的,过滤不合法数据的这部分没有写

logic.c 代码

  #include"logic.h"


logic.h代码

#include "data.h" 
===============================================================================================================================

读写文件的部分

oprfile.c

#include"oprfile.h"
int write()//将链表写到文件中
{  
    FILE *fp;
    STLINKNODE *p=head.next;
    fp=fopen("FILE.txt","w+");
    while(p!=NULL)
    {
    
    fwrite(p,sizeof(p->stmaninfo),1,fp);
   
     
    p=p->next;
    }
    fclose(fp);
    fp=NULL;
    return 0;
}
int read()//读取文件中信息
{
    FILE *fp;
    STLINKNODE *p=head.next;
    fp=fopen("FILE.txt","r+");
    while(p!=NULL)
    {
     
    
    fread(p,sizeof(p->stmaninfo),1,fp);
    while(!feof(fp))//feof()这个函数是用来判断指针是否已经到达文件尾部的。
         {
           
           fread(p,sizeof(p->stmaninfo),1,fp);
           printf("\t********************欢迎您使用Happy公司管理系统*********************\n");
           printf("\t\t*********************当前信息为*********************\n");
           printf("\t\t||                                        ||\n");
    
           printf("\t\t   姓名    性别    年龄    部门   当月薪水   密码\n" );
           printf("\t\t||                                                ||\n");
           printf("\t\t   %-10s %-8s %-6d %-10s %-7d %-7d\n",p->stmaninfo.name,
                  p->stmaninfo.sex,
                  p->stmaninfo.age,
                  p->stmaninfo.department,
                  p->stmaninfo.salary,
                  p->stmaninfo.Pass);
          }

       
    printf("\t\t||                                                ||\n");
    printf("\t\t****************************************************\n");
          }

       
    printf("\t\t||                                                ||\n");
    printf("\t\t***************************************************\n");
    fclose(fp);
    fp=NULL;
  
    return 0;
}

oprfile.h代码

#include"data.h"

int write();
int read();

==============================================================================================================================




 
     

   


   




















0 0
原创粉丝点击