数据结构大作业含源代码_第1页
数据结构大作业含源代码_第2页
数据结构大作业含源代码_第3页
数据结构大作业含源代码_第4页
数据结构大作业含源代码_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构大作业

作业题目:职工信息管理系统姓

名:学号:

班级:

______________________指导教师:

______________________日期:

一、主要功能:

这个职工信息管理系统是由C语言编写的程序,它用起来很方便又很灵便。它由输入

职工信息,输出职工信息,按职工号,部门号,工资排序,按职工号,部门号,工资来输出

职工的所有信息。删除有关职工的所有信息,保存职工的所有信息并退出等11个模块儿组

成。

二、实验环境:C语言、C++、C#等等。

三、功能说明:

下面按步骤来介绍一下,职工信息管理系统的基本操作。

这是运行程序以后浮现的主界面。如图(1)所示:

-----------★★★★★★★★★★★★★★★★★------------

----------------☆☆☆欢迎使用职工信息管理系统☆☆☆-----------------

1t工2

有的职工信息、

3工

职4

号有的职工号码

5门6

部i

7工

和8有职王的工资

9i的b

0盘

的所有信息以后,界面上会显示出《输入完成!》的命令。如图(2)所示:

再6做件看份\DAZUOY~l\da.exe

人职

^号

^部

门o:1

|:1

职11

r贽

工g30

2.吊

命D:\SJ:件备份\DAZU0Y-l\da.exe

身的职工

职工的姓名职工的号码部门号职工的工资

jack1113000

John22221500

hu31232000

图(3)输出所有的职工信息

3.按职工号排序

该模块儿的功能是按职工号排序所有的职工。我们按3的时候,界面上会显示出《排序

完成!》的命令。如图(4)所示:

4.输出所有的职工号码

该模块儿的功能是显示出已排序好的所有职工的号码。操作如图(5)所示:

图(5)输出所有的职工号

5.按部门号排序

该模块儿的功能是按部门号排序所有职工的部门号。我们按5的时候,界面上会显示出

《排序完成!》的命令。如图(6)所示:

6.输出所有的部门号

该模块儿的功能是显示出已排序好的所有部门号。操作如图(7)所示:

图(7)输出所有的部门号

7.按职工的工资排序

该模块儿的功能是按工资排序所有职工的工资。我们按7的时候,界面上会显示出《排

序完成!》的命令。如图(8)所示:

图(8)按职工的工资排序

8.输出所有职工的工资

该模块儿的功能是显示出已排序好的所有职工的工资。操作如图(9)所示:

图(9)输出所有职工的工资

9.删除职工的所有信息

该模块儿的功能是删除有关职工的所有信息。我们按9的时候界面上会显示出《删除成

功!》的命令。如图(10)所示:

10.保存

该模块儿的功能是保存有关职工的所有信息。在这个程序中,该保存的文件尾随这个程序

的位置而保存。我们按b得时候界面上会显示出《保存成功!》的命令。如图(11)所示:

圆D:璇件蓄份\DAZUOY~l\da.e:

图(11)保存

11.退出

该模块儿的功能是退出系统,按0即可。

四、程序代码如下:

#include<stdio.h>

#definemaxsize20

typedefstructnode

(

intno,depno,salary;产no为职工号,depno为部门号salar为y工资数*/

charname[maxsize];/*职工姓名*/

structnode*pno,*pd叩no,*psalary,*n/e*xptn;o为职工号指针,pdepno为部门号指针,psalary为工资数

指针*/

[employee;

employee*insert(employee*head)

(

employee*h;

if(head==NULL)

(

employee*s,*h1;

h1=malloc(sizeof(employee));

s=malloc(sizeof(employee));

clrscr();

请输入职工姓名

请输入职工号

请输入部门号

请输入职工的工资

s->pno=NULL;

s->pdepno=NULL;

s->psalary=NULL;

s->next=NULL;

hI->pno=NULL;

h1->pdepno=NULL;

h1->psalary=NULL;

hI->next=s;

h=hl;

输入完成

getch();

)

if(head!=NULL)

(

employee*s,*p,*hl;

hl=head;

p=hl->next;

s=malloc(sizeofi(employee));

if(p->next!=NULL)

{

while(p->next!=NULL)

p=p->ncxt;

clrscr();

请输入职工姓名

请输入职工号

请输入部门号

请输入职工的工资

s->pno=NULL;

s->pdepno=NULL;

s->psalary=NULL;

s->next=NULL;

p->next=s;

h=hl;

输入完成

getch();

1

if(p->next==NLJLL)

(

clrscr();

请输入职工姓名

请输入职工号

请输入部门号

请输入职工的工资

s->pno=NULL;

s->pdepno=NULL;

s->psalary=NULL;

s->next=NULL;

p->next=s;

h=hl;

输入完成

getch();

)

}

return(h);

)

voidoutput(employee*hcad)

(

employee*p;

if(head==NULL)

(

clrscr();

这表格是空的,请重新输入

I

else

(

p=head->next;

if(p!=NULL)

{

clrscr();

所有的职工

职工的姓名职工的号码部门号职工的工资

while(p!=NULL)

(

p=p->next;

)

I

)

getch();

)

employee*SortByEmployeeNumber(employee*head)

employee*p,*q,*s,*h,*temp;

temp=malloc(sizeof(employee));

h=head;

for(s=head->next;s!=NULL;s=s->next)

(

P=s;

fbr(q=s->next:q!=NULL;q=q->next)

if((p->no)>(q->no))

p=q;

if(p!=s)

temp->no=s->no;

temp->depno=s->depno;

temp->salary=s->salary;

strcpy(temp->name,s->name);

s->no=p->no;

s->depno=p->depno;

s->salary=p->salary;

strcpy(s->name,p->name);

p->no=temp->no;

p->depno=temp->depno;

p->salary=temp->salary;

strcpy(p->name,temp->name);

clrscr();

排序完成

getch();

retum(h);

1

employee*SortByDepartmentNumber(employee*head)

(

employee*p,*q,*s,*h,*tcmp;

temp=malloc(sizeof(employee));

h=head;

fbr(s=head->next;s!=NULL;s=s->next)

(

p=s;

fdr(q=s->next;q!=NULL;q=q->next)

if((p->depno)>(q->depno))

p=q;

if(p!=s)

temp->no=s->no;

temp->depno=s->depno;

tcmp->salar)/=s->salary;

strcpy(temp->name,s->name);

s->no=p->no;

s->dcpno=p->dcpno;

s->salary=p->salary;

strcpy(s->nanie,p->name);

p->no=temp->no;

p->depno=temp->depno;

p->salary=tcmp->salary;

strcpy(p->name,temp->name);

)

)

clrscrQ;

排序完成

getch();

rctum(h);

)

employee*SortByWages(employee*head)

(

employee*p,*q,*s,*h,*temp;

tcmp=malloc(sizeofi(employce));

h二head;

for(s=head->next;s!=NULL;s=s->next)

(

p=s;

fbr(q=s->next;q!=NULL;q=q->next)

{

if((p->salary)>(q->salary))

p=q;

)

if(p!=s)

{

temp->no=s->no;

temp->depno=s->depno;

temp->salary=s->salary;

strcpy(temp->name,s->name);

s->no=p->no;

s->depno=p->depno;

s->salary=p->salary;

strcpy(s->name,p->name);

p->no=temp->no;

p->depno=temp->depno;

p->salary=temp->salary;

strcpy(p->name,temp->name);

}

)

clrscr();

排序完成

getch();

return(h);

)

employee*DeleteAllInformation()

(

employee*h;

h=NULL;

clrscr();

删除成功

getch();

retum(h);

}

voidshow()

(

textcolor(22);

clrscr();

1।

1---★★★★★★★★★★★★★★★★---|

1----------☆-女-☆欢迎使用职工信息管理系统☆☆☆---------1

1

11.输入职工的信息2.输出所有的职工信息1

13.按职工号排序4.输出所有的职工号码1

15.按部门号排序6输出所有的部门号1

17.按职工的工资排序8.输出所有职工的工资1

19.删除职工的所有信息b.保存1

10.退出

।1

voidsave(structemployee*head)

(

FILE*file;

employee*p;

职工记录表/*打开文件,并判断打开是否正常*/

不能打开文件

/*将换行符号写入文件*/

职工的姓名职工的号码部门号职工的工资

fbr(p=head->next;p!=NULL;p=p->next)

写入记录*/

/*将换行符号写入文件号

)

fdose(file);/*关闭文件*/

clrscrQ;

保存成功

getch();

)

main()

(

charflag;

employee*head;

hcad=NULL;

clrscr();/*在win-tc中显示汉字*/

show();

while(flag!='0')

(

switch(flag)

(

caseT:head=insert(head);

show();break;

case2:output(hcad);

show();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论