数据结构课程设计公司职工管理系统.doc
《数据结构课程设计公司职工管理系统.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计公司职工管理系统.doc(22页珍藏版)》请在三一办公上搜索。
1、辽宁工业大学课 程 设 计 说 明 书题目: 数据结构课程设计 学院(系): 电子与信息工程学院 专业班级: 计算机科学与技术专业 学 号: 学生姓名: 指导教师: 教师职称: 副教授 起止时间: 2009.12.012009.12.08 课程设计(论文)任务及评语院(系):电子与信息工程 教研室: 软件工程学 号080401019学生姓名朱江雨专业班级计算机081课程设计(论文)题目数据结构课程设计课程设计(论文)任务1可从前四类题目中,每类选择一个题目,共需完成四个题目,或从每五类题目中选择一题,要求每个题目用标准的C语言程序实现,另外,完成思考题一题,思考题须写出相应的类C算法即可。2每
2、个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰。3 除了指定的之外,数据的存储结构根据需要自行定义。4 输入的数据由键盘输入。5 分析算法的时间复杂度,要求算法的效率尽可能高。6 验证排序算法的稳定性。指导教师评语及成绩成绩: 指导教师签字: 年 月 日目 录第1章课程设计目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3 课程设计的预备知识11.4 课程设计要求1第2章 课程设计内容22.1 第五类题目22.2 题目的具体实现22.3 题目内容22.4 思考题解析16总 结18参考文献19第1章 课程设计目的与要求1.1 课程设计目的
3、 本课程设计是计算机科学与技术专业、软件工程专业的专业技术实践课。 本实践课的主要目的是:使学生学会利用在课堂中学过的理论知识,解决相应的实际问题,深入理解和灵活掌握所学的内容,培养学生理论和实践相结合的能力,培养学生分析问题解决问题的能力。同时,在实验步骤规范化、程序设计方法等方面受到比较系统和规范的训练。通过实践设计使学生进一步加深对程序设计的规范化及对复杂程序设计步骤的理解。1.2 课程设计的实验环境 PC机,WindowsXP,Win-tc。1.3 课程设计的预备知识 C语言程序设计、高级程序设计应用、数据结构。1.4 课程设计要求(1)认真查找资料,分析每个题目应选择的数据结构(逻辑
4、结构和物理结构);(2)按时到实验室调试程序,遵守实验室的规章制度,爱护设备;(3)每个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰,有必要的注释,可读性强。(4)程序健壮性强,当数据输入错误时,要进行相应的处理; (5)分析算法的时间复杂度,要求算法的效率尽可能高;(6)对于排序算法,要验证排序算法的稳定性。第2章 课程设计内容2.1 第五类题目1、简单的职工管理系统a.问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。b.要求职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。(1)新增一名职工:将新增职工对象按姓
5、名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。c.实现提示职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(2)对职工对象中的姓名按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。2.2 题目的具体实现(一)题目应实现的具体功能(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2
6、)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。2.3 题目内容(一)题目:简单的职工管理系统(二)题目:运用结构(1)数据结构:顺序表(2)存储结构:数组(三)完整的源程序#include#define maxsize 100typedef struct worker char name15; char sex6; char birthday15; char workage15; char xueli15; char position15;
7、char adress15; char tel12; worker; typedef struct worker wmaxsize+1; int length; *work,wor;int n=0;char password10=080401019;void creatwork(work p,int t) int i,m; p-length=0; for(i=1;iwi.name); getchar(); do printf(ninput %ss sex,1:man,2:woman ,p-wi.name); scanf(%d,&m); getchar(); switch(m) case 1:s
8、trcpy(p-wi.sex,man);break;case 2:strcpy(p-wi.sex,woman);break; default:printf(input wrong,please input anain);m=0;break; while(m=0); printf(ninput %ss birthday ,p-wi.sex); scanf(%s,p-wi.birthday); printf(ninput the time when the worker begin to work ); scanf(%s,p-wi.workage); printf(ninput which sch
9、ool the worker graduate frow ); scanf(%s,p-wi.xueli); printf(ninput position ); scanf(%s,p-wi.position); printf(ninput adress ); scanf(%s,p-wi.adress); printf(ninput tel ); scanf(%s,p-wi.tel); p-length+; save(p);int save(work p) FILE *fp;char filename20;int i;printf(Please input the filenamen);scanf
10、(%s,filename);if(fp=fopen(filename,wb)=NULL) printf(cant open filen); return; fwrite(&n,sizeof(int),1,fp);for(i=1;iwi),sizeof(worker),1,fp)!=1) printf(file write errorn);fclose(fp);void load(work p)FILE *fp;int i;char filename20;p-length=0;printf(Please input the filenamen);scanf(%s,filename);if(fp=
11、fopen(filename,rb)=NULL) printf(cannot open filen); return; printf(File has been open:n); printf(File is:n);fread(&n,sizeof(int),1,fp);printf(%dn,n);getch();for (i=1;iwi,sizeof(struct worker),1,fp); p-length+; fclose(fp);void shellsort(work q,int data,int t) int k; for(k=0;kt;+k) shellsert(q,datak);
12、 int shellsert(work p,int dk) int i,j; for(i=dk+1;ilength;i+) if(strcmp(p-wi.name,p-wi-dk.name)w0=p-wi; for(j=i-dk;j0&strcmp(p-w0.name,p-wj.name)wj+dk=p-wj; p-wj+dk=p-w0; void insertwork(work p,worker q) int i,j; i=p-length; while(strcmp(q.name,p-wi.name)wi+1=p-wi; i-; p-wi+1=q; p-length+; n+;int de
13、lete(work p,char *name) int i=1,j,k; if(p-length=0) return 0; while(strcmp(name,p-wi.name)!=0)&(ilength) +i; if(strcmp(name,(p-wi.name)=0) k=i; for(j=k;jlength;j+) p-wj=p-wj+1; p-length-; n-; return k; else return 0; int changework(work p,char *name) int i=1,j,m; system(cls); while(strcmp(name,p-wi.
14、name)!=0)&(ilength) +i; if(strcmp(name,(p-wi.name)=0) printf(n do you want to change the works name,1:yes,2:no); scanf(%d,&j); if(j=1) printf(n please input name ); scanf(%s,p-wi.name); printf(n do you want to change the works sex,1:yes,2:no); scanf(%d,&j); if(j=1) getchar(); do printf(ninput %ss se
15、x,1:man,2:woman ,p-wi.name); scanf(%d,&m); getchar(); switch(m) case 1:strcpy(p-wi.sex,man);break;case 2:strcpy(p-wi.sex,woman);break; default:printf(input wrong,please input anain);m=0;break; while(m=0); printf(n do you want to change the works birthday,1:yes,2:no); scanf(%d,&j); if(j=1) printf(n p
16、lease input birthday ); scanf(%s,p-wi.birthday); printf(n do you want to change the works workage,1:yes,2:no); scanf(%d,&j); if(j=1) printf(n please input workage ); scanf(%s,p-wi.workage); printf(n do you want to change the works xueli,1:yes,2:no); scanf(%d,&j); if(j=1) printf(n please input xueli
17、); scanf(%s,p-wi.xueli); printf(n do you want to change the works position,1:yes,2:no); scanf(%d,&j); if(j=1) printf(n please input position ); scanf(%s,p-wi.position); printf(n do you want to change the works adress,1:yes,2:no); scanf(%d,&j); if(j=1) printf(n please input adress ); scanf(%s,p-wi.ad
18、ress); printf(n do you want to change the works tel,1:yes,2:no); scanf(%d,&j); if(j=1) printf(n please input tel ); scanf(%s,p-wi.tel); return i; else return 0; int chayuework(work p,char *name) int i=1; system(cls); while(strcmp(name,(p-wi.name)!=0&ilength) +i; if(strcmp(name,(p-wi.name)=0) printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 公司 职工 管理 系统

链接地址:https://www.31ppt.com/p-3684445.html