数据结构课程设计、职工信息管理系统
2016-12-31 16:04
806 查看
1. /* 2. * Copyright(c)2016, 烟台大学计算机与控制工程学院 3. * All rights reserved. 4. * 文件名称:Kaka.cpp 5. * 作 者:魏铭阳 6. * 完成日期:2016年12月31日 7. * 8. */
(1)daima.cpp
#include<stdio.h> #include<stdlib.h> #include<string.h> #include "head.h" #define OK 1 #define ERROR 0 int Initlist(Linklist *L) //初始化单链表 { (*L)=(Linklist)malloc(sizeof(LNode)); if(!(*L)) return (0); (*L)->next=NULL; return OK; } int CreatList(Linklist L)//头插法生成单链表 { Linklist p; p=(Linklist)malloc(sizeof(LNode)); if(!p) { return (0); } else { printf("请输入员工信息\n"); printf("编号:"); scanf("%s",p->data.id); printf("姓名:"); scanf("%s",p->data.name); printf("性别:"); scanf("%s",p->data.sex); printf("年龄:"); scanf("%s",p->data.age); printf("学历:"); scanf("%s",p->data.edu); printf("工资:"); scanf("%s",p->data.salary); printf("电话:"); scanf("%s",p->data.phone); printf("地址:"); scanf("%s",p->data.address); } p->next=L->next; L->next=p; return OK; } /*void baocun () { FILE *fp; int b = 100; fp = fopen("xxxx.txt", "w"); fprintf(fp, "%s%d\n", a, b); fclose(fp); }*/ void Display(Linklist L)//显示职工信息 { Linklist p; for(p=L->next;p;p=p->next) { printf("编号: %s\n",p->data.id); printf("姓名: %s\n",p->data.name); printf("性别: %s\n",p->data.sex); printf("年龄: %s\n",p->data.age); printf("学历: %s\n",p->data.edu); printf("工资: %s\n",p->data.salary); printf("电话: %s\n",p->data.phone); printf("地址: %s\n",p->data.address); printf("============================\n"); } } int SearchID(Linklist L,char id[20])//ID查询 { LNode *p; p=L; while(p) { if(strcmp(p->data.id,id)==0) { printf("编号 %s\n",p->data.id); printf("姓名 %s\n",p->data.name); printf("性别 %s\n",p->data.sex); printf("年龄 %s\n",p->data.age); printf("学历 %s\n",p->data.edu); printf("工资 %s\n",p->data.salary); printf("电话 %s\n",p->data.phone); printf("地址 %s\n",p->data.address); } p=p->next; } return OK; } int SearchName(Linklist L,char name[10])//姓名查询 { LNode *p; p=L; while(p) { if(strcmp(p->data.name,name)==0) { printf("编号 %s\n",p->data.id); printf("姓名 %s\n",p->data.name); printf("性别 %s\n",p->data.sex); printf("年龄 %s\n",p->data.age); printf("学历 %s\n",p->data.edu); printf("工资 %s\n",p->data.salary); printf("电话 %s\n",p->data.phone); printf("地址 %s\n",p->data.address); } p=p->next; } return OK; } void SortID(Linklist L)//编号排序 { Linklist p,q; struct employee temp; for(p=L->next;p!=NULL;p=p->next) { for(q=p->next;q!=NULL;q=q->next) { if((strcmp(p->data.id,q->data.id)>0)) { temp=q->data; q->data=p->data; p->data=temp; } } } } void SortName(Linklist L)//姓名排序 { Linklist p,q; struct employee temp; for(p=L->next;p!=NULL;p=p->next) { for(q=p->next;q!=NULL;q=q->next) { if((strcmp(p->data.name,q->data.name)>0)) { temp=q->data; q->data=p->data; p->data=temp; } } } } int Ins(Linklist L, char id[20])//插入信息 { LNode *pre,*s; pre=L; while(pre->next!=NULL) { pre=pre->next; if((strcmp( pre->data.id,id))==0) { s=(LNode*)malloc(sizeof(LNode)); printf("请输入要插入员工信息\n"); printf("编号:"); scanf("%s",s->data.id); printf("姓名:"); scanf("%s",s->data.name); printf("性别:"); scanf("%s",s->data.sex); printf("年龄:"); scanf("%s",s->data.age); printf("学历:"); scanf("%s",s->data.edu); printf("工资:"); scanf("%s",s->data.salary); printf("电话:"); scanf("%s",s->data.phone); printf("地址:"); scanf("%s",s->data.address); s->next=pre->next; pre->next=s; printf("插入员工信息成功!\n"); } } return OK; } int Alter(Linklist L,char id[20])//更改信息 { int c; LNode *p; p=L; while(p) { if(strcmp(p->data.id,id)==0) { printf("请输入要修改的选项(1编号,2姓名,3性别,4出生年月\n"); printf(" 5学历,6职务,7电话,8地址):"); scanf("%d",&c); switch(c) { case 1: { printf("请输入修改员工编号(原编号是%s):",p->data.id); scanf("%s",p->data.id); printf("修改员工信息成功!\n"); break; } case 2: { printf("请输入员工修改姓名(原姓名是%s):",p->data.name); scanf("%s",p->data.name); printf("修改员工信息成功!\n"); break; } case 3: { printf("请输入员工修改性别原(性别是%s):",p->data.sex); scanf("%s",p->data.sex); printf("修改员工信息成功!\n"); break; } case 4: { printf("请输入员工修改年龄(原年龄是%s):",p->data.age); scanf("%s",p->data.age); printf("修改员工信息成功!\n"); break; } case 5: { printf("请输入员工修改学历(原学历是%s):",p->data.edu); scanf("%s",p->data.edu); printf("修改员工信息成功!\n"); break; } case 6: { printf("请输入员工修改工资(原工资是%s):",p->data.salary); scanf("%s",p->data.salary); printf("修改员工信息成功!\n"); break; } case 7: { printf("请输入员工修改电话(原电话是%s):",p->data.phone); scanf("%s",p->data.phone); printf("修改员工信息成功!\n"); break; } case 8: { printf("请输入员工修改地址(原地址是%s):",p->data.address); scanf("%s",p->data.address); printf("修改员工信息成功!\n"); break; } } } p=p->next; } return OK; } int Del(Linklist L,char id[20])//按ID删除 { LNode *p; LNode *r; p=L->next; r=L; while(!(strcmp(p->data.id,id)==0)&&p) { r=p; p=p->next; } if(!p) printf("\n删除位置不合理\n"); else { r->next=p->next; free(p); printf("删除成功!\n"); } return OK; }(2)head.h
#ifndef HEAD_H_INCLUDED #define HEAD_H_INCLUDED struct employee { char id[20];//工号 char name[20];//姓名 char sex[20];//性别 char age[20];//年龄 char edu[20];//学历 char salary[20];//工资 char phone[30];//电话 char address[30];//地址 }; //存储结构 typedef struct LNode { struct employee data; struct LNode* next; }LNode,*Linklist; int Initlist(Linklist *L);//初始化单链表 int CreatList(Linklist L);//头插法生成单链表 void Display(Linklist L);//显示职工信息 int SearchID(Linklist L,char id[20]);//ID查询 int SearchName(Linklist L,char name[10]);//姓名查询 void SortID(Linklist L);//编号排序 void SortName(Linklist L);//姓名排序 int Ins(Linklist L, char id[20]);//插入信息 int Alter(Linklist L,char id[20]);//更改信息 int Del(Linklist L,char id[20]);//按ID删除 //void baocun (); #endif // HEAD_H_INCLUDED(3)main.cpp
#include<stdio.h> #include<stdlib.h> #include<string.h> #include "head.h" #define OK 1 #define ERROR 0 int main()//主函数 { system("color 3E"); Linklist L; int a,b; int x=1; int y; char m; char name[10]; char id[20]; Initlist(&L);//初始化单链表 while(x) { printf("◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n"); printf("◆ 欢迎使用职工信息管理系统 ◆\n"); printf("◆ ◆\n"); printf("◆ 【菜单】 ◆\n"); printf("◆ 1.录入职工信息 ◆\n"); printf("◆ 2.查询职工信息 ◆\n"); printf("◆ 3.职工信息排序 ◆\n"); printf("◆ 4.插入职工信息 ◆\n"); printf("◆ 5.浏览职工信息 ◆\n"); printf("◆ 6.修改职工信息 ◆\n"); printf("◆ 7.删除职工信息 ◆\n"); printf("◆ 【8】退出系统 ◆\n"); printf("◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n"); printf("请选择操作序号并按回车:"); scanf("%d",&y); switch(y) { case 1: { printf("*********************录入********************\n"); CreatList(L);//头插法生成单链表 do { printf("是否继续输入?(y/n):"); getchar(); scanf("%c",&m); if(m=='y') { CreatList(L);//显示职工信息 } } while(m!='n'); printf("*******************录入******************\n"); break; } case 2: printf("*********************查询********************\n"); printf("请输入查询方式(1按编号查询,2按姓名查找):"); scanf("%d",&a); if(a==1) { printf("请输入查询职工编号:"); scanf("%s",&id); SearchID(L,id);//ID查询 } if(a==2) { printf("请输入查询职工姓名:"); scanf("%s",&name); SearchName(L,name);//姓名查询 } printf("*******************查找******************\n"); break; case 3: printf("*********************排序********************\n"); printf("请输入排序方式(1按编号排序,2按姓名排序):"); scanf("%d",&b); if(b==1) { printf("按编号排序为:\n"); SortID(L);//编号排序 Display(L); } if(b==2) { printf("按姓名排序为:\n"); SortName(L);//姓名排序 Display(L);//显示职工信息 } printf("*******************排序******************\n"); break; case 4: printf("*********************插入********************\n"); printf("请输入要插入查找的职工号:"); getchar(); scanf("%s",&id); Ins(L,id);//插入信息 printf("*******************插入******************\n"); break; case 5: printf("*********************显示********************\n"); printf("所有职工信息如下所示\n"); Display(L);//显示职工信息 printf("*******************显示******************\n"); break; case 6: printf("*********************修改********************\n"); printf("请输入要修改员工编号:"); getchar(); scanf("%s",&id); Alter(L,id);//更改信息 printf("******************修改*******************\n"); break; case 7: printf("*********************删除********************\n"); printf("请输入删除员工编号:"); getchar(); scanf("%s",&id); Del(L,id);//按ID删除 printf("******************删除*******************\n"); break; case 8: x=0; printf("****************退出员工管理系统*****************\n"); break; default: printf("请输入正确序号!\n"); break; } } return 0; }
相关文章推荐
- 数据结构课程设计-ytu职工信息管理系统
- 数据结构课程设计报告-职工信息管理系统
- 数据结构课程设计-------学生信息管理系统
- 数据结构课程设计---学生信息管理系统
- 数据结构课程设计---学生信息管理系统
- 数据结构课程设计--学生信息管理系统
- 数据结构课程设计——学生信息管理系统
- 数据结构课程设计论文--学生信息管理系统
- 数据结构课程设计——学生信息管理系统
- 数据结构课程设计—学生信息管理系统
- 数据结构课程设计【学生信息管理系统(烟大版)】
- 数据结构课程设计-学生信息管理系统
- 数据结构课程设计—图书信息管理系统
- 数据结构课程设计-学生各方面信息管理系统
- 学生信息管理系统-数据结构课程设计
- 数据结构课程设计——学生信息管理系统
- 数据结构课程设计--协会信息管理系统管理
- 数据结构课程设计论文--学生信息管理系统
- 数据结构课程设计—学生系统管理
- 数据结构课程设计 图书管理系统