C语言人事管理附加流程图Word格式文档下载.docx

上传人:b****5 文档编号:17302279 上传时间:2022-12-01 格式:DOCX 页数:14 大小:62.28KB
下载 相关 举报
C语言人事管理附加流程图Word格式文档下载.docx_第1页
第1页 / 共14页
C语言人事管理附加流程图Word格式文档下载.docx_第2页
第2页 / 共14页
C语言人事管理附加流程图Word格式文档下载.docx_第3页
第3页 / 共14页
C语言人事管理附加流程图Word格式文档下载.docx_第4页
第4页 / 共14页
C语言人事管理附加流程图Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言人事管理附加流程图Word格式文档下载.docx

《C语言人事管理附加流程图Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言人事管理附加流程图Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

C语言人事管理附加流程图Word格式文档下载.docx

/*为头结点申请空间*/

Last=First;

/*将尾指针指向头结点*/

First->

prior=Last;

/*设置头结点的前驱指针*/

Last->

next=First;

/*设置头结点的后继指针*/

p=First;

/*设置当前记录指针为头结点*/

}

/*创建教师信息循环双链表*/

voidcreate()

intunit,flag=0;

floattemp;

TEACHER*info;

/*新增结点*/

init();

for(;

;

{

if(flag==1)break;

/*标志为1,不再输入*/

clrscr();

/*清屏*/

printf("

Pleaseenterteacherinfomation\n"

);

input@endenter\n"

info=(TEACHER*)malloc(sizeof(TEACHER));

/*为新增结点申请空间*/

if(!

info)/*没有空间出错处理*/

\noutofmemory"

exit(0);

}

No:

"

/*开始提示输入*/

scanf("

%s"

info->

no);

if(info->

no[0]=='

@'

)/*输入@结束输入*/

flag=1;

break;

Name:

name);

Sex:

sex);

Profess:

profess);

Dept:

dept);

Class:

class);

Workload:

%f"

&

temp);

info->

workload=temp;

if(strcmp(info->

profess,"

prof"

))unit=25;

/*教授*/

aprof"

))unit=20;

/*副教授*/

lect"

))unit=15;

/*讲师*/

ass"

))unit=10;

/*助教*/

lessonf=unit*info->

workload;

/*根据职称计算代课费*/

next=Last->

next;

/*新插入结点插在表末尾*/

/*新结点的前驱为原来的尾结点*/

next=info;

/*原来尾结点的后继为新结点*/

Last=info;

/*新的尾结点为新结点*/

/*头结点的前驱为尾指针*/

return;

/*显示第一条记录*/

voidfirstr()

if(First==Last)return;

clear();

p=First->

print(p);

/*显示最后一条记录*/

voidlastr()

p=Last;

/*显示前一条记录*/

voidpriorr()

if(First==Last)

if(p->

prior!

=First)

p=p->

prior;

else

/*显示下一条记录*/

voidnextr()

if(p==Last)

/*从文件读数据*/

voidload()

TEACHER*p1;

FILE*fp;

if((fp=fopen("

data.txt"

"

rb"

))==NULL)

cannotopenfile\n"

while(First->

next!

=First)/*如果当前表不空,删除当前表*/

p1=First->

next=p1->

free(p1);

free(First);

First=(TEACHER*)malloc(sizeof(TEACHER));

/*创建头结点*/

First)

outofmemory!

\n"

while(!

feof(fp))/*当文件不为空时读数据*/

p1=(TEACHER*)malloc(sizeof(TEACHER));

p1)

if(1!

=fread(p1,sizeof(TEACHER),1,fp))

break;

/*读数据*/

p1->

/*将新读出的数据链在当前表尾*/

next=p1;

Last=Last->

fclose(fp);

/*关闭文件*/

/*保存数据到磁盘文件*/

voidsave()

/*定义指向文件的指针*/

/*定义移动指针*/

wb"

))==NULL)/*为输出打开一个文本文件,如没有则建立*/

/*如不能打开文件,显示提示信息,结束程序*/

/*返回*/

p1=First;

/*移动指针从头指针开始*/

while(p1->

=First)/*如p1不为空*/

fwrite(p1->

next,sizeof(TEACHER),1,fp);

/*写入一条记录*/

p1=p1->

/*指针后移,处理下一条记录*/

/*删除记录*/

voiddelete()

/*表为空*/

if(p==First)/*p为头结点*/

if(p==Last)/*p为尾结点*/

Last=p->

p1=p;

/*一般情况*/

prior->

next->

prior=p1->

/*输出记录*/

voidprint(TEACHER*p)

intx1=70,y1=100;

charstr[20];

outtextxy(x1+110,y1+75,p->

outtextxy(x1+360,y1+75,p->

outtextxy(x1+110,y1+105,p->

outtextxy(x1+360,y1+105,p->

outtextxy(x1+110,y1+135,p->

outtextxy(x1+360,y1+135,p->

sprintf(str,"

p->

workload);

outtextxy(x1+110,y1+165,str);

lessonf);

outtextxy(x1+360,y1+165,str);

/*****清除界面显示信息******/

voidclear()

intx1=70,y1=100,m,n;

for(m=0;

m<

4;

m++)

for(n=0;

n<

2;

n++)

setfillstyle(1,WHITE);

/*白色覆盖原有信息*/

bar(x1+n*250+100,y1+50+m*30+20,x1+n*250+200,y1+50+m*30+40);

/*sort排序函数*/

voidsort()

TEACHER*p0,*p00,*p1,*p11,*templast;

if(First->

next==First||First->

next==First)return;

p00=First;

/*作排好序表的表头和第一个结点*/

p0=First->

p1=p0->

prior=p0;

p0->

templast=p0;

while(p1!

=First)/*当p1没有转回到表头时*/

p11=p1;

/*将p11作为待插入结点*/

/*p1指向下一个待排序结点*/

/*从头结点开始寻找插入位置*/

p0=p00->

/*p0是p00的后继*/

while(p0!

=First&

&

p11->

workload>

p0->

workload)

p00=p0;

/*当新插入结点比当前表结点大时,指针后移*/

p0=p0->

if(p0==First)/*如果p0移到了头结点*/

p11->

next=p00->

prior=p00;

p00->

next=p11;

prior=p11;

templast=p11;

else/*新插入结点介于p00和p0之间*/

next=p0;

Last=templast;

/*设置尾指针*/

/*设置当前记录指针*/

流程图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1