数据结构大作业含源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构大作业
作业题目:职工信息管理系统
姓名:
学号:
班级:
指导教师:
日期:
一、主要功能:
这个职工信息管理系统是由C语言编写的程序,它用起来很方便又很灵活。它由输入职工信息,输出职工信息,按职工号,部门号,工资排序,按职工号,部门号,工资来输出职工的所有信息。删除有关职工的所有信息,保存职工的所有信息并退出等11个模块儿组成。
二、实验环境:C语言、C++、C# 等等。
三、功能说明:
下面按步骤来介绍一下,职工信息管理系统的基本操作。
这是运行程序以后出现的主界面。如图(1)所示:
图(1)主界面
1.输入职工的信息
该模块儿的功能是分别输入职工的姓名,职工号,部门号,工资等信息。每次输入职工的所有信息以后,界面上会显示出《输入完成!》的命令。如图(2)所示:
图(2)输入职工信息
2.输出所有的职工信息
该模块儿的功能是显示出有关职工的所有信息。操作如图(3)所示:
图(3)输出所有的职工信息
3.按职工号排序
该模块儿的功能是按职工号排序所有的职工。我们按3的时候,界面上会显示出《排序完成!》的命令。如图(4)所示:
图(4)按职工号排序
4.输出所有的职工号码
该模块儿的功能是显示出已排序好的所有职工的号码。操作如图(5)所示:
图(5)输出所有的职工号
5.按部门号排序
该模块儿的功能是按部门号排序所有职工的部门号。我们按5的时候,界面上会显示出《排序完成!》的命令。如图(6)所示:
图(6)按部门号排序
6.输出所有的部门号
该模块儿的功能是显示出已排序好的所有部门号。操作如图(7)所示:
图(7)输出所有的部门号
7.按职工的工资排序
该模块儿的功能是按工资排序所有职工的工资。我们按7的时候,界面上会显示出《排序完成!》的命令。如图(8)所示:
图(8)按职工的工资排序
8.输出所有职工的工资
该模块儿的功能是显示出已排序好的所有职工的工资。操作如图(9)所示:
图(9)输出所有职工的工资
9.删除职工的所有信息
该模块儿的功能是删除有关职工的所有信息。我们按9的时候界面上会显示出《删除成
功!》的命令。如图(10)所示:
图(10)删除职工的所有信息
10.保存
该模块儿的功能是保存有关职工的所有信息。在这个程序中,该保存的文件跟随这个程序的位置而保存。我们按b得时候界面上会显示出《保存成功!》的命令。如图(11)所示:
图(11)保存
11.退出
该模块儿的功能是退出系统,按0即可。
四、程序代码如下:
#include
#define maxsize 20
typedef struct node
{
int no,depno,salary; /*no为职工号,depno为部门号,salary为工资数*/
char name[maxsize]; /*职工姓名*/
struct node *pno,*pdepno,*psalary,*next; /*pno为职工号指针,pdepno为部门号指针,psalary为工资数指针*/
}employee;
employee *insert(employee *head)
{
employee *h;
if(head==NULL)
{
employee *s,*h1;
h1=malloc(sizeof(employee));
s=malloc(sizeof(employee));
clrscr();
printf("请输入职工姓名:");
scanf("%s",s->name);
printf("请输入职工号:");
scanf("%d",&s->no);
printf("请输入部门号:");
scanf("%d",&s->depno);
printf("请输入职工的工资:");
scanf("%d",&s->salary);
s->pno=NULL;
s->pdepno=NULL;
s->psalary=NULL;
s->next=NULL;
h1->pno=NULL;
h1->pdepno=NULL;
h1->psalary=NULL;
h1->next=s;
h=h1;
printf("输入完成!\n");
getch();
}
if(head!=NULL)
{
employee *s,*p,*h1;
h1=head;
p=h1->next;
s=malloc(sizeof(employee));
if(p->next!=NULL)
{
while(p->next!=NULL)
p=p->next;
clrscr();
printf("请输入职工姓名:");
scanf("%s",s->name);
printf("请输入职工号:");
scanf("%d",&s->no);
printf("请输入部门号:");
scanf("%d",&s->depno);
printf("请输入职工的工资:");
scanf("%d",&s->salary);
s->pno=NULL;
s->pdepno=NULL;
s->psalary=NULL;
s->next=NULL;
p->next=s;
h=h1;
printf("输入完成!\n");
getch();
}
if(p->next==NULL)
{
clrscr();
printf("请输入职工姓名:");
scanf("%s",s->name);
printf("请输入职工号:");
scanf("%d",&s->no);
printf("请输入部门号:");
scanf("%d",&s->depno);