c++课程设计保安排班系统文档格式.docx
- 文档编号:21552476
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:50
- 大小:652.94KB
c++课程设计保安排班系统文档格式.docx
《c++课程设计保安排班系统文档格式.docx》由会员分享,可在线阅读,更多相关《c++课程设计保安排班系统文档格式.docx(50页珍藏版)》请在冰豆网上搜索。
查询休息时间
输出资料
修改密码
退
出
图3.1主模块图
注释:
输入相应数字可进入相应菜单,删除和更改资料需要输入密码。
四系统实现与测试
4.1主菜单
4.1.1主菜单流程图
图4.1主菜单流程图
4.1.2主菜单代码
intmain()
{
intm;
stringp;
intt=1;
while(t!
=0)
{
system("
cls"
);
cout<
<
"
****************欢迎进入排班系统*****************"
endl;
#*#"
#***#"
#*********#"
#***快乐排班***#"
排班请输入1;
输入资料请输入2;
查询请输入3;
删除资料"
endl<
请输入4;
更改资料请输入5;
查询工龄请输入6;
查询休息"
时间请输入7;
输出资料请输入8;
修改密码请输入9;
退出"
请输入0"
cin>
>
m;
if(m==1)case1();
elseif(m==2)
{
if(case0()==0)case2();
}
elseif(m==3)case3();
elseif(m==4)
if(case0()==0)case4();
elseif(m==5)
elseif(m==6)case6();
elseif(m==7)case7();
elseif(m==8)case8();
elseif(m==9)case9();
elseif(m==0)t=0;
else
cout<
无该选项请重新选择!
输入任意数值返回主菜单。
cin>
p;
}
return0;
}
4.1.3主菜单测试
运行本保安排班安排系统,进入主菜单界面(如图4.2):
图4.2主菜单测试图
4.2排班模块的实现
4.2.1排班流程图
图4.3排班模块流程图
4.2.2排班模块代码
voidcase1(void)
intm,i;
stringo;
intz[7];
intj,k,h,n=0,flag=1;
inta,b,c,d,e,f,g;
intachoice,bchoice,cchoice,dchoice,echoice,fchoice,gchoice;
intq[7][7];
intA[7];
cout<
#特别注意!
#"
#请各位工作人员输入自己想要轮休的日期#"
#请先选择你要选择的次数#"
#再选择你要轮休的日期#"
##"
请赵输入你想选择的次数"
cin>
achoice;
请赵输入轮休日期"
:
"
;
for(j=0;
j<
j++)
q[j][0];
请钱输入你想选择的次数"
scanf("
%d"
&
bchoice);
请钱输入轮休日期"
bchoice;
q[j][1];
请孙输入你想选择的次数"
cchoice;
请孙输入轮休日期"
q[j][2];
请李输入你想选择的次数"
dchoice;
请李输入轮休日期"
q[j][3];
请周输入你想选择的次数"
echoice;
请周输入轮休日期"
q[j][4];
请吴输入你想选择的次数"
fchoice;
请吴输入轮休日期"
q[j][5];
请陈输入你想选择的次数"
gchoice;
请陈输入轮休日期"
q[j][6];
for(a=0;
a<
achoice&
&
q[a][0]!
=0;
a++)
{
for(b=0;
b<
bchoice&
q[b][1]!
b++)
for(c=0;
c<
cchoice&
q[c][2]!
c++)
{
for(d=0;
d<
dchoice&
q[d][3]!
d++)
{
for(e=0;
e<
echoice&
q[e][4]!
e++)
{
for(f=0;
f<
fchoice&
q[f][5]!
f++)
{
for(g=0;
g<
gchoice&
q[g][6]!
g++)
{
A[0]=q[a][0];
A[1]=q[b][1];
A[2]=q[c][2];
A[3]=q[d][3];
A[4]=q[e][4];
A[5]=q[f][5];
A[6]=q[g][6];
flag=1;
for(k=0;
k<
6;
k++)
{
for(h=k+1;
h<
7;
h++)
{
if(A[k]==A[h])flag=0;
}
}
if(flag==1)
cout<
得到以下组合:
赵:
星期"
A[0]<
钱:
A[1]<
孙:
A[2]<
李:
A[3]<
周:
A[4]<
吴:
A[5]<
陈:
A[6]<
n++;
}
}
}
}
}
}
if(n==0)
对不起,你们的选择不能实现排班,请重新选择!
!
elsecout<
保存请输入1"
退出请输入0"
if(m==0)
elseif(m==1)
请按次序和选择的方案输入休息日"
for(i=0;
i<
=6;
i++)
z[i];
fstreamoutfile("
f1.txt"
ios:
out);
if(!
outfile)
openerror!
请退出程序并检查相应数据文件!
outfile<
z[i]<
outfile.close();
已保存!
请输入任意值返回主菜单。
o;
4.2.3排班模块测试
输入1回车将分别请钱、赵、孙、李、周、吴、陈输入选择次数和轮休日期然后自动排班,输入2选择方案并保存数据。
(如图4.4)
图4.4排班模块测试图1
图4.5排班模块测试图2
图4.6排班测试图3
图4.7排班测试图4
4.3输入资料模块
4.3.1输入资料模块流程图
NY
图4.8输入资料模块流程图
4.3.2输入资料模块代码
voidcase2(void)
intn,t;
stringi;
structbaoan
{intnum;
stringname;
charsex;
intage;
stringtelephone;
intday;
intdays;
stringaddr;
}baoan[8];
fstreaminfile("
f2.txt"
in);
infile)
for(n=1;
n<
=7;
n++)
infile>
baoan[n].num>
baoan[n].name>
baoan[n].sex>
baoan[n].telephone>
baoan[n].age>
baoan[n].day>
baoan[n].days>
baoan[n].addr;
infile.close();
请按提示输入信息按回车确认。
请输入工号"
n;
if(n>
=8)
无此工号请重新输入"
baoan[n].num=n;
请输入姓名:
baoan[n].name;
请输入性别(男m女w):
baoan[n].sex;
请输入电话号码:
baoan[n].telephone;
请输入年龄:
baoan[n].age;
请输入休息日:
baoan[n].day;
请输入工龄(天):
baoan[n].days;
请输入住址(以/或、隔开):
输入以下资料:
baoan[n].num<
baoan[n].name<
baoan[n].sex<
baoan[n].telephone<
baoan[n].age<
baoan[n].day<
baoan[n].days<
baoan[n].addr<
确认请输入2;
重新输入请输入1"
t;
if(t==2)
fstreamoutfile("
if(!
for(n=1;
outfile.close();
已储存!
elseif(t==1)
未储存请重新选择!
i;
4.3.3输入资料模块测试
输入2将要求输入密码输入正确密码后将提示输入各种信息男m女w,输入后将要求输入2保存数据,输入1将不保存。
测试如图4.9。
图4.9输入资料模块图
4.4查询模块实现
4.4.1查询模块流程图
图4.10查询模块流程图
4.4.2查询模块代码
voidcase3(void)
intn;
infile>
信息按工号、姓名、性别、电话、年龄、休息日、工龄、地址如下:
请输入任意值返回主菜单!
4.4.3查询模块测试
输入3本模块查询所有信息从“f2.txt”中读取信息并显示信息按工号、姓名、性别、电话、年龄、休息日、工龄、地址显示。
图4.12查询模块测试图
4.5删除资料模块
4.5.1删除资料流程图
图4.13删除资料流程图
4.5.2删除资料代码
voidcase4(void)
请输入要删除的工号:
baoan[n].num=0;
baoan[n].name='
x'
baoan[n].sex='
baoan[n].telephone='
0'
baoan[n].age=0;
baoan[n].day=0;
baoan[n].days=0;
baoan[n].addr='
outfile<
已删除!
请输入任意值返回主菜单"
4.5.3删除资料测试
输入4要求输入密码输入正确密码后输入要删除信息的工号然后将删除该工号下所有信息!
图4.14删除资料测试图
4.6修改资料模块
本模块结构与输入资料模块模块相同,流程图参考图4.8。
(测试图如图4.15)
图4.15修改资料模块测试图
4.7查询工龄模块的实现
从“f2.txt”文件夹中提取信息输出工龄
4.7.1查询工龄流程图
图4.16查询工龄流程图
4.7.2查询工龄代码
voidcase6(void)
的工龄为:
baoan[n].d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 课程设计 保安 排班 系统