1、4)每个人先给出自己的想休息的星期天,然后,经过商量,让主管人员给出可能的方案。3.2模块结构图系统模块设计的模块结构图如下:开始排班输入资料查询删除资料更改资料查询工龄查询休息时间输出资料修改密码退出图3.1主模块图注释:输入相应数字可进入相应菜单,删除和更改资料需要输入密码。四 系统实现与测试4.1 主菜单 4.1.1主菜单流程图图4.1主菜单流程图4.1.2主菜单代码int main() int m; string p; int t=1; while(t!=0) system(cls); cout*欢迎进入排班系统*endl;# * # * # * # *快乐排班* #排班请输入1;输入
2、资料请输入2;查询请输入3;删除资料endlm; if(m=1)case1(); else if(m=2) if(case0()=0)case2(); else if(m=3)case3(); else if(m=4) if(case0()=0)case4(); else if(m=5) else if(m=6)case6(); else if(m=7)case7(); else if(m=8)case8(); else if(m=9)case9(); else if(m=0)t=0; else coutp; return 0;4.1.3主菜单测试运行本保安排班安排系统,进入主菜单界面(如图4
3、.2):图4.2主菜单测试图4.2排班模块的实现4.2.1排班流程图图4.3排班模块流程图4.2.2排班模块代码void case1(void) int m,i; string o; int z7; int j,k,h,n=0,flag=1; int a,b,c,d,e,f,g; int achoice,bchoice,cchoice,dchoice,echoice,fchoice,gchoice; int q77; int A7; coutachoice;请赵输入轮休日期: ; for(j=0;jj+)qj0;请钱输入你想选择的次数 scanf(%d,&bchoice);请钱输入轮休日期bc
4、hoice;qj1;请孙输入你想选择的次数cchoice;请孙输入轮休日期qj2;请李输入你想选择的次数dchoice;请李输入轮休日期qj3;请周输入你想选择的次数echoice;请周输入轮休日期qj4;请吴输入你想选择的次数fchoice;请吴输入轮休日期qj5;请陈输入你想选择的次数gchoice;请陈输入轮休日期qj6; for(a=0;aachoice&qa0!=0;a+) for(b=0;bbchoice&qb1!b+) for(c=0;ccchoice&qc2!c+) for(d=0;ddchoice&qd3!d+) for(e=0;eechoice&qe4!e+) for(f=
5、0;ffchoice&qf5!f+) for(g=0;ggchoice&qg6!g+) A0=qa0; A1=qb1; A2=qc2; A3=qd3; A4=qe4; A5=qf5; A6=qg6; flag=1; for(k=0;k6;k+) for(h=k+1;h7;h+) if(Ak=Ah) flag=0; if(flag=1) cout得到以下组合:赵:星期A0钱:A1孙:A2李:A3周:A4吴:A5陈:A6 n+; if(n=0)对不起,你们的选择不能实现排班,请重新选择! else cout保存请输入1退出请输入0 if(m=0) else if(m=1)请按次序和选择的方案输入休
6、息日 for(i=0;i=6;i+)zi; fstream outfile(f1.txt,ios:out); if(!outfile)open error!请退出程序并检查相应数据文件! outfilezi outfile.close();已保存!请输入任意值返回主菜单。o;4.2.3排班模块测试输入1回车将分别请钱、赵、孙、李、周、吴、陈输入选择次数和轮休日期然后自动排班,输入2选择方案并保存数据。(如图4.4) 图4.4排班模块测试图1 图4.5排班模块测试图2 图4.6排班测试图3图4.7排班测试图44.3输入资料模块4.3.1输入资料模块流程图 N Y 图4.8输入资料模块流程图4.3
7、.2输入资料模块代码void case2(void) int n,t; string i; struct baoan int num; string name; char sex; int age; string telephone; int day; int days; string addr; baoan8; fstream infile(f2.txtin);infile) for(n=1;nbaoann.numbaoann.namebaoann.sexbaoann.telephonebaoann.agebaoann.daybaoann.daysbaoann.addr; infile.cl
8、ose();请按提示输入信息按回车确认。请输入工号n; if(n=8)无此工号请重新输入 baoann.num=n;请输入姓名:baoann.name;请输入性别(男m女w):baoann.sex;请输入电话号码:baoann.telephone;请输入年龄:baoann.age;请输入休息日:baoann.day;请输入工龄(天):baoann.days;请输入住址(以/或、隔开):输入以下资料:baoann.numbaoann.namebaoann.sexbaoann.telephonebaoann.agebaoann.daybaoann.daysbaoann.addr信息按工号、姓名、性
9、别、电话、年龄、休息日、工龄、地址如下:请输入任意值返回主菜单!4.4.3查询模块测试输入3本模块查询所有信息从“f2.txt”中读取信息并显示信息按工号、姓名、性别、电话、年龄、休息日、工龄、地址显示。 图4.12查询模块测试图4.5删除资料模块4.5.1删除资料流程图图4.13删除资料流程图4.5.2删除资料代码void case4(void)请输入要删除的工号: baoann.num=0; baoann.name=x baoann.sex= baoann.telephone=0 baoann.age=0; baoann.day=0; baoann.days=0; baoann.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查询工龄代码void case6(void)baoann.s
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2