职工信息管理系统doc.docx

上传人:b****5 文档编号:26466237 上传时间:2023-06-19 格式:DOCX 页数:27 大小:324.02KB
下载 相关 举报
职工信息管理系统doc.docx_第1页
第1页 / 共27页
职工信息管理系统doc.docx_第2页
第2页 / 共27页
职工信息管理系统doc.docx_第3页
第3页 / 共27页
职工信息管理系统doc.docx_第4页
第4页 / 共27页
职工信息管理系统doc.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

职工信息管理系统doc.docx

《职工信息管理系统doc.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统doc.docx(27页珍藏版)》请在冰豆网上搜索。

职工信息管理系统doc.docx

职工信息管理系统doc

 

内蒙古科技大学

本科生课程设计说明书

 

题目:

C语言课程设计

——职工信息管理系统

学生姓名:

张静

学号:

1276807349

专业:

计算机科学与技术

班级:

12级计算机(3)班

指导教师:

周李涌

 

内蒙古科技大学课程设计任务书

课程名称

C语言课程设计

设计题目

职工信息管理系统

指导教师

周李涌

时间

2014.12.31——2015.1.4

一、教学要求

1.巩固和加深学生对C语言课程的基本知识的理解和掌握

2.掌握C语言编程和程序调试的基本技能

3.利用C语言进行基本的软件设计

4.掌握书写程序设计说明文档的能力

5.提高运用C语言解决实际问题的能力

二、设计资料及参数

每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。

职工信息管理系统设计

职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:

v职工信息录入功能(职工信息用文件保存)--输入

v职工信息浏览功能--输出

v查询或排序功能:

(至少一种查询方式)--算法

●按工资查询●按学历查询等

v职工信息删除、修改功能(任选项)

三、设计要求及成果

1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)

2.写出详细设计说明(至少包括功能实现分析和模块流程图)

3.编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)

4.设计完成的软件要便于操作和使用

5.设计完成后提交课程设计报告(请严格按照模板进行排版)

四、进度安排

第一天 选择课程设计题目,分析课题的要求

第二天 编程

第三天 编程及调试

第四天 写课程设计报告

第五天 提交课程设计报告(打印稿及电子稿)

五、评分标准

1.根据平时上机考勤、表现和进度,教师将每天点名和检查

2.根据课程设计完成情况,必须有可运行的软件。

3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。

六、建议参考资料

1.《C语言程序设计》,谭浩强,清华大学出版社

2.《C语言程序设计课程设计》,刘振安,机械工业出版社

第一章需求分析

1.1引言

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展要高效率的把内部活动有机的组织起来,就必须建立自身特点相适应的管理信息系统。

本组设计的是一个关于职工信息管理的数据库系统,通过这个系统,管理员可以简捷方便的对职工信息进行增加、删除、修改等功能,而用户也可以通过这个系统对职工信息进行查询等功能。

1.2任务概述

(1)职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复。

(2)录入的职工信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。

(3)职工信息的显示要求有一定的规范格式。

(4)对职工信息应能够分别安编号及按姓名两种方式进行查询,要求能返回所有符合条件的职工的信息。

(5)对职工信息的修改应逐个地进行,在一个职工的信息的更改不影响其他的职工记录。

(6)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能尽可能地兼容用户使用过程中的异常情况。

 

1.3数据描述

在主函数的框架下构造结构体

1.4功能需求

本软件是一个很好地职工管理系统,能够实现对职工的管理。

该系统可以让工人管理人员更好的掌握职工的信息,可以实现对工人信息的增加,查找,删除,和修改。

1.输入功能:

一次可以完成自定义职工人数的职工信息记录的输入。

2.删除功能:

对指定职工的信息进行删除。

3.查询功能:

选择某种方式并输入该信息,查询符合条件的职工信息。

4.修改功能:

对指定学生的信息进行修改。

5.显示功能:

将以上功能操作后的职工信息显示出来。

6.保存功能:

将以上功能操作后的职工信息保存下来。

7.退出主菜单。

 

1.5性能需求

1.输入功能:

一次可以完成自定义职工人数的职工信息记录的输入。

2.删除功能:

对指定职工的信息进行删除。

3.查询功能:

选择某种方式并输入该信息,查询符合条件的职工信息。

4.修改功能:

对指定职工的信息进行修改。

5.显示功能:

将以上功能操作后的职工信息显示出来。

6.保存功能:

将以上功能操作后的职工信息保存下来。

7.退出主菜单。

1.6运行需求

1.编写好程序代码,调试程序使其能正确运行。

2.设计完成的软件要便于操作和使用。

3.

1.7任务计划

利用基本的控制结构,如选择、循环、顺序等结构化的设计思想实现职工信息管理系统的添加、修改、删除等管理功能。

本次设计的职工信息管理系统,采用创建一个结构体数组,用来记录设备的详细信息,然后再通过对数组的各种操作来完成对职工信息的添加、删除、修改、查找等功能。

有效实现添加、修改、删除等功能,在程序设计过程中运用了结构体数组的知识,以完成对职工信息的录入、显示等功能。

 

第二章概要设计

2.1总体设计

总体设计目标:

使用者可以利用本系统进行对职工信息的各项操作,根据需求进行添加,浏览,查询,删除。

查找所要的工人信息的详细资料。

大大方便使用者对工人信息管理的操作,不仅节约时间,而且提高准确性,可以达到事半功倍的效果。

总体设计策略,本系统采用的事自顶向下,层次化的模块结构。

对高层模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。

对低层模块,采用以变换为中心的设计策略。

结合上述分析该系统应包括以下模块:

信息输入、信息查询、信息显示,信息修改,信息删除等各项操作。

2.2数据结构设计

2.3接口设计

表2.1:

函数列表

函数名

函数格式

函数功能

Voidmenu

void

执行菜单

Voidluru

void

录入信息

Voidliulan

void

浏览信息

Voidchaxun

void

查询信息

Voidxiugai

void

修改信息

Voidshanchu

void

删除信息

2.4运行界面设计

图1系统的选择流程图

 

第三章详细设计

3.1输入模块设计

图2职工信息录入

 

3.2输出模块设计

分析:

能够更好的输出工人的信息。

图3职工信息输出

 

3.3查找模块设计

分析:

输入你所要查询的信息,如果有,则输出信息;如果有,则返回主菜单。

图4职工信息查找

 

3.4修改模块设计

分析:

管理人员可以随时修改工人的信息,可以方便的管理工人的信息。

图5职工信息修改

 

3.5删除模块设计

分析:

管理人员可以将工人信息进行删除。

以防一些没用的信息干扰有用的信息。

图6职工信息删除

第四章测试分析

4.1测试程序执行情况

主菜单

职工信息录入

职工信息查询

职工信息修改

 

职工信息删除

第五章课程设计总结

通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提高了运用C语言进行程序设计的能力。

在这学期期末考试前期,学院给我们安排的课程设计周,总让我们觉得有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情复习,我曾一度的抱怨过学院,在完成它之后,我发现我错了,课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨练了我们,让我们在大学的下一个阶段能更好的成长。

使我相信无论什么事,只要自己真的下决心去做,都是可以做到的,即使不能一次成功,也不能放弃,失败的尽头一定有成功在等着我们的,失败乃成功之母。

实践是检验真理的唯一方法,学了在多的知识不会运用,就如同鸟儿长了翅膀却不会飞翔。

学习C语言就是为了运用它,帮助我们解决一些日常生活中遇到的问题,而此次的课程设计就为我们提供了检验自己能力的机会,也给了我们一次弥补以前缺陷的机会。

总而言之,这次课程设计使我获益匪浅。

附录:

程序代码

#include

struct

{

charname[8];

charnum[10];

charsex[10];

charage[10];

charrecord[10];

charposition[15];

charwanges[10];

chartel[15];

charaddr[50];

}one;

FILE*fp;

voidoutput();

voidsearch();

voidappend();

voidmodify();

voiddelete();

voidnameway();

voidxueliway();

voidnumway();

voidmain()

{

intm;

while

(1)

{puts("\n\n\n\t\t******************************************\n");

puts("\t\t欢迎光临职工信息系统\n");

puts("\t\tWelcometoemployeemanagementsystem\n");

puts("\t\t**********************MENU******************\n");

puts("\n\t\t\t\t1.职工信息添加功能");

puts("\n\t\t\t\t2.职工信息查找功能");

puts("\n\t\t\t\t3.职工信息修改功能");

puts("\n\t\t\t\t4.职工信息删除功能");

puts("\n\t\t\t\t5.职工信息输出功能");

puts("\n\t\t\t\t6.退出\n");

printf("请选择(1-6):

[]\b\b");

scanf("%d",&m);

if(m>=0&&m<=5)

{

switch(m)

{

case1:

append();

break;

case2:

search();

break;

case3:

modify();

break;

case4:

delete();

break;

case5:

output();

break;

case6:

exit();

}

printf("\n\n输入完毕,请选择(1-6)");

}

else

printf("\n\n选择错误,请选择(1-6)");

}

}

voidoutput()

{

if((fp=fopen("worker.xls","r"))==NULL)

{

printf("\n不能打开该文件!

");

exit();

}

printf("\n\n%20s\n","职工信息管理系统");

while(!

feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

fclose(fp);

}

voidappend()

{

if((fp=fopen("worker.xls","a"))==NULL)

{

printf("\n不能打开该文件!

");

exit();

}

puts("\t请输入添加职工信息\n");

puts("\t姓名、职工号、性别、年龄、学历、职位、工资、电话、地址\n");

scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fclose(fp);

}

voidsearch()

{

intl;

printf("\t\t\t\t1.姓名查找按\n");

printf("\t\t\t\t2.学历查找按\n");

printf("\t\t\t\t3.职工号查按\n");

scanf("%d",&l);

if(l>0&&l<4)

{switch(l)

{

case1:

nameway();

break;

case2:

xueliway();

break;

case3:

numway();

break;

}

printf("\n\n输入完毕!

!

!

");

}

elseprintf("\t\t\t\t输入有误!

!

!

");

}

voidnameway()

{

intk=0;

charnam[8];

printf("\n请输入您要查找的职工姓名:

");

scanf("%s",nam);

if((fp=fopen("worker.xls","rb"))==NULL)

{

printf("\n不能打开文件!

");

exit();

}

while(!

feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(nam,one.name)==0)

{

printf("\n\n已查到,记录为:

");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

k=1;

}

}

if(k==0)

printf("\n\n对不起,查无此人!

");

fclose(fp);

}

voidxueliway()

{intj=0;

charxueli[10];

printf("\t\t\t\t输入你要查询的学历\n");

scanf("%s",xueli);

if((fp=fopen("worker.xls","rb"))==NULL)

{

printf("\n不能打开文件!

");

exit();

}

while(!

feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(xueli,one.record)==0)

{

printf("\n\n已查到,记录为:

");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

j=1;

}

}

if(j==0)

printf("\n\n对不起,查无此人!

");

fclose(fp);

}

voidnumway()

{

inti=0;

charnumb[10];

printf("\t\t\t\t输入你要查询的共号\n");

scanf("%s",numb);

if((fp=fopen("worker.xls","rb"))==NULL)

{

printf("\n不能打开文件!

");

exit();

}

while(!

feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(!

strcmp(numb,one.num))

{

printf("\n\n已查到,记录为:

");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

i=1;

}

}

if(!

i)

printf("\n\n对不起,查无此人!

");

fclose(fp);

}

voidmodify()

{

intm,k=0;

longa;

charnamekey[8];

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

");

scanf("%s",namekey);

if((fp=fopen("worker.xls","r+"))==NULL)

{

printf("\n不能打开该文件!

");

exit();

}

while(!

feof(fp))

{

a=ftell(fp);

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(!

strcmp(namekey,one.name))

{

k=1;

break;

}

}

if(k)

{

printf("\n已查到,记录为:

");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("\n请输入信息(按照姓名、职工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入):

");

scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

else

printf("\n对不起,查无此人,无法进行修改。

");

fclose(fp);

}

voiddelete()

{

intm,k=0;

longa,b;

charnamekey[8],valid[4];

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

");

scanf("%s",namekey);

if((fp=fopen("worker.xls","r+"))==NULL)

{

printf("\n不能打开该文件!

");

exit();

}

while(!

feof(fp))

{

a=ftell(fp);

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(namekey,one.name)==0)

{

k=1;

break;

}

}

if(k==1)

{

printf("\n已查到,记录为");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("\n确实要删除,按1;不删除,按0:

");

scanf("%d",&m);

if(m==1)

{

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n""","","","","","","","","");

}

}

else

printf("\n对不起,查无此人。

");

fclose(fp);

}

 

参考文献

《C语言程序设计》谭浩强清华大学出版社

《C语言程序设计课程设计》刘振安机械工业出版

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1