课程设计职工信息管理系统Word下载.docx
- 文档编号:19986319
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:34
- 大小:717.62KB
课程设计职工信息管理系统Word下载.docx
《课程设计职工信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《课程设计职工信息管理系统Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
删除你想删除的职工的所有信息,可以多次删除,同样可以通过职工号或者职工的姓名二种方式进行删除,删除后会显示删除结果。
查询函数voidQuery()
可以通过该函数来查询你所需职工的所有信息并显示,同样你可以选择是按职工号、职工的姓名、工资或者部门来查询,当你查询的职工不存在时系统还会提示你,你所查询的职工不存在。
排序函数voidSore()
通过该函数完成按职工工资降序排列并显示。
退出函数
完成退出程序。
三详细设计
1用C语言定义相关数据
Structstu
Charname[10];
Charxb[4];
Intnl;
Charxl[10];
Doublegz;
Charbm[15];
Charzc[10];
}s[40];
2各模块的类C码算法
1职工信息显示函数
voidDisp()/*显示模块*/
{
inti;
定义循环变量
system("
COLOR1f"
);
调整显示界面颜色;
for(i=0;
i<
N;
i++)利用for循环将数据库的内容出来
printf("
输出职工信息);
}
2职工信息的追加函数
voidAppe()/*追加模块*/
{inti,p,t;
voidWr_file();
printf("
请输入你想添加的职工个数:
"
scanf("
%d"
&
i);
for(p=0;
p<
i;
p++)(利用for循环追加想要追加的职工的个数)
}printf("
你还想要追加吗?
是请按1否请按2"
scanf("
t);
if(t==1)Appe();
printf(“追加后的信息为:
”);
3职工信息修改函数
voidModi()/*修改模块*/
{intn,c,p,i,b=1,j=0,k=1;
charfname[10];
intlongr;
system("
COLOR9f"
(控制颜色)
voidWr_file();
请选择修改方式\n"
1:
职工号2:
姓名\n"
n);
switch(n){输入工号或姓名}
for(i=0;
i++)
{case1:
for(b=1;
b<
2;
)
{printf("
请输入职工号:
%ld"
r);
for(i=0;
if(s[i].zgh==r)
{p=i;
j=1;
switch(j)
{case0:
无此人信息\n"
scanf("
b);
break;
case1:
for(;
k<
{printf("
请选择修改项目\n"
);
c);
switch(c)(修改并保存)
Wr_file();
printf("
你还要修改此人其他项目吗\n"
yes2:
no\n"
scanf("
k);
}if(k==1)continue;
(若是k==1则继续修改此人的信息)printf("
你还要修改其他职工的其他项目吗\n"
printf("
if(k==1)continue;
}break;
case2:
请输入姓名:
%s"
fname);
for(i=0;
if(strcmp(s[i].name,fname)==0)(判断是否找到这个人)
{p=i;
}
{switch(j)
case0:
switch(c)(修改并保存)
你还要修改此人其项目吗\n"
scanf("
}break;
}
printf("
你还要修改其他职工的其他项目吗?
\n"
}break;
}break;
(修改完了输出)
}
}
4职工信息删除函数
voidDele()/*删除模块*/
{inta,b,c,d,x,p,i,j=0;
charsname[10];
longintsgh;
COLOR5f"
voidQuit();
(退出函数)
请选择删除方式\n"
x);
switch(x)
for(c=1;
c<
{printf("
请输入删除工号\n"
sgh);
if(s[i].zgh==sgh)
{b=i;
无此人\n"
还要删\n"
1.yes2.no\n"
选择是否还要删除
case1:
是否删除此人\n"
a);
switch(a)
{case1:
for(p=(b+1);
p++)
{d=b+1;
s[b]=s[d];
b++;
N=N-1;
Wr_file();
还要删除吗\n"
选择是否还要删除?
scanf("
case2:
c=2;
}
case2:
)(按姓名进行删除,用for循环控制)
请输入删除姓名\n"
sname);
if(strcmp(s[i].name,sname)==0)
{b=i;
switch(j)
{case0:
是否还要删除\n"
选择是否删除?
5职工信息查询函数
voidQuery()/*查询模块*/
{inti,t,flag;
longintb;
chars1[8];
选择按职工号||姓名||工资||部门查询"
查找该职工并显示其信息}
6职工信息排序函数
voidSort()/*排序*/
{inti,j;
structstus1;
(定义一个结构体中间变量)
COLOR6f"
(控制颜色)
N-1;
for(j=i+1;
j<
j++)
if(s[i].gz<
s[j].gz)
{s1=s[i];
s[i]=s[j];
s[j]=s1;
}(交换结构体的值)
7退出函数
voidQuit()/*退出*/
{printf("
******Thankyoubye******\n"
3函数的调用关系图
四调试分析(包括流程图和截图)
1显示模块N-S图
显示第i个职工的信息
j
2.追加模块流程图
否
3.查询模块的流程图
4.排序模块的流程图
5.修改模块的流程图
6删除模块流程图
7.各个模块的截图及说明
运行程序,进入主菜单,显示如图所示:
系统提供了七个选项,可以通过选择数字进入你需要的模块操作。
选择1显示模块的截图如下图所示:
按任意键返回主菜单,选择菜单2进入追加模块的操作,追加模块的截图如下所示:
在该模块的操作中可以选择追加一条,也可以追加多条。
按任意键退出,选择3进入修改模块的操作截图如下所示:
可以修改一个职工的某项信息也可以修改多项信息,还可以修改其他职工的信息。
按任意键退出该模块,选择4进入删除模块的操作,截图如下:
可以按照两种方法删除当输入的人不存在是系统会给出提示此人不存在,可以进行多项删除。
按任意键退出,选择5进入查询模块的操作,截图如下:
该模块可以选择4种方式进行查询,当查询的信息不存在时,会给出此人不存在的提示,按5键退出查询模块。
按任意键退出后进入主菜单,选择6进入排序模块的操作,截图如下:
该排序是按员工的工资降序排列的。
选菜单7退出系统截图如下:
五参考文献
《C语言程序案例分析》人民邮电出版社
《C语言程序设计》(第2版)北京邮电大学出版社
《C程序设计》(第三版)清华大学出版社
《C语言程序设计案例分析》人民邮电出版社
六程序原代码
#include"
stdio.h"
#include<
stdlib.h>
string.h"
conio.h"
intN=0;
structstu
{longintzgh;
charname[10];
charxb[4];
intnl;
charxl[10];
doublegz;
charbm[15];
charzc[10];
}s[40];
voidRe_file()
FILE*fp;
定义一个指针文件
fp=fopen("
D:
\\rsdak.txt"
"
r"
打开文件所指的文件,进行读取文件里的内容
while(fscanf(fp,"
%ld\n%s\n%s\n%d\n%s\n%lf\n%s\n%s\n"
s[N].zgh,s[N].name,s[N].xb,&
s[N].nl,s[N].xl,&
s[N].gz,s[N].bm,s[N].zc)!
=EOF)N++;
fclose(fp);
关闭文件
voidWr_file()
{inti;
\\nwersk.txt"
w"
打开文件把文件里的内容写到新的文件里
fprintf(fp,"
s[i].zgh,s[i].name,s[i].xb,s[i].nl,s[i].xl,s[i].gz,s[i].bm,s[i].zc);
{inti;
COLOR2f"
***********************************************************************\n"
职工号姓名性别年龄学历工资部门职称\n"
i++)用for循环把职工的信息显示出来
{
%-6ld%-6s%-4s%-5d%-7s%-10.2lf%-10s%-4s\n"
************************************************************************\n"
p++)定义P来控制追加的职工的个数
{
pleasinput职工号:
/*输入追加的职工号*/
s[N].zgh);
\npleaseinpue姓名:
/*输入追加的姓名*/
s[N].name);
\npleaseinput性别:
/*输入追加的性别*/
s[N].xb);
\npleaseinput年龄:
/*输入追加的年龄*/
s[N].nl);
\npleaseinput学历:
/*输入追加的学历*/
s[N].xl);
\npleaseinput工资:
/*输入追加的工资*/
%lf"
s[N].gz);
\npleaseinput部门:
/*输入追加的部门*/
s[N].bm);
\npleaseinput职称:
/*输入追加的职称*/
s[N].zc);
\nnext\n"
N++;
控制颜色
switch(n)
{case1:
i++)
if(s[i].zgh==r)判断输入的职工号是否存在
}若库文件里存在输入的职工号则p=i代表已经找到
scanf("
**********************************************************\n"
****\n"
**1:
性别2:
年龄3:
学历4:
工资5:
部门6:
职称7:
退出**\n"
if(c==7)break;
switch(c)
请输入性别\n"
s[p].xb);
请输入年龄\n"
s[p].nl);
case3:
请输入学历\n"
s[p].xl);
case4:
请输入工资\n"
s[p].gz);
case5:
请输入部门\n"
s[p].bm);
case6:
请输入职称\n"
s[p].zc);
Wr_file();
if(strcmp(s[i].name,fname)==0)判断输入的姓名是否存在
{case0:
对不起,找不到此人信息\n"
还要继续\n"
if(b==1)continue;
case1:
************************************************\n"
性别2年龄3学历4:
工资5部门6职称7:
scanf("
if(c==7)break;
switch(c)定义一个开关语句来修改职工的某项信息
case2:
case3:
case4:
case5:
case6:
s[p]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 职工信息管理系统 职工 信息管理 系统