资源简介
1.1问题描述
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
1.2要求
职工对象包括工号、姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
(1)新增一名职工:将新增职工对象按姓名以字典方式存入职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
1.3实现提示
职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。
(2)对职工对象中的"姓名"按字典顺序进行排序。
(3)对排序后的职工对象进行增加、删除、查询、修改、排序等操作。
代码片段和文件信息
#include
#include
#include
#include
#define I 100
static char tempstr[20]; /*用于临时存储输入信息的数组*/
static struct staff
{
int num;
char name[20];
char sex;
long byear;//birth year 出生年月
long iyear;//imploy year 工作年月
char education[20];
char duty[20];
char address[20];
char phone[20];
struct staff *next;
}*head=NULL*thisn*newnsta[I]={0}temp; /*temp用于交换的中间量*/
void cin(void); /*输入信息*/
int identify(int num); /*对职工号是否重复进行验证*/
void cout(void); /*输出信息*/
void seek(void); /*查询排序*/
void del(void); /*删除职工信息*/
int record(void); /*将文件中的数据录入结构体数组中*/
void iyear(int j); /*按工作年月排序*/
void education(int j); /*按学历排序*/
void modify(void); /*修改职工信息*/
void descending(void); /*学历降序输出*/
void ascending(void); /*学历升序输出*/
void printmsg(int i); /*输出信息*/
int main(void)
{
int flag=1;
while(flag)
{
system(“cls“); /*清屏*/
printf(“ 欢迎登陆职工信息管理系统!\n“);
printf(“ 【1】 输入职工信息 【2】 输出职工信息\n“);
printf(“ 【3】 信息查询排序 【4】 删除职工信息\n“);
printf(“ 【5】 修改职工信息 \n“);
printf(“请输入以上数字,选择相应的功能: “);
switch (getchar())
{
case ‘1‘:cin();break; /*调用输入信息的函数*/
case ‘2‘:cout();break; /*调用输出信息的函数*/
case ‘3‘:seek();break; /*调用排序的函数*/
case ‘4‘:del();break; /*调用删除职工信息函数*/
case ‘5‘:modify();break; /*调用修改职工信息的函数*/
default:flag=0;break; /*跳出循环体,结束程序*/
}
}
return 0;
}
void cin(void) /*输入信息的函数*/
{
FILE *fp;
int receive; /*接收返回值*/
if((fp=fopen(“information.txt““a+“))==NULL) /*为读写打开一个文本文件*/
{
printf(“文件打开错误\n“);
exit(1); /*关闭所有文件,终止正在执行的程序,待用户检查出错误,修改后再运行*/
}
newn=(struct staff *)malloc(sizeof(struct staff));
if(head==NULL) /*连接链表*/
{
head=newn;
thisn=newn;
thisn->next=NULL;
}
else
{
thisn=head;
while(thisn->next!=NULL)
thisn=thisn->next;
thisn->next=newn;
thisn=newn;
}
getchar(); /*接收缓冲区中选择菜单时多余的回车*/
fputc(‘\n‘fp); /*每次记录信息前先换行*/
printf(“请输入职工号:“);
gets(tempstr);
thisn->num=atoi(tempstr); /*atoi()将字符串转换成整型数*/
receive=identify(thisn->num);
while(receive)
{
printf(“请输入职工号:“);
gets(tempstr);thisn->num=atoi(tempstr);
receive=identify(thisn->num);
}
fputs(tempstrfp);
fputs(“ “fp); /*信息排版的需要*/
printf(“请输入姓名:“);
gets(thisn->name);
fputs(thisn->namefp);
fputs(“ “fp);
printf(“请输入性别(填F或M):“);
thisn->sex=getchar();getchar();
fputc(thisn->sexfp);
fputs(“ “fp);
printf(“请输入出生年月(如199001):“);
gets(tempstr);thisn->byear=atoi(tempstr);
fputs(tempstrfp);
fputs(“ “fp);
printf(“请输入工作年月(如199001):“);
gets(temp
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-19 22:22 职工管理系统PPT WORD C语言代码\
文件 17849 2011-12-06 15:01 职工管理系统PPT WORD C语言代码\employee.c
文件 304128 2011-12-19 22:22 职工管理系统PPT WORD C语言代码\职工管理系统.doc
文件 1935360 2011-12-19 22:22 职工管理系统PPT WORD C语言代码\职工管理系统.ppt
相关资源
- 职工工资管理系统C语言
- 数据结构课程设计vc6.o编译有MFC界面的
- 职工管理系统 Oracle课程设计
- c++数据结构课程设计-校园最短路径采
- 用MFC实现的职工管理系统
- 数据结构课程设计公交线路图.rar
- 基于多态的职工管理系统VS2017可运行
- 数据结构课程设计旅游路线
- 交通模拟-c语言数据结构课程设计
- BTree数据结构课程设计C++版
- 停车场管理系统 MFC 数据结构课程设计
- 简单的基于MFC的职工管理系统数据库
- 数据结构课程设计-航空订票系统
- 数据结构课程设计校园导航系统
- 数据结构课程设计 二叉排序树的实现
- 数据结构课程设计文本编辑C语言描述
- 数据结构课程设计图书管理系统
- 数据结构课程设计c++排序算法的比较
- 数据结构课程设计c++图书管理系统源
- C语言数据结构课程设计迷宫问题
- 数据结构课程设计\\算术表达式求解
- 数据结构课程设计学生作业管理系统
- c语言宿舍管理查询软件源代码数据结
- 数据结构课程设计C语言版运动会分数
- 学生社团管理系统数据结构课程设计
- 数据结构课程设计-班级通讯录
- c++ c 数据结构 课程设计 学生成绩管理
- 数据结构课程设计 带括号的算术表达
- 职工管理系统数据结构)
- 《C++面向对象程序设计》课程设计—
评论
共有 条评论