职工信息管理系统C语言Word格式.docx
- 文档编号:19378908
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:26
- 大小:235.61KB
职工信息管理系统C语言Word格式.docx
《职工信息管理系统C语言Word格式.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统C语言Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
设计一个职工信息管理系统,使之能提供职工信息录入功能、职工信息浏览功能、查询功能:
按姓名查询,职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等。
实现菜单设计,使用数据文件保存和修改,应用结构体和指针等内容。
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"
);
******************职工信息管理****************\n"
1.录入职工信息\n"
2.浏览职工信息\n"
3.查询职工信息\n"
4.删除职工信息\n"
5.添加职工信息\n"
6.退出\n"
scanf("
%d"
&
n);
switch(n)
{
case1:
printf("
输入职工信息\n"
input();
main();
break;
case2:
浏览职工信息\n"
display(*p);
case3:
查询职工信息\n"
search();
case4:
删除职工信息\n"
del(p);
case5:
添加职工信息\n"
add(p);
case6:
exit(0);
default:
}
}
输入函数模块流程图如下:
图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<
N;
i++)/*输入*/
printf("
请输入职工号:
"
scanf("
%3d"
em[i].number);
getchar();
/*输入职工工号*/
请输入姓名:
%s"
em[i].name);
/*输入职工姓名*/
请输入性别:
em[i].sex);
/*输入职工性别*/
请输入年龄:
em[i].age);
/*输入职工年龄*/
请输入学历:
em[i].xueli);
/*输入职工学历*/
请输入工资:
em[i].wage);
/*输入职工工资*/
请输入住址:
em[i].address);
/*输入职工家庭地址*/
请输入电话:
em[i].telephone);
/*输入职工联系号码*/
\n创建完毕!
save(N);
4具体代码实现
#include<
stdio.h>
/*标准I/Q函数*/
#include<
string.h>
#defineN2
structemployee/*定义一个职工信息结构体*/
intnumbe;
/*职工号*/
/*年龄*/
/*工资*/
/*姓名*/
/*性别*/
charaddress[30];
/*家庭地址*/
charxueli[10];
/*学历*/
/*联系电话*/
}em[N];
voidsearch();
/*查询*/
voidsearch_name();
/*按名字查询*/
voidsearch_xueli();
/*按学历查询*/
voidsearch_number();
/*按工号查询*/
voidload();
/*装载信息文件*/
voiddisplay();
/*显示职工信息*/
voiddel();
/*删除职工信息*/
voidinput();
/*录入职工信息*/
voidadd();
/*添加职工信息*/
voidsave();
/*保存信息文件*/
inta=N;
int*p=&
a;
main()/*主函数*/
voidinput()/*录入函数*/
voidsave(intm)/*保存文件函数*/
FILE*fp;
/*指向文件指针*/
if(!
(fp=fopen("
c:
//bbb.txt"
"
w"
)))/*写方式打开文件bbb,指针变量fp指向该文件*/
打开失败"
exit(0);
/正常退出程序/
m;
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)/*导入函数*/
r"
)))/*读方式打开文件bbb,指针变量fp指向该文件*/
else
for(i=0;
b;
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,&
/*关闭文件*/
voiddisplay(inta)/*浏览函数*/
inti,b=a;
load(b);
\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n"
%d\t%8s\t%s\t%d\t%8s%d\t%s\t%d\n"
voidsearch()
intt;
\n按职工号查询按1\n按姓名查询请按2"
\n按学历查询请按3\n返回主菜单请按4\n"
t);
switch(t)
\n按职工号查询\n"
search_number();
break;
\n按姓名查询\n"
search_name();
\n按学历查询\n"
search_xueli();
输入错误,请重新输入!
search();
voidsearch_number()/*按工号查找职工信息*/
inti,number;
load(*p);
\n请输入要查询的职工号:
"
number);
*p;
if(number==em[i].number)
{
printf("
\n该职工信息如下:
\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n"
\n%d\t%8s\t%s\t%d\t%8s%d\t%s\t%d\n"
break;
}
if(i==*p)
\n查无此人\n"
search();
voidsearch_name()/*按姓名查找职工信息*/
charname[20];
\n请输入要查询的姓名:
name);
if(!
strcmp(em[i].name,name))
{
printf("
\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n"
break;
}
if(i==*p)
voidsearch_xueli()/*按学历查找职工信息*/
inti,k=0;
charxueli[20];
\n请输入要查询的学历:
xueli);
strcmp(em[i].xueli,xueli))
\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n"
%d\t%8s\t%s\t%d\t%8s%d\t%s\t%d\n"
i++)
if(!
elsek++;
if(k==*p)
voiddel(int*b)/*删除函数*/
inti,t,j,m;
inta=*b;
\n所有职工信息:
display(a);
\n请输入要删除职工的名字:
\n确认删除请按1\n取消请按2\n"
scanf("
if(t==1)
{
for(j=i;
j<
a-1;
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);
if(t==2)
if(i==a)
\n输入错误,无此人\n"
*b=a;
\n继续删除请按1\n浏览信息请按2\n返回主菜单请按3\n"
m);
switch(m)
display(*b);
default:
voidadd(int*a)/*添加函数*/
inti,n,m;
a"
)))
\n请输入想添加的人数:
for(i=*a;
n+(*a);
请输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 信息管理 系统 语言