文档库 最新最全的文档下载
当前位置:文档库 › 数据结构大作业 职工管理系统

数据结构大作业 职工管理系统

数据结构大作业 职工管理系统
数据结构大作业 职工管理系统

#include

#include

#include

#include

#define LEN 15

#define N 50

struct GZX{

float jbgz;//基本工资

float jj;//奖金

float zfgjj;//住房公积金

float jt;//津贴

float sjgz;//实际工资

int a;//当月是否已发

};//工资项

struct record

{

char name[LEN+1]; //姓名

int age; //年龄

char sex[3]; //性别

char time1[LEN+1]; // 出生年月

char time2[LEN+1]; //工作年月

char zhiwu[LEN+1]; // 职务

char xueli[LEN+1]; // 学历

char add[LEN+1]; // 家庭地址//

char tel[LEN+1]; // 电话号码//

struct GZX gzx; //工资项

}emp[N];

typedef struct{

char name[LEN+1];//用户名

char password[7];//密码

}user;//登陆身份

int k=1,n,m; /* 定义全局变量*/ void seek1();//查询基本信息

void seek2();//查询工资信息

void modify1();//修改基本信息

void modify2();//修改工资信息

void insert();//插入函数

void sort(); //按姓名排序

void pass_screen();//登陆界面

void del();//删除函数

void display1();//显示基本信息

void display2();//显示工资信息

void save();//保存当前信息

void menu1();//总管理员界面

void menu2(); //人事总管界面

void menu3();//财务主管界面

void menu4();//普通用户界面

int main()

{

char *p="employe.txt";

FILE *fp;

int i=0;

if ((fp=fopen("employe.txt","r"))==NULL)

{

printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}

system("color f1");

while(fscanf(fp,"%s %d %s %s %s %s %s %s %s %f %f %f %f %f %d",emp[i].name,&emp[ i].age,emp[i].sex,

emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,emp[i].add,emp[i].tel,&emp[i].gzx.jbgz, &emp[i].gzx.jj,&emp[i].gzx.jt,&emp[i].gzx.zfgjj,&emp[i].gzx.sjgz,&emp[i].gzx.a)==15) {

i++;

i=i;

}

fclose(fp);

n=i;

pass_screen();

system("pause");

return 0;

}

void help()

{

printf("\n0.欢迎使用系统帮助\n");

printf("\n1.初次使用,请先录入信息\n");

printf("\n2.进入系统后,按照提示进行操作\n");

printf("\n3.修改信息后,切记按保存键\n");

printf("\n4.输入信息后,按回车键进行操作\n");

printf("\n5.谢谢您的使用!\n");

}

void pass_screen() //登陆界面

{

user pass_message[4];

int j=0;

char *p="pass_message.txt";

FILE *fp;

int i=0;

char sname[15];

char spassword[7],c;

if((fp=fopen("pass_message.txt","r"))==NULL)

{

printf("open file %s error! strike any key to exit!",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s %s",pass_message[i].name,pass_message[i].password)==2)

{

i++;

i=i;

}

printf("1.总管理员请以总管理员身份登陆\n");

printf("2.人事主管请以人事主管身份登陆\n");

printf("3.财务主管请以财务主管身份登陆\n");

printf("4.普通用户用户名和密码均为:000000\n");

printf("\n\n\n\n\n");

printf("\t\t\t请输入账号:\n");

printf("\t\t\t");

scanf("%s",sname);

printf("\t\t\t请输入密码:\n");

printf("\t\t\t");

while(j<6)

{

c=getch();

if((c==8)||(c==13))break;

else{

printf("●");

spassword[j]=c;

j++;

spassword[j]='\0';}

}

system("cls");

if((strcmp(pass_message[0].name,sname)==0)&&(strcmp(pass_message[0].password,spassword) ==0))

while(k)menu1();

else

if((strcmp(pass_message[1].name,sname)==0)&&(strcmp(pass_message[1].password,spassword)

==0))

while(k)menu2();

else

if((strcmp(pass_message[2].name,sname)==0)&&(strcmp(pass_message[2].password,spassword) ==0))

while(k)menu3();

else

if((strcmp(pass_message[3].name,sname)==0)&&(strcmp(pass_message[3].password,spassword) ==0))

while(k)menu4();

else printf("用户名或密码输入错误\n");

}

void seek1() //查询一般信息

{

int i,item,flag;

char s1[21];

printf("------------------\n");

printf("-----1.按职务查询-----\n");

printf("-----2.按姓名查询-----\n");

printf("-----3.退出本菜单-----\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",&item);

flag=0;

switch(item)

{

case 1:

printf("请输入要查询的职工的职务:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(emp[i].zhiwu,s1)==0)

{

flag=1;

printf("职工姓名职工年龄性别出生年月工作年月职务学历地址电话\n");

printf("-----------------------------------------------------------------------------\n");

printf("%6s %5d %6s %11s %11s %9s %6s %6s %11s\n",emp[i].name,emp[i].age,

emp[i].sex,emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,

emp[i].add,emp[i].tel);

}

if(flag==0)

printf("该职务不存在!\n"); break;

case 2:

printf("请输入要查询的职工的姓名:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(emp[i].name,s1)==0)

{

flag=1;

printf("职工姓名职工年龄性别出生年月工作年月职务学历地址电话\n");

printf("-----------------------------------------------------------------------------\n");

printf("%6s %5d %6s %11s %11s %9s %6s %6s %11s\n",emp[i].name,emp[i].age,

emp[i].sex,emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,

emp[i].add,emp[i].tel);

}

if(flag==0)

printf("该姓名不存在!\n"); break;

case 3:return;

default:printf("请在1-3之间选择\n");

}

}

}

void seek2() //查询工资信息

{

int i,item,flag;

char s1[21];

printf("------------------\n");

printf("-----1.按职务查询-----\n");

printf("-----2.按姓名查询-----\n");

printf("-----3.退出本菜单-----\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",&item);

flag=0;

switch(item)

{

case 1:

printf("请输入要查询的职工的职务:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(emp[i].zhiwu,s1)==0)

{

flag=1;

printf("职工姓名基本工资奖金津贴住房公积金实际工资是否已领\n");

printf("----------------------------------------------------------------\n");

printf("%6s %10.2f %8.2f %8.2f %8.2f %8.2f %5d\n",emp[i].name,emp[i].gzx.jbgz,

emp[i].gzx.jj,emp[i].gzx.jt,emp[i].gzx.zfgjj,emp[i].gzx.sjgz,emp[i].gzx.a);

}

if(flag==0)

printf("该职务不存在!\n"); break;

case 2:

printf("请输入要查询的职工的姓名:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(emp[i].name,s1)==0)

{

flag=1;

printf("职工姓名基本工资奖金津贴住房公积金实际工资是否已领\n");

printf("----------------------------------------------------------------\n");

printf("%6s %10.2f %8.2f %8.2f %8.2f %8.2f %5d\n",emp[i].name,emp[i].gzx.jbgz,

emp[i].gzx.jj,emp[i].gzx.jt,emp[i].gzx.zfgjj,emp[i].gzx.sjgz,emp[i].gzx.a);

}

if(flag==0)

printf("该姓名不存在!\n"); break;

case 3:return;

default:printf("请在1-3之间选择\n");

}

}

}

void modify1() //修改一般信息

{

int i,item,num;

char sex1[3],s1[LEN+1],s2[LEN+1];

printf("请输入要修改的职工的姓名:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(emp[i].name,s1)==0)

num=i;

printf("------------------\n");

printf("1.修改姓名\n");

printf("2.修改年龄\n");

printf("3.修改性别\n");

printf("4.修改出生年月\n");

printf("5.修改工作年月\n");

printf("6.修改职务\n");

printf("7.修改学历\n");

printf("8.修改地址\n");

printf("9.修改电话号码\n");

printf("0.退出本菜单\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",&item);

switch(item)

{

case 1:

printf("请输入新的姓名:\n");

scanf("%s",s2);

strcpy(emp[num].name,s2); break;

case 2:

printf("请输入新的年龄:\n");

scanf("%d",&emp[num].age);break;

case 3:

printf("请输入新的性别:\n");

scanf("%s",sex1);

strcpy(emp[num].sex,sex1); break;

case 4:

printf("请输入新的出生年月:\n");

scanf("%s",s2);

strcpy(emp[num].time1,s2); break;

case 5:

printf("请输入新的工作年月:\n");

scanf("%s",s2);

strcpy(emp[num].time2,s2);break;

case 6:

printf("请输入新的职务:\n");

scanf("%s",s2);

strcpy(emp[num].zhiwu,s2);break;

case 7:

printf("请输入新的学历:\n");

scanf("%s",s2);

strcpy(emp[num].xueli,s2);break;

case 8:

printf("请输入新的地址:\n");

scanf("%s",s2);

strcpy(emp[num].add,s2); break;

case 9:

printf("请输入新的电话号码:\n");

scanf("%s",s2);

strcpy(emp[num].tel,s2); break;

case 0:return;

default:printf("请在0-9之间选择\n");

}

}

}

void modify2() //修改工资信息

{

int i,num,item,b;

float s;

char s1[LEN+1];

printf("请输入要修改的职工的姓名:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(emp[i].name,s1)==0)

num=i;

printf("---------------------\n");

printf("1.修改基本工资项\n");

printf("2.修改奖金项\n");

printf("3.修改津贴项\n");

printf("4.修改住房公积金项\n");

printf("5.修改实际工资项\n");

printf("6.修改是否已领工资项\n");

printf("0.退出修改工资\n");

printf("---------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",&item);

switch(item)

{

case 1:

printf("请输入新的基本工资:\n");

scanf("%f",&s);

emp[num].gzx.sjgz=s;break;

case 2:

printf("请输入新的奖金:\n");

scanf("%f",&s);

emp[num].gzx.jj=s;break;

case 3:

printf("请输入新的津贴:\n");

scanf("%f",&s);

emp[num].gzx.jt=s;break;

case 4:

printf("请输入新的住房公积金:\n");

scanf("%f",&s);

emp[num].gzx.zfgjj=s;break;

case 5:

printf("请输入新的实际工资:\n");

scanf("%f",&s);

emp[num].gzx.sjgz=s;break;

case 6:

printf("请修改当月是否已领:\n");

scanf("%d",&b);

emp[num].gzx.a=b;break;

case 0:return;

default:printf("请在0—6间选择\n");

}

}

}

void sort() //按姓名排序

{

int i,j;

struct record temp;

for(i=0;i

{

for(j=n-1;j>i;j--)

if(strcmp(emp[j-1].name,emp[j].name)>0)

{

temp=emp[j-1];

emp[j-1]=emp[j];

emp[j]=temp;

}

}

}

void insert() //插入函数

{

int i=n,j,flag;

printf("请输入待增加的员工数:\n");

scanf("%d",&m);

do

{

flag=1;

while(flag)

{

flag=0;

printf("请输入第%d 个员工的姓名:\n",i+1);

scanf("%s",emp[i].name);

for(j=0;j

if(strcmp(emp[i].name,emp[j].name)==0)

{

printf("已有该姓名,请检查后重新录入!\n");

flag=1;

break;

}

}

printf("请输入第%d 个职工的年龄:\n",i+1);

scanf("%d",&emp[i].age);

printf("请输入第%d 个职工的性别:\n",i+1);

scanf("%s",emp[i].sex);

printf("请输入第%d 个职工的出生年月:(格式:年.月.日)\n",i+1);

scanf("%s",emp[i].time1);

printf("请输入第%d 个职工的工作年月:(格式:年.月.日)\n",i+1);

scanf("%s",emp[i].time2);

printf("请输入第%d 个职工的职务:\n",i+1);

scanf("%s",emp[i].zhiwu);

printf("请输入第%d 个职工的学历:\n",i+1);

scanf("%s",emp[i].xueli);

printf("请输入第%d 个职工的地址:\n",i+1);

scanf("%s",emp[i].add);

printf("请输入第%d 个职工的电话:\n",i+1);

scanf("%s",emp[i].tel);

printf("请输入第%d 个职工的基本工资:\n",i+1);

scanf("%f",&emp[i].gzx.jbgz);

printf("请输入第%d 个职工的奖金:\n",i+1);

scanf("%f",&emp[i].gzx.jj);

printf("请输入第%d 个职工的津贴\n",i+1);

scanf("%f",&emp[i].gzx.jt);

printf("请输入第%d 个职工的住房公积金:\n",i+1);

scanf("%f",&emp[i].gzx.zfgjj);

printf("请输入第%d 个职工的实际工资:\n",i+1);

scanf("%f",&emp[i].gzx.sjgz);

printf("请输入第%d 工当月是否已领工资:\n",i+1);

scanf("%d",&emp[i].gzx.a);

if(flag==0)

{

i=i;

i++;

}

}while(i

n+=m;

printf("录入完毕!\n\n");

}

void del()//删除信息

{

int i,j,flag=0;

char s1[LEN+1];

printf("请输入要删除职工的姓名:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(emp[i].name,s1)==0)

{

flag=1;

for(j=i;j

emp[j]=emp[j+1];

}

if(flag==0)

printf("该姓名不存在!\n");

if(flag==1)

{

printf("删除成功,显示结果请选择菜单6\n");

n--;

}

}

void display1()//显示基本信息

{

int i;

printf("所有职工的信息为:\n");

printf("职工姓名年龄性别出生年月工作年月职务学历地址电话\n");

printf("----------------------------------------------------------------------------\n");

for(i=0;i

{

printf("%6s %5d %6s %11s %11s %9s %6s %6s %11s\n",emp[i].name,emp[i].age,

emp[i].sex,emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,

emp[i].add,emp[i].tel);

}

}

void display2()//显示工资信息

{

int i;

printf("所有职工的工资信息为:\n");

printf("职工姓名基本工资奖金津贴住房公积金实际工资是否已领\n");

printf("----------------------------------------------------------------\n");

for(i=0;i

{

printf("%6s %10.2f %8.2f %8.2f %8.2f %8.2f %5d\n",emp[i].name,emp[i].gzx.jbgz, emp[i].gzx.jj,emp[i].gzx.jt,emp[i].gzx.zfgjj,emp[i].gzx.sjgz,emp[i].gzx.a);

}

}

void save()//保存信息

{

int i;

FILE *fp;

fp=fopen("employe.txt","w");

for(i=0;i

{

fprintf(fp,"%s %d %s %s %s %s %s %s %s %f %f %f %f %f %d\n",emp[i].name,emp[i].age,emp[ i].sex,

emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,emp[i].add,emp[i].tel,emp[i].gzx.jbgz, emp[i].gzx.jj,emp[i].gzx.jt,emp[i].gzx.zfgjj,emp[i].gzx.sjgz,emp[i].gzx.a);

}

fclose(fp);

}

void menu1() // 总管理员界面

{

int num;

printf("*********************系统功能菜单************************ \n");

printf("友情提醒:查询前请先刷新系统!\n");

printf(" ---------------------- ---------------------- \n");

printf(" ********************************************* \n");

printf(" * 0.系统帮助及说明* * 1.按姓名排序* \n");

printf(" ********************************************* \n");

printf(" * 2.查询职工基本信息* * 3.修改职工基本信息* \n");

printf(" ********************************************* \n");

printf(" * 4.增加职工信息* * 5.按姓名删除信息* \n");

printf(" * 6.保存当前职工信息* * 7.显示基本信息* \n");

printf(" ********************** ********************** \n");

printf(" * 8.查询职工工资信息* * 9.修改职工工资信息* \n");

printf(" ********************************************* \n");

printf(" * 10.显示工资信息* 11.退出系统* \n");

printf(" ********************************************* \n");

printf(" 浙江工商大学@鲁家成出品\n");

printf(" ---------------------- ---------------------- \n");

printf("请选择菜单编号:");

scanf("%d",&num);

switch(num)

{

case 0:help();break;

case 1:sort();break;

case 2:seek1();break;

case 3:modify1();break;

case 4:insert();break;

case 5:del();break;

case 6:save();break;

case 7:display1();break;

case 8:seek2();break;

case 9:modify2();break;

case 10:display2();break;

case 11:k=0;break;

default:printf("请在0-11之间选择\n");

}

}

void menu2() // 人事主管界面

{

int num;

printf("*********************系统功能菜单************************ \n");

printf("友情提醒:查询前请先刷新系统!\n");

printf(" ---------------------- ---------------------- \n");

printf(" ********************************************* \n");

printf(" * 0.系统帮助及说明* * 1.按姓名排序* \n");

printf(" ********************************************* \n");

printf(" * 2.查询职工基本信息* * 3.修改职工基本信息* \n");

printf(" ********************************************* \n");

printf(" * 4.增加职工信息* * 5.按姓名删除信息* \n");

printf(" ********************************************* \n");

printf(" * 6.显示基本信息* * 7.显示工资信息* \n");

printf(" ********************** ********************** \n");

printf(" * 8.保存当前职工信息* * 9.退出系统* \n");

printf(" 浙江工商大学@鲁家成出品\n");

printf(" ---------------------- ---------------------- \n");

printf("请选择菜单编号:");

scanf("%d",&num);

switch(num)

{

case 0:help();break;

case 1:sort();break;

case 2:seek1();break;

case 3:modify1();break;

case 4:insert();break;

case 5:del();break;

case 6:display1();break;

case 7:display2();break;

case 8:save();break;

case 9:k=0;break;

default:printf("请在0-9之间选择\n");

}

}

void menu3() // 财务主管界面

{

int num;

printf("*********************系统功能菜单************************ \n");

printf("友情提醒:查询前请先刷新系统!\n");

printf(" ---------------------- ---------------------- \n");

printf(" ********************************************* \n");

printf(" * 0.系统帮助及说明* * 1.按姓名排序* \n");

printf(" ********************************************* \n");

printf(" * 2.查询工资信息* * 3.修改工资信息* \n");

printf(" ********************************************* \n");

printf(" * 4.显示基本信息* * 5.显示工资信息* \n");

printf(" ********************** ********************** \n");

printf(" * 6.保存当前职工信息* * 7.退出系统* \n");

printf(" ********************************************* \n");

printf(" 浙江工商大学@鲁家成出品\n");

printf(" ---------------------- ---------------------- \n");

printf("请选择菜单编号:");

scanf("%d",&num);

switch(num)

{

case 0:help();break;

case 1:sort();break;

case 2:seek2();break;

case 3:modify2();break;

case 4:display1();break;

case 5:display2();break;

case 6:save();break;

case 7:k=0;break;

default:printf("请在0-7之间选择\n");

}

}

void menu4() // 普通用户界面

{

int num;

printf("*********************系统功能菜单************************ \n");

printf("友情提醒:查询前请先刷新系统!\n");

printf(" ---------------------- ---------------------- \n");

printf(" ********************************************* \n");

printf(" * 0.系统帮助及说明* * 1.按姓名排序* \n");

printf(" ********************************************* \n");

printf(" * 2.查询基本信息* * 3.查询工资信息* \n");

printf(" ********************************************* \n");

printf(" * 4.显示当前信息* * 5.显示工资信息* \n");

printf(" ********************************************* \n");

printf(" * 6.退出系统* * * \n");

printf(" ********************************************* \n");

printf(" 浙江工商大学@鲁家成出品\n");

printf(" ---------------------- ---------------------- \n");

printf("请选择菜单编号:");

scanf("%d",&num);

switch(num)

{

case 0:help();break;

case 1:sort();break;

case 2:seek1();break;

case 3:seek2();break;

case 4:display1();break;

case 5:display2();break;

case 6:k=0;break;

default:printf("请在0-6之间选择\n");

}

}

员工信息管理系统(数据结构)

员工信息管理系统课程设计报告 系别:计算机与信息工程系 班级: B080501 姓名:李海鹏 学号: B08050128 指导教师:张红霞 课设时间:2010-6-21到2010-6-25

摘要 员工信息管理系统属于信息管理系统。员工信息管理是每个公司不可缺少的。系统用C程序开发,主要在于建立好一个合适的数据结构,并要求程序简洁实用。 本系统利用C语言简洁、灵活,数据结构丰富等特点,编写适合公司使用的系统。整个系统使用起来也比较方便,入手简单,操作方便。论文主要介绍了程序设计过程、设计方案以及测试过程,重点讲解了设计过程中的思想,技术解决方案等等。 关键字:员工信息管理,C程序,数据结构

前言 (3) 第1章课设题目 (4) 第2章开发运行环境及相关知识 (4) 第3章程序总体设计 (5) 3.1 主要功能模块 (5) 3.2 数据结构 (6) 第4章程序详细设计及实现 (7) 4.1 输入函数 (7) 4.2 排序函数 (7) 4.3 显示函数 (7) 4.4 查找函数 (7) 4.5更改函数 (8) 4.6 删除函数 (8) 4.7 主函数 (8) 4.8 其他函数 (9) 第5章系统功能测试 (9) 5.1 系统主界面 (9) 5.2 输入数据 (9) 5.3 显示数据 (10) 5.4 信息排序 (10) 5.5 更改信息 (11) 5.6 删除信息 (11) 第6章课设总结 (12) 第7章程序清单 (13) 参考文献 (22)

前言 本课程设计旨在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机编程解决实际问题的基本方法,熟悉C程序开发的全过程,掌握数据结构的使用方法,熟练应用各种数据结构。 本次任务是根据给定的数据和程序,应用单向链表处理一系列公司员工的信息。通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。 报告将分6个章节来详细讲述本次课设题目的开发过程。 第1章主要描述课设的题目及要求; 第2章来介绍程序开发运行环境; 第3章介绍程序主体设计,网络程序概要; 第4章是对程序进行详细分析,对各个函数进行详细描述,并阐述程序实现技术等信息; 第5章为测试过程,主要用测试过程中的图片来表述最终信息; 第6章也是最后一章,为本次实践活动的心得体会。

数据结构大作业含源代码

数据结构大作业 作业题目:职工信息管理系统 姓名: 学号: 班级: 指导教师: 日期:

一、主要功能: 这个职工信息管理系统是由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)所示:

数据结构大作业

浙江大学城市学院实验报告 课程名称数据结构基础 实验项目名称实验九栈的应用 学生姓名丁汀专业班级信管1006 学号31001444 实验成绩指导老师(签名)日期 一.实验目的和要求 1、学会通过对问题的分析,设计一种合理的数据结构,并进行定义及操作的实现。 2、掌握利用栈各种操作来进行具体的实际应用。 3、加强综合程序的分析、设计能力。 二.实验内容 1、共享栈的设置,问题描述如下: 在一个数组空间stack[MaxSize]中可以同时存放两个顺序栈,栈底分别处在数组的两端,当第1个栈的栈顶指针top1等于-1时则栈1为空,当第2个栈的栈顶指针top2等于MaxSize时则栈2为空。两个栈均向中间增长,当有元素向栈1进栈时,使top1增1得到新的栈顶位置,当有元素向栈2进栈时,使top2减1得到新的栈顶位置。当top1==top2-1或top1+1==top2时,存储空间用完,无法再向任一栈做进栈操作,此时可考虑给出错误信息并停止运行。 要求: ⑴给出共享栈的顺序存储类型定义。 ⑵给出共享栈的抽象数据类型定义。 ⑶建立头文件test9_stack.h,包含共享栈的基本操作实现函数;建立主程序文件test9.cpp,在主函数中对共享栈的各个操作进行测试。 2、利用上述共享栈,实现火车车厢的调度模拟 设火车车厢分为三类:硬座、硬卧、软卧,分别用A、B、C表示。下图描述车厢调度的示意图,图中右端为排列无序的车厢,左端为调度后的车厢排列,使得所有软卧车厢在最前面、所有硬卧车厢在中间、所有硬座车厢在最后。 编程模拟上述车厢调度过程。 提示:两个辅助铁轨相当于两个栈,右端车厢进入用相应字符串给出,如“BBACBCAABBCAA”,左端车厢的用新生成的字符串给出。在test9_stack.h 给出模拟函数,并在主函数中进行调用测试。

数据结构大作业报告

数据结构大作业报告 数据结构大作业实验报告课程名称:数据结构设计题目:客户去银行储蓄模拟程序一( 实验题目 (1)内容描述:编写一个程序反映客户到银行储蓄的过程。 (2)基本要求:要实现以下功能:1:排队 2:储蓄 3:查看排队4.:删除自己所排的队 5.不再排队,剩下的客户依次储蓄 6:下班 二( 实验的工程组成图和程序结构图 main bank 本工程的组成结构如左图所示,程序结构图如右图所示。三( 工程所包含的函数的功能描述 Bank():模拟客户到银行去储蓄的过程。客户排队储蓄,所以要用到一个队列, 这里设计了一个不带头结点的单链表作为队列。 四( 实验工程的算法描述及流程图 //客户排队去银行储蓄,用到了队列的知识,这里设计了一个不带头结点的单链表作为队列来完成排队储蓄过程 #include

#include typedef struct qnode { int data; struct qnode *next; } QNode; //定义链队结点类型 typedef struct { QNode *front,*rear; } QType; //定义链队类型 void bank() //模拟客户储蓄的过程 { int cho,onwork=1,no,find; QType *q; //定义链队类型的指针 QNode *p,*r; //定义链队结点的指针 q=(QType *)malloc(sizeof(QType)); //申请链队的空间 q->front=q->rear=NULL; //创建空队 while (onwork==1) //循环执行 { printf("1:排队 2:储蓄 3:查看排队4:删除自己所排的队 5:不再排队,剩下的客户依次储蓄 6:下班请选择:"); scanf("%d",&cho); switch(cho) { case 1://排队

数据结构大作业要求

数据结构实验讲义 一实验步骤 随之计算机性能的提高,它所面临的软件开发的复杂度也日趋增加。然而,编制一个10,000行的程序的难度绝不仅仅是一个5,000行的程序两倍,因此软件开发需要系统的方法。一种常用的软件开发方法,是将软件开发过程划分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的实习题的复杂度远不如(从实际问题中提出来的)一个“真正的,,软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,我们制订了如下所述完成实习的五个步骤:’ (一)问题分析和任务定义 通常,实习题目的陈述比较简洁,或者说是有模棱两可的含义。因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。注意:本步骤强调的是做什么?而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么?是否接受非法的输入?对非法输入的回答方式是什么等。这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式的输入数据。 (二)数据类型和系统设计 在设计这一步骤中需分逻辑设计和详细设计两步实现。逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。作为逻辑设计的结果,应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的规格说明),各个主要模块的算法,并画出模块之间的调用关系图。详细设计的结果是对数据结构和基本操作的规格说明作出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类c语言写出函数形式的算法框架。在求精的过程中,应尽量避免陷入语言细节,不必过早表述辅助数据结构和局部变量。 (三)编码实现和静态检查 编码是把详细设计的结果进一步求精为程序设计语言程序。程序的每行不要超过60个字符。每个函数体,即不计首部和规格说明部分,一般不要超过40行,最长不得超过60行,否则应该分割成较小的函数。要控制if语句连续嵌套的深度。其他要求参见第一篇的

数据结构课程设计-员工信息管理系统

12信计2013-2014(一) 数据结构课程设计 设计题目员工信息管理系统 设计时间2014.1.6~2014.1.10 学生姓名葛考 学生学号20120402127 所在班级12精算 指导教师刘风华

徐州工程学院数学与物理科学学院 题目员工信息管理系统 一、需求分析 员工信息管理系统设计,具体功能如下: 1、系统以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处 理,并且在此过程中能够尽可能的兼容用户使用过程中的输入异常情况。 2、员工信息录入系统(员工信息用文件保存),注意员工按员工编号进行区分,即每个 员工的员工编号都是唯一的,不允许出现两个员工或员工编号相同的情况。 3、可对员工信息进行查询,具体分为:按姓名查询、按员工号查询、按生日查询; 4、可对员工信息进行删除; 5、可对员工信息进行修改,但应注意员工号不能修改,修改应逐个进行,一个员工记录 的更改不应影响其他的员工记录; 6、可对全部的员工信息进行显示v(员工信息浏览),注意员工信息的显示规范; 员工信息应包括姓名、员工编号、性别、年龄、生日、学历、职务、联系电话、住址。 二、概要设计 2.1、抽象数据类型 ADT List{ 数据对象:D={ai|ai∈Elem Set,i=1,2,······,n,n>=0} 数据关系:R1={|ai-1,ai∈D,i=1,2,······,n} 基本操作: Init List(&L); 操作结果:构造一个空的线性表L。 DestroyList(&L); 初始条件:线性表L存在。 操作结果:销毁线性表L。 LocateElem(L,I,&e); 初始条件:线性表L存在,1

家谱管理系统 -数据结构大作业

/* 家谱管理系统 任务:实现具有下列功能的家谱管理系统 功能要求: 1). 输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容: 姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。 2). 实现数据的存盘和读盘。 3). 以图形方式显示家谱。 4). 显示第n 代所有人的信息。 5). 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。 6). 按照出生日期查询成员名单。 7). 输入两人姓名,确定其关系。 8). 某成员添加孩子。 9). 删除某成员(若其还有后代,则一并删除)。 10).修改某成员信息。 11).按出生日期对家谱中所有人排序。 12).打开一家谱时,提示当天生日的健在成员。 要求:建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。测试数据:要求使用1、全部合法数据;2、局部非法数据。进行程序测试,以保证程序的稳定。 测试数据及测试结果请在上交的资料中写明; */ #include #include #include #include #include"map.h" #define MAXN 100 #define MAXMEM 100 #define Elemtype char ============================== //树 typedef struct BiTNode { int mark;//标记 int level; char name[50];//姓名 char birthday[50];//生日

大数据结构大作业报告材料

数据结构课程设计课题名称 专业名称 学生姓名 学号+电话 指导教师

评分细则

目录 评分细则----------------------------------------------------------------------------------------------------------------- 2 一、课题描述 ---------------------------------------------------------------------------------------------------------- 4 二、需求分析 ---------------------------------------------------------------------------------------------------------- 4 2.1 ------------------------------------------------------------------------------------------------------------------ 4 2.2- ------------------------------------------------------------------------------------------------------------------4 2.3--------------------------------------------------------------------------------------------------------------------4 三、概要设计 ---------------------------------------------------------------------------------------------------------- 4 3.1 结构分析 ----------------------------------------------------------------------------------------------------------- 4 3.2函数------------------------------------------------------------------------------------------------------------ 4 3.2.1 malloc() --------------------------------------------------------------------------------------------- 4 3.2.2getchar() ----------------------------------------------------------------------------------------------------- 5 3.2.3 list_create() ------------------------------------------------------------------------------------------------ 5 3.2.4 list_disp() --------------------------------------------------------------------------------------------------- 5 3.2.5 list_sort() --------------------------------------------------------------------------------------------------- 5 四、详细设计 ---------------------------------------------------------------------------------------------------------- 5 4.1课题分析 ----------------------------------------------------------------------------------------------------- 5 4.1.1选择 ------------------------------------------------------------------------------------------------- 5 4.1.2冒泡 --------------------------------------------------------------------------------------------------------- 5 4.1.3 堆------------------------------------------------------------------------------------------------------------ 6 4.1.4 快速--------------------------------------------------------------------------------------------------------- 6 4.1.5 基数--------------------------------------------------------------------------------------------------6 4.1.6 希尔--------------------------------------------------------------------------------------------------------- 6 4.1.7 归并--------------------------------------------------------------------------------------------------6 4.2课题实现 ----------------------------------------------------------------------------------------------------- 7 五、测试数据及结果------------------------------------------------------------------------------------------------- 9 六、调试分析及总结----------------------------------------------------------------------------------------------- 10

数据结构物流信息管理系统

2014-2015学年第一学期学号 《数据结构》 课程设计报告 题目:物流信息管理系统 专业:计算机科学与技术 班级: 姓名: 学号: 指导教师: 成绩: 目录 摘要 (1) 1设计内容及要求 (1) 1.1内容描述 (1) 1.2基本要求 (1) 2详细设计 (1) 2.1概要设计 (1) 2.2功能模块详细设计 (1) 2.3程序流程图 (4) 3源代码 (5)

4程序结果 (9) 5总结 (12) 6参考文献 (12)

摘要 物流信息管理系统是利用单链表实现信息管理,进而掌握C语言中的结构体,链表,指针,函数(系统函数,自定义函数)等C语言知识。 本文通过利用模块化程序设计思想,使用单链表和结构体等编写出的创建,删除,查询等功能的物流信息管理系统。通过完成这个程序设计让我们熟悉并掌握c语言中使用结构体,单链表,指针,函数,和模块化设计思想。 关键词结构体,链表,指针,函数 1设计内容及要求 1.1内容描述 对客户的基本信息进行存储,利用取货号来查询顾客信息,核对信息后方可取货。 1.2基本要求 1.采用一定的存储结构进行客户信息的存储; 2.对客户的信息可以进行修改、删除、查询; 2详细设计 2.1概要设计 本系统用到的主要数据结构为数组和文件。一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和电话号码。然后将数组写入文件,查询时读取文件,提取相应信息。 2.2功能模块详细设计 本程序运用链表对客户信息进行存储,首先对结点进行定义,结点中的数据域分别定义了取货人的取货号、身份证、姓名、电话号码,其中身份证用了字符型数组进行定义,然后定义了客户取货链表,每添加一个取货人,先分配内存,再添加取货人的信息,之后将链表中最后一个指针指向该新的取货人,删除时,需先找到该取货人前面的取货人,直接将其指针指向删除取货人的下一个取货人,修改信息时,先找到该去人,选择修改的内容,再进行修改。 void create(Linklist &h){ Linklist s,t; int j=1; char x; h=(Listnode *)malloc(sizeof(Listnode)); h->next=NULL;t=h; while(j){ s=(Listnode*)malloc(sizeof(Listnode)); printf("顾客取货号为%d\n",i); s->customer.m=i; printf("请输入身份证号码:"); scanf("%c",&x);

职工信息管理系统

《数据结构》课程设计报告 设计题目职工信息管理系统 专业 班级 姓名 学号 完成日期

目录 1. 问题描述 (3) 2. 系统设计 (3) 3. 数据结构与算法描述 (5) 4. 测试结果与分析 (15) 5. 总结 (20) 6. 参考文献 (20) 附录程序源代码 (20)

职工信息管理系统 1. 问题描述 试设计一个职工信息管理系统。要求可对职工信息进行插入、删除、查找、排序、输出等功能,职工对象包括编号、姓名、性别、出生年月、学历、工作年月、基本工资、电话、家庭住址等等。 2. 系统设计 2.1 设计目标 随着计算机产业的不断发展和信息时代的到来,各个企业和部门对员工的信息管理也已经走上了数字化的阶段,尤其是利用微机对工资的管理已经在各个企业单位起着越来越多的作用。以前的财会人员完全是靠手写来完成员工的各种记录,每天都忙碌于各种繁多的票据之间,这种工作繁重复杂,容易出错,不易修改,所以使用一个好的管理系统对减轻管理人员的工作量是很有帮助的,也是一个企业发展不可缺少的基础,它的开发应用简单而不失一般性,操作方便,功能强大,系统化,规范化,自动化,而且经济使用的职工管理系统已经成为了各个企业和部门离不开的电脑软件。 本系统实现的操作和功能如下: 1)职工信息表的建立:根据职工提供的信息,按单链表的方法建立职工信息表; 2)职工信息的添加:根据公司的需要,增加新的职工,必须把职工的基本信息写入职工信息表,方便公司管理; 3)职工信息的查询:根据公司需要,查找某一个职工的信息,可以按姓名或编号查找,将都显示职工的全部信息。 4)职工信息的修改:根据公司或职工需要,如果信息需要修改,可对职工的人一个信息进行更改。 5)职工信息的排序:根据公司需要,可对职工进行排序; 6)职工信息的删除:根据公司需要,若职工不在公司工作,可对其信息删除,以及时更新职工信息表;

数据结构物流信息管理系统设计

数据结构物流信息管 理系统设计 Revised on November 25, 2020

目 录 摘要...................................................1 1设计内容及要求...........................................................................1 内容描述..............................................................................1 基本要求..............................................................................1 2详细设计....................................................................................1 概要设计..............................................................................1 功能模块详细设计..................................................................1 程序流程图...........................................................................4 3源代码 .....................................................................................5 4程序结果....................................................................................9 5总结...........................................................................................12 6参考文献 (12) 数据结构物流信息管理系统设计 【最新资料,WORD 文档,可编辑修改】

数据结构工资管理系统课程设计

学年第学期 《数据结构》 课程设计报告 题目:人事工资管理系统 专业:数字媒体技术 班级: 姓名: 指导教师: 成绩: 计算机与信息工程系 年月日

1、设计目的 (2) 2、设计内容与要求 (2) 1.1设计内容 (2) 2.2设计要求 (2) 3、总流程图设计 (3) 4、程序详细功能设计 (4) 5、程序调试 (7) 6、设计小结 (7) 7、参考文献 (8) 附录 (9) 1

1、设计目的 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。 进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图表示算法。 《工资管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的职工工资管理系统。工资管理系统是一个企业不可缺少的一部分,它利用计算机对职工工资进行统一管理,实现工资管理工作的系统化、规范化和自动化,为企业提高工作效率。 2、设计内容与要求 2.1设计内容 主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:对职工信息的录入、修改或删除,通过职工姓名或工号进行查找,并逐项列出相信的职工工资信息,另外也可以查看所有职工目前的工资状况。有一个文本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。 2.2设计要求 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。 3、总体流程图设计 2

3

数据结构大作业

数据结构课程设计 题目:长整数四则运算 班级:信管12-1 学号:1201050642 姓名:庄术洁 指导老师:刘晓庆 2014年5月22日

一、需求分析 1、利用双向循环链表实现长整数的存储,每个结点含一个整数变量。任何整形变量的范围是—(2^15—1)~(2^15—1)。输入和输出形式:按中国对于长证书的表示习惯,每四位一组,组间用逗号隔开。 2、测试数据 (1) 0; 0;应输出“0” (2)—2345,6789;—7654,3211;应输出“—1,0000,0000”。 (3)—9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。 (4)1,0001,0001;—1,0001,0001;应输出“0”。 (5)1,0001,0001;—1,0001,0000;应输入“1”。 (6)—9999,9999,9999;—9999,9999,9999;应输出“—1,9999,9999,9998”。 (7)1,0000,9999,9999;1应输出“1,0001,0000,0000”。 二、概要设计 为上述程序功能,应以有序表实现长整数的存储,为此,需要抽象数据类型:有序表

(8)有序表的抽象数据类型定义为: ADT Dulinklist{ 数据对象: D={ai|ai为带符号整数,1,2,…,n,n>=0} 数据关系:R1={|ai-1,ai属于集合D,ai-1

数据结构大作业-纸牌游戏

数据结构课程设计大作业 题目纸牌游戏 专业计算机科学与技术 学生姓名 __________________ 学号 _____________________ 指导教师 __________________ 完成日期 __________________ 信息与工程学院

目录 一、实验内容概述(设计任务与技术要求) (1) 二、实验目的概述(总体设计方案) (1) 三、解题思路的描述(数据结构和算法的设计): (1) 四、源程序清单(源程序中应该附有必要的注释) (2) 五、程序调试及测试结果 (4) 六、结论 (4) 七、参考文献 (5)

【内容摘要】 编号为1~52的牌,正面向上,从第二张开始,以2为基数,是2的倍数的牌翻一次,直到最 后一张牌;然后,从第三张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从 第四张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;依次类推,知道所有以52 为基数的牌翻过一次。输出:这时正面向上的牌有哪些? 【关键字】 52张纸牌,倍数,基数,数组 【Abstract 】 Numbered 1 to 52 cards, face up, starting from the second to 2 as the base, is a multiple of 2 cards turning on ce, un til the last card; and the n, begi nning from the third to 3 as the base,is a multiple of 3 cards turning once, un til the last card; and the n start from the fourth to 4 as the base, is a multiple of 4 cards turning once, un til the last card; and so on, that was all of 52base of the card turned over on ce.Output: At this time what the cards face up? 【Key words 】 52 cards, multiple, base, array

西电数据结构大作业

题目:数据结构上机报告学院:电子工程学院 专业:信息对抗技术 学生姓名:甘佳霖 学号:14020310092

西安电子科技大学 数据结构课程实验报告实验名称线性表 电子工程学院 1402031 班Array姓名甘佳霖学号 14020310092 同作者 实验日期 2017 年 3 月 18 日

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验要求 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n, e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。 三、设计思路 1.顺序表做逆置操作时将对应的首尾元素位置交换,单链表的指针end指向链表的末尾,指针start指向链表头结点,指针s用来找到指向end节点的节点,将指向链表末尾和头结点的存储内容交换,然后头结点指针指向下一节点,s指针从start节点开始遍历寻找指向end 指针的节点,并将end指针赋值为s指针,就完成了单链表的逆置,可以看出单链表和顺序表都可以完成线性表的逆置。 2.分解单链表的实现思路是首先新建3个循环链表,然后顺序遍历单链表,ASCII码判断链表中的元素属于哪一类元素,然后将这个元素添加到对应的循环链表中,从而实现分解单链表的功能。 四、运行结果 1.单链表逆置:

数据结构简单的职工管理系统完整版

湖南涉外经济学院数据结构课程设计报告 题目:简单的职工管理系统 院系名称:计算机学院 专业名称:计算机科学与技术 班级:计科201001班 学生姓名:刘兴斌 学号:30 指导教师:张建明 设计起止时间:2011年11月20日~2011年12月30日

完成于2011年12月29日星期四 目录 第一章序 (1) 第二章系统总体功能的设计和分析 (3) 1、问题描述 (3) 2、详细要求 (3) 3、功能分析 (4) 1、具体要求.............................................................. 错误!未定义书签。 2、系统流程分析 (4) 3、系统功能结构 (5) 4、模块函数构造 (6) 第三章详细设计分析 (7) 1、抽象数据类型定义 (7) 2、主函数设计 (8)

3、查找算法设计 (9) 4、排序算法设计 (8) 第四章源程序代码 (11) 第五章系统实现 (29) 第六章课程设计总结 (31)

第一章序 电子信息时代由如洪水一样的凶猛,能在现实社会应用软件给我们的生活和工作带来方便和实用性就是软件存在的最大的价值。数据结构所能解决的就是这些复杂的问题简单化。 《数据结构》是计算机专业学生学习的一门基础课程,但十分的重要。本课程系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了常用的多种查找和排序技术。本课程将为整个专业的学习以及软件设计水平的提高打下良好的基础。为了学好《数据结构》,必须掌握编写一些在特定数据结构上的算法,并通过上机调试,更好地掌握各种数据结构及其特点。 经过本次课程设计,我们对于数据结构基本理论和存储结构及算法设计将有更加深入的理解,并提高我们在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力,提高我们的C/C++语言程序设计能力,以及培养学我们编写程序设计文档的能力,为将来在实战工作中打下良好的基础。 在经济发达的今天对于职工简单的管理都是有很大程度上的要求,一个工司能否较好较快的运行,与职工管理的好坏分不开关系,通过该系统,将一系列的问题系统化,能够更好的管理职工。简化管理,使管理更方便,准确性、直观性和实用性更强。本着以锻炼自己的能力为目的,通过设计与制作进一步学习和掌握简单的职工管理系统的原理和使用方法。虽然在一定程度上较为简单,但也能体现在出在人员管理上的方便快捷,也体现一个领导的管理水平是不是充满艺术。

数据结构大作业题目

《数据结构大作业》要求 一、作业目的 1、掌握用数据结构的知识进行Java或者C程序设计。 2、应用所学的数据结构完成一个具有一定实际意义的应用程序的设计、编码、调试,锻炼 实践动手能力,提高编程水平。 二、作业内容 1、图书管理系统 问题描述:实现图书管理系统,主要为图书管理员和借阅者提供管理和查询服务。 基本功能要求: 程序必须采用链表数据结构实现。 图书信息至少包括以下信息:书名,ISBN、作者、出版社、出版时间,入库时间,库存量(图书馆购买此书的数目),借阅数(被借阅的本数)。 图书管理员身份可以完成以下操作: (1)录入:增加一本图书信息; (2)删除:删除某一本图书的信息; (3)修改:修改某一本图书的信息; (4)查询:根据书名或图书ISBN等查询图书信息(可选择:简单条件查询,组合 条件查询等)。 (5)排序:根据书名或入库时间等信息进行排序,尽可能提高查找和维护性能; (6)借书:借出一本书,该书的借阅量增加一本。 (7)还书:还回一本书,该书的借阅量减少一本。 (8)统计:统计所有的借出的图书数目,即:所有图书借阅量之和。 (9)输出:输出所有图书的所有信息,要求格式清晰,方便查看。 扩展功能要求: (1)导出:把用户信息导出到文件中保存; (2)实现图形用户界面与用户进行交互。 2、学生管理系统 必须完成学籍登记表中的下面功能。 登记表中包括:学号、姓名、班级(如:13级软件1班)、性别、手机号码、选修课程等信息。 程序必须采用链表数据结构实现; (1)插入:将某学生的基本信息插入到登记表中; (2)删除:将满足条件的基本信息删除; (3)修改:对基本信息的数据项进行修改;

数据结构课程设计-职工管理系统

一、前言----------------------------------------------------------------------2 二、需求分析----------------------------------------------------------------3 三、概要设计----------------------------------------------------------------4 四、详细设计----------------------------------------------------------------5 五、调试分析----------------------------------------------------------------6 六、用户使用说明----------------------------------------------------------7 七、测试结果----------------------------------------------------------------8 八、总结---------------------------------------------------------------------11 九、主要参考文献和附录------------------------------------------------12

员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。 当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,员工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。 随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。 而作为计算机应用的一部分,使用计算机对员工进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。 员工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且已达到了良好效果。

相关文档
相关文档 最新文档