• 大小: 7KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-20
  • 语言: C/C++
  • 标签: 链表  文件  

资源简介

这是我在大一学C语言的时候自己写的一个职工信息管理系统,用了链表和文件

资源截图

代码片段和文件信息

#include 
#include
#include
struct employee
{
char num[10];       //职工号
char name[18];      //姓名
    char sex[2];        //性别
char id[20];        //身份证号
char address[20];   //地址
    char tel[12];       //电话
char salary[6];     //工资
char department[15]; //部门
char xl[15];         //学历
    char password[10];   //密码
struct employee *next;
}em;              //定义一个结构体
char Num[10]; //记录登录者的账户号
int k;         //记录登录者的身份
void menu_2();
void menu_3();

struct employee *create(void)   //新建链表
{
   
    char num[10];       
    char name[18];     
        char sex[2];       
    char id[20];       
     char address[20];   
        char tel[12];       
    char salary[6];     
     char department[15]; 
    char xl[15];         
        char password[10];   
int i=0ncount=0;
int size=sizeof(struct employee);
struct employee *head*tail*p;
head=tail=NULL;
printf(“请输入你要录入的人数:“);
scanf(“%d“&n);
  for(i=0;i
  printf(“请输入职工号: “);
         scanf(“%s“num);
         printf(“请输入姓名: “);
         scanf(“%s“name);
         printf(“请输入性别(f--女 m--男): “);
         scanf(“%s“sex);
         printf(“请输入身份证号: “);
         scanf(“%s“id);
         printf(“请输入地址: “);
         scanf(“%s“address);
         printf(“请输入电话: “);
         scanf(“%s“tel);
         printf(“请输入工资: “);
         scanf(“%s“salary);
         printf(“请输入部门: “);
         scanf(“%s“department);
         printf(“请输入学历: “);
         scanf(“%s“xl);
         printf(“默认密码为职工号: “);
         strcpy(passwordnum);
         printf(“\n“);
         count=count+1;
         printf(“已增加的人数:\n“);
         printf(“%d\n“count);
          p=(struct employee *)malloc(size);  
  strcpy(p->numnum);  
  strcpy(p->namename);
  strcpy(p->sexsex);
  strcpy(p->idid);
  strcpy(p->addressaddress);   
  strcpy(p->teltel);
  strcpy(p->salarysalary);
  strcpy(p->departmentdepartment);
  strcpy(p->xlxl);
  strcpy(p->passwordpassword);

  p->next=NULL;
 
  if(head==NULL)
  head=p;
  else
tail->next=p;
  tail=p;
      
}

return(head);
}

void save_1(struct employee *head) //保存职工文件函数
{
 FILE *fp;
     struct employee *h*q;
     q=h=head;
     if((fp=fopen(“employee_list.txt““w“))==NULL) //创建文件并判断是否能打开
 {
        printf (“cannot open file\n“);
        exit(0);
 }
    

  while(h!=NULL)
  {    
  
  fprintf(fp“%s %s %s %s %s %s %s %s %s %s “h->numh->nameh->sexh->idh->addressh->telh->salaryh->departmenth->xlh->password);
  
     //fwrite(hsizeof(struct employee)1fp);
  h=h->next;
  }
  
    fclose(fp);
    free(h);
free(q);
}
void save_2(struct employee *head) //保存管理员文件函数
{
 FILE *fp;
     struct employee *h*q;
     q=h=head;
     if((fp=fopen(“admin_list.txt““w“))==NULL) //创建文件并判断是否能打开
 {
        printf (“cannot open file\n“);
        exit(0);
 }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-06-12 16:26  职工信息管理系统(C 链表)\
     文件         229  2010-12-04 15:57  职工信息管理系统(C 链表)\admin_list.txt
     文件         306  2010-12-04 15:56  职工信息管理系统(C 链表)\employee_list.txt
     文件       31456  2010-12-05 13:41  职工信息管理系统(C 链表)\main.c

评论

共有 条评论