实验二 编写员工人事管理的应用程序
来源:互联网 发布:万国数据加班多吗 编辑:程序博客网 时间:2024/04/30 08:39
实验二 编写员工人事管理的应用程序
实验目的
在C语言环境下(Turbo C或VC)编写一个简单的员工人事管理的应用程序。
通过本实验,使学生能够在C语言环境下熟练地编写基本的应用程序。
实验意义
通过本实验,使学生能够进一步理解C语言中动态存储分配的使用,熟悉指针和数组的使用方法。
实验背景
某软件公司大约有30名员工,每名员工有姓名、工号、职务等属性,每年都有员工离职和入职。把所有员工按照顺序存储结构建立一个线性表,建立离职和入职函数,当有员工离职或入职时,修改线性表,并且打印最新的员工名单。
实验步骤及要求
1、设计员工人事信息的存储结构
2、建立10名员工的初始资料
3、增加2名新员工,存储在顺序表的头部
4、删除2名员工的所有信息,保持顺序表的结构
5、显示现有员工的所有信息
6、提交源程序清单及程序注释
7、提交程序使用方法和程序使用界面
8、上机演示实验结果
实验学时
3学时
#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Worker{ char name[20]; //员工姓名 char num[10]; //员工工号 char job[20]; //员工职位 struct Worker *next; //指向下一个员工}Worker,*linklist;int initlist(linklist &W) //初始化{ if(!W) return 0; W->next=NULL; //初始 指针为空 return 1;}int input(linklist &W) //建立员工信息{ linklist p; p=(linklist)malloc(sizeof(Worker)); //为新节点申请空间 if(!p) //申请未成功 {return 0;} else // 输入每一位员工信息 { printf("请输入姓名:\n"); scanf("%s",p->name);getchar(); printf("请输入工号:\n"); scanf("%s",p->num);getchar(); printf("请输入职位:\n"); scanf("%s",p->job);getchar(); } p->next=W->next; //头结点插入 p节点指向并替代第一个节点 W->next=p; //W指向第一个节点 return 0;}int del(linklist &W,char num[10]) //按员工号删除员工信息{ Worker *p,*q; p=W->next; q=W; while(!(strcmp(p->num,num)==0)&&p) //匹配员工号 { q=p; p=p->next; } if(p) //删除p结点 q->next=p { q->next=p->next; free(p); printf("删除信息成功!\n"); } else //p位置不存在 {printf("删除信息不成功!\n");} return 1;}int show(linklist &W) //显示员工信息{ linklist p; for(p=W->next;p;p=p->next) //输出每一位员工信息 { printf("姓名:%s ",p->name); printf("工号:%s ",p->num); printf("职位:%s \n",p->job); } return 0;}int main(){ linklist W; int a; char str[100],str2[100]; initlist(W); printf("请输入要执行的操作:input,del,show\n"); while(scanf("%s",str)!=EOF) //选择进行那一项操作 { if(!strcmp(str,"input")) { printf("请输入要输入的人数:\n"); scanf("%d",&a); while(a--) //判断循环次数 {input(W);} } else if(!strcmp(str,"del")) { printf("请输入要删除员工的工号:\n"); scanf("%s",str2); del(W,str2); } else if(!strcmp(str,"show")) {show(W);} printf("请输入要执行的操作:input,del,show\n"); } return 0;}
- 实验二 编写员工人事管理的应用程序
- C++实验二+简单程序的编写
- 人事管理的开题报告
- 实验一 编写学生学籍管理的应用程序
- 实验三 编写解决约瑟夫环问题的应用程序
- 人事管理
- framebuffer实验:编写应用程序测试lcd驱动
- Java--第十三周实验--任务0--编写一个简单的Java应用程序
- 实验四 编写求解斐波那契序列的应用程序
- v4l2的应用程序编写
- v4l2的应用程序编写
- 实验二十一 SCVMM部署Web应用程序
- 人事管理与人力资源管理的对比分析:
- 一个关于人事管理的详细用例
- 做好人事管理有利于公司的竞争
- 人事管理是任何企事业单位都需要的
- 实验二、编写ORALCE触发器与过程
- 实验1_练习使用editplus编写运行JAVA应用程序
- 光棍节程序员闯关秀之思考
- 清纯美女
- 转发和重定向的区别
- php GD库
- 其实没啥优惠的
- 实验二 编写员工人事管理的应用程序
- 周末小记
- android应用开发笔记---Activity布局
- 学习总结:2012-11-11
- SQL入门简单语句
- 安装UltraBlog.vim,用Vim写博客(转)
- Hypertable在Delete命令后执行Insert命令时应该注意的问题
- 《计算机网络基础》复习提纲
- ios:音频和视频(未完)