职工信息管理系统C语言.docx

上传人:b****6 文档编号:12935343 上传时间:2023-06-09 格式:DOCX 页数:32 大小:238.98KB
下载 相关 举报
职工信息管理系统C语言.docx_第1页
第1页 / 共32页
职工信息管理系统C语言.docx_第2页
第2页 / 共32页
职工信息管理系统C语言.docx_第3页
第3页 / 共32页
职工信息管理系统C语言.docx_第4页
第4页 / 共32页
职工信息管理系统C语言.docx_第5页
第5页 / 共32页
职工信息管理系统C语言.docx_第6页
第6页 / 共32页
职工信息管理系统C语言.docx_第7页
第7页 / 共32页
职工信息管理系统C语言.docx_第8页
第8页 / 共32页
职工信息管理系统C语言.docx_第9页
第9页 / 共32页
职工信息管理系统C语言.docx_第10页
第10页 / 共32页
职工信息管理系统C语言.docx_第11页
第11页 / 共32页
职工信息管理系统C语言.docx_第12页
第12页 / 共32页
职工信息管理系统C语言.docx_第13页
第13页 / 共32页
职工信息管理系统C语言.docx_第14页
第14页 / 共32页
职工信息管理系统C语言.docx_第15页
第15页 / 共32页
职工信息管理系统C语言.docx_第16页
第16页 / 共32页
职工信息管理系统C语言.docx_第17页
第17页 / 共32页
职工信息管理系统C语言.docx_第18页
第18页 / 共32页
职工信息管理系统C语言.docx_第19页
第19页 / 共32页
职工信息管理系统C语言.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

职工信息管理系统C语言.docx

《职工信息管理系统C语言.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统C语言.docx(32页珍藏版)》请在冰点文库上搜索。

职工信息管理系统C语言.docx

职工信息管理系统C语言

 

课程设计(论文)

 

题目名称职工信息管理系统

课程名称C语言程序课程设计

学生姓名刘丹

学号1241302028

系、专业信息工程系、计算机科学与技术专业

指导教师黄磊

 

2013年6月6日

 

1前言1

2需求分析1

2.1课程设计目的1

2.2课程设计任务2

2.3设计环境2

2.4开发语言2

3分析和设计3

3.1模块设计4

3.2系统流程图4

3.3主要模块的流程图5

4具体代码实现7

5课程设计总结9

5.1程序运行结果/预期运行结果9

5.2课程设计体会13

参考文献14

致谢14

 

1前言

编写一个程序来处理职工信息管理系统。

通过结构体数组来存放输入的每一位职工的记录(包括工号、姓名、性别、年龄、学历、工资、住址、电话等),然后将其录入的职工信息以文件形式保存。

然后输入名字、工号、学历查询该同学的信息,并且对其进行浏览、查询、修改、删除等基本操作,建立职工信息管理的文件。

2需求分析

1、程序结构合理

2、界面比较美观

3、最好使用结构、体指针

4、输入时有提示,输出美观,整齐

职工信息由工号、姓名、性别、年龄、学历、工资、住址、电话等构成。

功能要求:

(1)系统以菜单方式工作

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

(3)职工信息浏览功能——输出

(4)查询和排序功能:

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

(5)按职工号查询

(6)按学历查询等

(7)职工信息删除、添加功能

2.1课程设计目的

学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。

通过课程设计(论文),将课本上的理论知识和实际有机结合起来,提高学生的分析解决实际问题的能力;加强学生适应实际,实践编程的能力;锻炼使用文献资料及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。

2.2课程设计任务

设计一个职工信息管理系统,使之能提供职工信息录入功能、职工信息浏览功能、查询功能:

按姓名查询,职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等。

实现菜单设计,使用数据文件保存和修改,应用结构体和指针等内容。

1、查阅相关文献资料;

2、按时完成系统的设计并且能够运行;

3、要求程序正确,功能可靠;操作简单,使用方便;

4、课程设计交流:

认真写课程设计日志,每2天指导老师审查,通过邮件、电话,或者面谈与导师沟通汇报情况。

5、按课程设计(论文)要求,写课程设计论文。

2.3设计环境

(1)WINDOWS2000/2003/XP/7/Vista系统

(2)VisualC++或TC集成开发环境

2.4开发语言

C语言

3分析设计

职工信息管理系统编程的作用是将职工的信息存放在文件中,然后在程序中可以浏览、查询、删除、添加职工的信息,好方便了解职工信息,同时能够及时刷新职工信息。

职工信息管理系统可以按功能进行以下划分,如下图所示:

1.菜单选择是职工信息管理的入口,进行的各种操作均需要这里进行选择。

2.信息输入是将职工的信息输入到文件中,包括工号、姓名、性别、年龄、学历、工资、住址、电话等。

3.信息浏览是将已经输入的职工信息的显示出来。

4.信息查询是用来查询职工的信息,查询方式有按工号查询和姓名查询还有按学历查询三种方式。

5.信息删除是删除职工一些信息。

6.信息添加是增加一些职工信息。

3.1模块设计

定义结构体类型structemployee表示职工信息(包括:

工号、姓名、联系电话、性别、工资、学历、年龄、地址),定义一个结构体数组em[N],用来存放N个学生的信息,假设N为3。

如下所示:

#defineN

structemployee

{intnumber;

intage;

intwage;

charname[20];

charsex[10];

charaddress[30];

charxuelil[20];

longinttelephone;

}em[N];

定义函数input(),用来输入若干职工信息存入em数组中。

定义函数save(),用来把结构体数组中的信息写入文件bbb.txt中。

在save函数中先用写的方式保存到文件bbb.txt,然后以读的方式打开文件bbb,指针变量fp,打开文件bbb失败就退出。

定义函数search(),用来在文件中查找某职工的信息。

定义函数display(),用来显示某职工的信息。

定义函数del(),用来删除某职工的信息。

定义函数add(),用来添加某职工的信息。

3.2系统流程图

系统流程图如下:

 

图3.1系统流程图

3.3主要模块的流程图

主函数模块流程图如下:

 

图3.2主函数流程图

1、主函数

显示程序中所有功能和所有会调用到的函数名。

再运用选择函数switch根据所输入的数字进入对应的功能程序。

具体程序如下:

main()/*主函数*/

{

intn;

printf("\n");

printf("******************职工信息管理****************\n");

printf("\n");

printf("1.录入职工信息\n");

printf("2.浏览职工信息\n");

printf("3.查询职工信息\n");

printf("4.删除职工信息\n");

printf("5.添加职工信息\n");

printf("6.退出\n");

printf("\n");

scanf("%d",&n);

switch(n)

{

case1:

printf("输入职工信息\n");printf("\n");input();main();break;

case2:

printf("浏览职工信息\n");printf("\n");display(*p);main();break;

case3:

printf("查询职工信息\n");printf("\n");search();break;

case4:

printf("删除职工信息\n");printf("\n");del(p);break;

case5:

printf("添加职工信息\n");printf("\n");add(p);break;

case6:

exit(0);break;

default:

break;

}

}

 

输入函数模块流程图如下:

 

图3.3录入函数流程图

2、输入函数

定义一个结构体structemployee和数组em[N]用来存储N个职工信(职工号em[i].number、姓名em[i].name、性别em[i].sex、年龄em[i].age、学历em[i].xueli、学历工资em[i].wage、住址em[i].address、电话em[i].telephone)。

通过for循环输入所有职工信息。

用printf语句提示需要输入的内容,接着用scanf语句输入相应的内容。

输入完毕后套用保存save[N]将所输入的信息写入指定文件。

具体程序如下:

voidinput()/*录入函数*/

{

inti;

for(i=0;i

{

printf("请输入职工号:

");

scanf("%3d",&em[i].number);getchar();/*输入职工工号*/

printf("请输入姓名:

");

scanf("%s",em[i].name);/*输入职工姓名*/

printf("请输入性别:

");

scanf("%s",em[i].sex);getchar();/*输入职工性别*/

printf("请输入年龄:

");

scanf("%d",&em[i].age);getchar();/*输入职工年龄*/

printf("请输入学历:

");

scanf("%s",em[i].xueli);/*输入职工学历*/

printf("请输入工资:

");

scanf("%d",&em[i].wage);getchar();/*输入职工工资*/

printf("请输入住址:

");

scanf("%s",em[i].address);/*输入职工家庭地址*/

printf("请输入电话:

");

scanf("%d",&em[i].telephone);getchar();/*输入职工联系号码*/

printf("\n");

}

printf("\n创建完毕!

\n");

save(N);

}

4具体代码实现

#include/*标准I/Q函数*/

#include

#defineN2

structemployee/*定义一个职工信息结构体*/

{

intnumbe;/*职工号*/

intage;/*年龄*/

intwage;/*工资*/

charname[20];/*姓名*/

charsex[10];/*性别*/

charaddress[30];/*家庭地址*/

charxueli[10];/*学历*/

longinttelephone;/*联系电话*/

}em[N];

voidsearch();/*查询*/

voidsearch_name();/*按名字查询*/

voidsearch_xueli();/*按学历查询*/

voidsearch_number();/*按工号查询*/

voidload();/*装载信息文件*/

voiddisplay();/*显示职工信息*/

voiddel();/*删除职工信息*/

voidinput();/*录入职工信息*/

voidadd();/*添加职工信息*/

voidsave();/*保存信息文件*/

inta=N;

int*p=&a;

main()/*主函数*/

{

intn;

printf("\n");

printf("******************职工信息管理****************\n");

printf("\n");

printf("1.录入职工信息\n");

printf("2.浏览职工信息\n");

printf("3.查询职工信息\n");

printf("4.删除职工信息\n");

printf("5.添加职工信息\n");

printf("6.退出\n");

printf("\n");

scanf("%d",&n);

switch(n)

{

case1:

printf("输入职工信息\n");printf("\n");input();main();break;

case2:

printf("浏览职工信息\n");printf("\n");display(*p);main();break;

case3:

printf("查询职工信息\n");printf("\n");search();break;

case4:

printf("删除职工信息\n");printf("\n");del(p);break;

case5:

printf("添加职工信息\n");printf("\n");add(p);break;

case6:

exit(0);break;

default:

break;

}

}

voidinput()/*录入函数*/

{

inti;

for(i=0;i

{

printf("请输入职工号:

");

scanf("%3d",&em[i].number);getchar();/*输入职工工号*/

printf("请输入姓名:

");

scanf("%s",em[i].name);/*输入职工姓名*/

printf("请输入性别:

");

scanf("%s",em[i].sex);getchar();/*输入职工性别*/

printf("请输入年龄:

");

scanf("%d",&em[i].age);getchar();/*输入职工年龄*/

printf("请输入学历:

");

scanf("%s",em[i].xueli);/*输入职工学历*/

printf("请输入工资:

");

scanf("%d",&em[i].wage);getchar();/*输入职工工资*/

printf("请输入住址:

");

scanf("%s",em[i].address);/*输入职工家庭地址*/

printf("请输入电话:

");

scanf("%d",&em[i].telephone);getchar();/*输入职工联系号码*/

printf("\n");

}

printf("\n创建完毕!

\n");

save(N);

}

voidsave(intm)/*保存文件函数*/

{

inti;

FILE*fp;/*指向文件指针*/

if(!

(fp=fopen("c:

//bbb.txt","w")))/*写方式打开文件bbb,指针变量fp指向该文件*/

{

printf("打开失败");

exit(0);/正常退出程序/

}

for(i=0;i

fprintf(fp,"%d%8s%s%d%8s%d%s%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

fclose(fp);/*fp是用fopen函数打开文件时所带回的指针*/

}

voidload(intb)/*导入函数*/

{

inti;

FILE*fp;

if(!

(fp=fopen("c:

//bbb.txt","r")))/*读方式打开文件bbb,指针变量fp指向该文件*/

{

printf("打开失败");

exit(0);

}

else

for(i=0;i

fscanf(fp,"%3d%8s%s%2d%8s%4d%s%8d\n",&em[i].number,em[i].name,em[i].sex,&em[i].age,em[i].xueli,&em[i].wage,em[i].address,&em[i].telephone);

fclose(fp);/*关闭文件*/

}

voiddisplay(inta)/*浏览函数*/

{

inti,b=a;

load(b);

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");

for(i=0;i

printf("%d\t%8s\t%s\t%d\t%8s%d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

}

voidsearch()

{

intt;

printf("\n按职工号查询按1\n按姓名查询请按2");

printf("\n按学历查询请按3\n返回主菜单请按4\n");

scanf("%d",&t);

switch(t)

{

case1:

printf("\n按职工号查询\n");

search_number();

break;

case2:

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

search_name();

break;

case3:

printf("\n按学历查询\n");

search_xueli();

break;

case4:

main();break;

default:

printf("输入错误,请重新输入!

\n");

search();

break;

}

}

voidsearch_number()/*按工号查找职工信息*/

{

inti,number;

load(*p);

printf("\n请输入要查询的职工号:

");

scanf("%d",&number);

for(i=0;i<*p;i++)

if(number==em[i].number)

{

printf("\n该职工信息如下:

\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");

printf("\n%d\t%8s\t%s\t%d\t%8s%d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

voidsearch_name()/*按姓名查找职工信息*/

{

inti;

charname[20];

load(*p);

printf("\n请输入要查询的姓名:

");

scanf("%s",name);

for(i=0;i<*p;i++)

if(!

strcmp(em[i].name,name))

{

printf("\n该职工信息如下:

\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");

printf("\n%d\t%8s\t%s\t%d\t%8s%d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

voidsearch_xueli()/*按学历查找职工信息*/

{

inti,k=0;

charxueli[20];

load(*p);

printf("\n请输入要查询的学历:

");

scanf("%s",xueli);

for(i=0;i<*p;i++)

if(!

strcmp(em[i].xueli,xueli))

{

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");

printf("%d\t%8s\t%s\t%d\t%8s%d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

}

for(i=0;i<*p;i++)

{

if(!

strcmp(em[i].xueli,xueli))

break;

elsek++;

}

if(k==*p)

printf("\n查无此人\n");

search();

}

voiddel(int*b)/*删除函数*/

{

inti,t,j,m;

inta=*b;

charname[20];

printf("\n所有职工信息:

\n");

display(a);

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

");

scanf("%s",name);

for(i=0;i

{

if(!

strcmp(em[i].name,name))

{

printf("\n确认删除请按1\n取消请按2\n");

scanf("%d",&t);

if(t==1)

{

for(j=i;j

{

em[j].age=em[j+1].age;

em[j].wage=em[j+1].wage;

em[j].number=em[j+1].number;

em[j].telephone=em[j+1].telephone;

strcpy(em[j].xueli,em[j+1].xueli);

strcpy(em[j].name,em[j+1].name);

strcpy(em[j].address,em[j+1].address);

strcpy(em[j].sex,em[j+1].sex);

}

a--;

save(j);

break;

}

if(t==2)

break;

}

}

if(i==a)

printf("\n输入错误,无此人\n");

*b=a;

printf("\n继续删除请按1\n浏览信息请按2\n返回主菜单请按3\n");

scanf("%d",&m);

switch(m)

{

case1:

del(p);break;

case2:

display(*b);main();break;

case3:

main();break;

default:

break;

}

}

voidadd(int*a)/*添加函数*/

{

inti,n,m;

FILE*fp;

if(!

(fp=fopen("c:

//bbb.txt","a")))

{

printf("打开失败");

exit(0);

}

printf("\n请输入想添加的人数:

\n");

scanf("%d",&n);

for(i=*a;i

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

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2