首页 > 编程知识 正文

职工信息管理系统报告,课程设计学籍管理系统

时间:2023-05-06 11:19:07 阅读:61379 作者:2110

# include stdio.h # include stdlib.h # include string.htypedefstructphone { charnum [ 30 ]; char name[50]; char sex[10]; char year[50]; char school[50]; char zhiwei[50]; char money[10]; char地址[ 30 ]; char tel[30]; 结构手机*下一步; (}手机; phone *head; void Initiate (; 语音菜单(; phone *Create (; void Find (; void Alter (; void Delete (; 语音列表(; phone *write_in (; phone *write_out (; phone*write_in(phone*head ) {FILE *fp; phone *p; 无法打开if () FP=fopen(d:员工信息. txt (,w ) ) )==NULL ) {printf文件! n '; 退出(0; (}p=head-next; If (头!=null(while(p!=null(fprintf ) FP、' %s%s%s%s%s%s%s ) s '、p-num、p-name、p-sex、p-year、p-school、p-schooood p=p-next; }fclose(FP ); 返回头; }phone *write_out () {FILE *fp; phone *p、*pre、*tail; head=(phone* ) malloc ) sizeof (phone ); strcpy (头编号,'0'; strcpy (头名称,'0'; strcpy (头做爱,'0'; strcpy (头年,'0'; src py (头寸,((0); strcpy(head-Zhiwei,'0'; strcpy (头单元,'0'; strcpy (头地址,' '; src py (头戴尔,'0'; tail=pre=head; FP=fopen(d:员工信息. txt )、(r ); 打开if(FP==null ) {printf ) '文件失败! ' ); 退出(0; (p=(Phone* ) malloc ) sizeof (phone ); p-next=空值; 头下一个=空; while(FP,' % s % s % s % s % s % s % s ',p-num,p-name,p-sex,p-year,p-school,p-zhing=EOF tail-next=p; tail=p; p=(phone* ) malloc ) sizeof (phone ); p-next=空值; }fclose(FP ); 返回头; void Initiate () if ) ) head=(phone* ) malloc ) sizeof (phone ) )==NULL ) exit(1) )1); 头下一个=空; //菜单void Menu () printf(**************员工信息管理系统****************** ' ) ) ) ) ) printf((n ); printf(1.创建信息.n ); printf(2.咨询信息。 n ); printf(3.修改信息。 n ); printf(4.删除信息! n '; printf(5.显示所有信息。 n ); printf(0.退出系统。 n ); //创建通讯录phone *Create () { phone *p1,*p2; int m,I; 请输入printf ('创建个数: ); scanf('%d ',m ); for(I=1; i=m; I ) ) P1=(Phone* ) malloc ) sizeof ) Phone ); printf ('请输入第%d条的信息! n ',I; printf (请输入员工编号:(n ) ); scanf('%s ',p1-num ); printf (姓名:(n ); 扫描(' % s ',p1-name ); printf (性别:(n ) );       scanf("%s",p1->sex);        printf("出生年月:n");        scanf("%s",p1->year);        printf("学历:n");        scanf("%s",p1->school);        printf("职务:n");        scanf("%s",p1->zhiwei);        printf("工资:n");        scanf("%s",p1->money);        printf("地址:n");        scanf("%s",p1->address);        printf("电话:n");        scanf("%s",p1->tel);        p1->next=NULL;        if(head->next==NULL)           head->next = p1;        else        {            for(p2=head;p2->next!=NULL;p2=p2->next);       //找到结点尾            p2->next = p1;        }     }    printf("信息已添加!n");    head=write_in(head);    return head;                                      //保存到链表}//查找通讯录信息void Find(){    phone *p;    char name[50];    if(head->next==NULL)    {      printf("此系统为空!n");      return;    }    printf("请输入要查找的姓名:n");    scanf("%s",&name);    for(p=head->next;p!=NULL;p=p->next)    {       if(strcmp(p->name,name)==0)       {           printf("职工号t姓名t性别t出生年月t学历t职务t工资t地址t电话n");           printf("%st%st%st%st%st%st%st%st%sn",p->num,p->name,p->sex,p->year,p->school,p->zhiwei,p->money,p->address,p->tel);       }       else  if(p->next==NULL)          printf("无此信息!n");    }    head=write_in(head);}//修改通讯录信息void Alter(){ head=write_out();   char name[50];                                     //先查找 后删除   phone *p=head->next;   if (p == NULL)   {      printf("此系统为空!n");      return;   }   printf("请输入要修改的姓名:n");   scanf("%s",name);   while(p!=NULL)   {       if(strcmp(p->name,name)==0)        {        printf("请输入需要插入的信息");     printf("姓名:n");        scanf("%s",p->name);        printf("性别:n");        scanf("%s",p->sex);        printf("出生年月:n");        scanf("%s",p->year);        printf("学历:n");        scanf("%s",p->school);        printf("职务:n");        scanf("%s",p->zhiwei);        printf("工资:n");        scanf("%s",p->money);        printf("地址:n");        scanf("%s",p->address);        printf("电话:n");        scanf("%s",p->tel);        break;  }   }   printf("修改成功");    head=write_in(head);}  //删除通讯录信息void Delete(){ head=write_out();   char  name[50];                                     //先查找 后删除   phone *p = head->next, *p1 =head->next,*p2;   if (head->next == NULL)   {     printf("此通讯录为空!n");     return;   }   printf("请输入要删除的姓名:n");   scanf(" %s",name);   while ((strcmp(p->name,name)!=0 )&& p->next != NULL)   {      p1=p;      p =p->next;   }   if (strcmp(name, p->name)==0)                    //输出删除信息   {       if (p == head->next&&p->next!=NULL)         head->next = p->next;       else  if(p==head->next&&p->next==NULL)       {           head->next=p->next;           printf("信息已删除,先此通讯录为空!!n");           return;       }       else         p1->next = p->next;   }   else   {       printf("此信息不存在!!!n");       return;   }   printf("此信息已删除!");   printf("职工号t姓名t性别t出生年月t学历t职务t工资t地址t电话n");   for(p2=head->next;p2!=NULL;p2=p2->next)      printf("%st%st%st%st%st%st%st%st%sn",p->num,p->name,p->sex,p->year,p->school,p->zhiwei,p->money,p->address,p->tel);      head=write_in(head);}//显示所有记录void List(){ head=write_out();   phone *p;   if(head->next==NULL)   {       printf("此系统中无记录!n");       return;   }   printf("职工号t姓名t性别t出生年月t学历t职务t工资t地址t电话n");   for(p=head->next;p!=NULL;p=p->next)      printf("%st%st%st%st%st%st%st%st%sn",p->num,p->name,p->sex,p->year,p->school,p->zhiwei,p->money,p->address,p->tel);}int main(){   int  choice;   char  yes_no;     Initiate();   do   {      Menu();      printf("请选择0-5的数字n");      scanf("%d",&choice);      printf("n");      switch(choice)      {          case 1:Create();          break;          case 2:Find();          break;          case 3:Alter();          break;          case 4:Delete();          break;          case 5:List();          break;          case 0:          printf("************感谢您的使用************n");          exit(0);          break;          default:          printf("输入有误!请重新输入n");          break;      }      printf("是否继续  Y  or   N?  n");      do      {         scanf("%c",&yes_no);      }while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');   }while(yes_no=='Y'||yes_no=='y');}

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。