版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构大作业
作业题目:职工信息管理系统姓
名:学号:
班级:
______________________指导教师:
______________________日期:
一、主要功能:
这个职工信息管理系统是由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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备备品备件管理控制规范
- 物流专员年度物流述职报告
- 人工流产并发症及处理
- 国网安全工作规定
- 2026年安全工程师考试安全设施事故调查处理模拟试卷及答案
- 施工现场卫生专项施工方案
- 水利工程师年度水利项目述职报告
- 棉纺织企业焊工定期维护安全操作规程
- 大班健康磕了碰了
- 美容院安全知识
- 2026湖南衡阳市衡东县第二批事业单位公开选调工作人员88人笔试备考题库及答案详解
- 2026湖南常德市鼎城区部分事业单位公开招聘高层次人才11人笔试备考试题及答案详解
- 2026拖拉机驾驶证科目一理论考试复习题库(含完整答案)
- 《DGTJ082467-2025超低能耗建筑设计标准居住建筑》
- 陕西延长石油集团有限责任公司 招聘专用笔试题库(历年真题+完整答案详解)
- 2026年昆明市石林国有资本投资集团有限公司及下属公司招聘(18人)笔试参考题库及答案详解
- 贯彻落实《全国党员教育培训工作规划(2024-2028年)》中期评估的工作报告
- 医疗AI伦理问题探讨与行业规范建设研究报告
- 2026四川成都兴城投资集团有限公司招聘11人笔试历年常考点试题专练附带答案详解
- 2026-2030中国四氧化三铁行业投资前景研究及销售战略分析研究报告
- 诊所依法执业自查自纠整改报告
评论
0/150
提交评论