欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c++课程设计保安排班系统.doc

    • 资源ID:17406438       资源大小:346KB        全文页数:30页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c++课程设计保安排班系统.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流c+课程设计保安排班系统.精品文档.计算机学院网络工程专业程序设计综合课程设计报告(2010/2011学年 第一学期)学生姓名: 秦佳学生班级: 网络工程102001学生学号: 201020030112指导教师: 谢丽萍 2011年 12月30日目 录一、课程设计的目的2二、 课程设计的任务3三 系统设计方案33.1系统详细描述33.2模块结构图4四 系统实现与测试44.1 主菜单44.1.1主菜单流程图44.1.2主菜单代码54.1.3主菜单测试64.2排班模块的实现74.2.1排班流程图74.2.2排班模块代码74.2.3排班模块测试104.3输入资料模块134.3.1输入资料模块流程图134.3.2输入资料模块代码134.3.3输入资料模块测试154.4查询模块实现154.4.1查询模块流程图154.4.2查询模块代码164.4.3查询模块测试174.5删除资料模块174.5.1删除资料流程图174.5.2删除资料代码184.5.3删除资料测试194.6修改资料模块194.7查询工龄模块的实现204.7.1查询工龄流程图204.7.2查询工龄代码214.7.3查询工龄测试214.8查询休息时间模块的实现224.8.1查询休息时间流程图224.8.2查询休息时间代码234.8.3查询休息时间测试234.9输出模块实现234.9.1输出模块代码244.9.2输出模块测试244.10修改密码模块实现254.10.1修改密码流程图254.10.2修改密码代码264.10.3修改密码测试274.11退出模块实现284.11.1推出模块代码28五 程序调试中出现的问题及解决方法29六 参考文献29七 附录(源代码)29一、课程设计的目的1) 学习综合运用C高级语言课程和其他先修课程的知识,提高分析和解决实际问题的的能力,进一步巩固、加深和拓宽所学的知识;进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。2) 全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。3) 掌握程序设计中的常用算法和C语言的编程技巧和上机调试程序的方法。4) 在参与一系列子项目的实践过程中,提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。二、 课程设计的任务学校有7名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制一程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日,每个人先选择自己的休息,然后经过分析和商量,列出有关的可能的方案。系统的创建与实施可以为生活区或者企业提供很方便的服务。便于保安人员的工作服务。管理员可以修改值班的信息以及基本的信息。同时为了使每个人都满意,可以实施轮流的方案,这样每个人就处于平等的优势,当然保安人员可以请假或者经过他们自己的商量,暂时的替班。三 系统设计方案 3.1系统详细描述本保安值班安排系统主要有以下四个功能:1) 保安排班管理,管理员可以通过登录界面进入信息界面查看保安人员的值班信息;2) 管理员管理,管理员可以通过信息修改表修改保安人员的值班信息:3) 保安排班查询.,保安人员可以通过登陆界面查询值班情况:4) 程序管理权限的设置,即管理员和保安人员的登陆后进入的界面不同。本系统基本操作要求有以下几点:1) 该程序要求应该是能够输入每人选择的休息日期,由于工作需要进行轮休制度,一星期中每人只能休息一天。2) 先让每一个人选择自己认为合适的休息日,判断是否符合条件3) 此程序可以打印轮休的所有可能方案。当然使每个人都满意。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;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"# *快乐排班* #"<<endl;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"*欢迎进入排班系统*"<<endl;cout<<"排班请输入1;输入资料请输入2;查询请输入3;删除资料"<<endl<<"请输入4;"<<"更改资料请输入5;查询工龄请输入6;查询休息"<<endl<<"时间请输入7;输出资料请输入8;修改密码请输入9;退出"<<endl<<"请输入0"<<endl;cin>>m;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)if(case0()=0)case2();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;elsecout<<"无该选项请重新选择!"<<endl;cout<<"输入任意数值返回主菜单。"<<endl;cin>>p;return 0;4.1.3主菜单测试运行本保安排班安排系统,进入主菜单界面(如图4.2):图4.2主菜单测试图开始输出主页面判断是否输入1输入选择输出可能方案If(保存)输入选择的方案保存结束4.2排班模块的实现4.2.1排班流程图输出输入选择择N输入0Y图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;cout<<"*欢迎进入排班系统*"<<endl;cout<<"# 特别注意! #"<<endl;cout<<"# 请各位工作人员输入自己想要轮休的日期 #"<<endl;cout<<"# 请先选择你要选择的次数 #"<<endl;cout<<"# 再选择你要轮休的日期 #"<<endl;cout<<"# #"<<endl;cout<<"# #"<<endl;cout<<"# #"<<endl;cout<<"*欢迎进入排班系统*"<<endl;cout<<"请赵输入你想选择的次数"<<endl;cin>>achoice;cout<<"请赵输入轮休日期"<<endl<<": "for(j=0;j<achoice;j+)cin>>qj0;cout<<"请钱输入你想选择的次数"<<endl;scanf("%d",&bchoice);cout<<"请钱输入轮休日期"<<endl<<": "for(j=0;j<bchoice;j+)cin>>qj1;cout<<"请孙输入你想选择的次数"<<endl;cin>>cchoice;cout<<"请孙输入轮休日期"<<endl<<": "for(j=0;j<cchoice;j+)cin>>qj2;cout<<"请李输入你想选择的次数"<<endl;cin>>dchoice;cout<<"请李输入轮休日期"<<endl<<": "for(j=0;j<dchoice;j+)cin>>qj3;cout<<"请周输入你想选择的次数"<<endl;cin>>echoice;cout<<"请周输入轮休日期"<<endl<<": "for(j=0;j<echoice;j+)cin>>qj4;cout<<"请吴输入你想选择的次数"<<endl;cin>>fchoice;cout<<"请吴输入轮休日期"<<endl<<": "for(j=0;j<fchoice;j+)cin>>qj5;cout<<"请陈输入你想选择的次数"<<endl;cin>>gchoice;cout<<"请陈输入轮休日期"<<endl<<": "for(j=0;j<gchoice;j+)cin>>qj6;for(a=0;a<achoice&&qa0!=0;a+)for(b=0;b<bchoice&&qb1!=0;b+)for(c=0;c<cchoice&&qc2!=0;c+)for(d=0;d<dchoice&&qd3!=0;d+)for(e=0;e<echoice&&qe4!=0;e+)for(f=0;f<fchoice&&qf5!=0;f+)for(g=0;g<gchoice&&qg6!=0;g+)A0=qa0; A1=qb1; A2=qc2; A3=qd3; A4=qe4; A5=qf5; A6=qg6;flag=1;for(k=0;k<6;k+)for(h=k+1;h<7;h+)if(Ak=Ah) flag=0;if(flag=1)cout<<"得到以下组合:"<<endl;cout<<"赵: " cout<<"星期"<<A0<<endl;cout<<"钱: " cout<<"星期"<<A1<<endl;cout<<"孙: " cout<<"星期"<<A2<<endl;cout<<"李: " cout<<"星期"<<A3<<endl;cout<<"周: " cout<<"星期"<<A4<<endl;cout<<"吴: " cout<<"星期"<<A5<<endl;cout<<"陈: " cout<<"星期"<<A6<<endl;cout<<" "<<" "n+;if(n=0)cout<<"对不起,你们的选择不能实现排班,请重新选择!"<<endl;else cout<<"保存请输入1"cout<<"退出请输入0"<<endl;cin>>m;if(m=0)cout<<" "else if(m=1)cout<<"请按次序和选择的方案输入休息日"<<endl;for(i=0;i<=6;i+)cin>>zi; fstream outfile("f1.txt",ios:out); if(!outfile) cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(i=0;i<=6;i+)outfile<<zi<<" "outfile.close();cout<<"已保存!"<<endl;cout<<"请输入任意值返回主菜单。"<<endl;cin>>o;4.2.3排班模块测试输入1回车将分别请钱、赵、孙、李、周、吴、陈输入选择次数和轮休日期然后自动排班,输入2选择方案并保存数据。(如图4.4) 图4.4排班模块测试图1 图4.5排班模块测试图2 图4.6排班测试图3图4.7排班测试图4开始4.3输入资料模块判断是否输入2输入密码输入资料If(保存)保存输入0输出主页面4.3.1输入资料模块流程图N结束YNY是否退出NYIf(正确) N Y输出请输入资料NY 图4.8输入资料模块流程图4.3.2输入资料模块代码void case2(void)int n,t;string i;struct baoanint num;string name;char sex;int age;string telephone;int day;int days;string addr;baoan8;fstream infile("f2.txt",ios:in);if(!infile)cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)infile>>baoann.num>>baoann.name>>baoann.sex>>baoann.telephone>>baoann.age>>baoann.day>>baoann.days>>baoann.addr;" "infile.close();cout<<"请按提示输入信息按回车确认。"<<endl;cout<<"请输入工号"cin>>n;if(n>=8)cout<<"无此工号请重新输入"<<endl;cin>>n;baoann.num=n;cout<<"请输入姓名:"cin>>baoann.name;cout<<"请输入性别(男m女w):"cin>>baoann.sex;cout<<"请输入电话号码:"cin>>baoann.telephone;cout<<"请输入年龄:"cin>>baoann.age;cout<<"请输入休息日:"cin>>baoann.day;cout<<"请输入工龄(天):"cin>>baoann.days;cout<<"请输入住址(以/或、隔开):"cin>>baoann.addr;cout<<"输入以下资料:"<<endl;cout<<baoann.num<<" "<<baoann.name<<" "<<baoann.sex<<" "<<baoann.telephone<<" "<<baoann.age<<" "<<baoann.day<<" "<<baoann.days<<" "<<baoann.addr<<endl;cout<<"确认请输入2;重新输入请输入1"<<endl;cin>>t;if(t=2)fstream outfile("f2.txt",ios:out);if(!outfile) cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)outfile<<baoann.num<<" "<<baoann.name<<" "<<baoann.sex<<" "<<baoann.telephone<<" "<<baoann.age<<" "<<baoann.day<<" "<<baoann.days<<" "<<baoann.addr<<" "outfile.close();cout<<"已储存!"<<endl;else if(t=1)cout<<"未储存请重新选择!"<<endl;cout<<"请输入任意值返回主菜单。"<<endl;cin>>i;4.3.3输入资料模块测试输入2将要求输入密码输入正确密码后将提示输入各种信息男m女w,输入后将要求输入2保存数据,输入1将不保存。测试如图4.9。图4.9输入资料模块图4.4查询模块实现开始输出主菜单N输入0判断是否输入3Y输入查询工号结束输出信息4.4.1查询模块流程图图4.10查询模块流程图4.4.2查询模块代码void case3(void)int n;string i;struct baoanint num;string name;char sex;int age;string telephone;int day;int days;string addr;baoan8;fstream infile("f2.txt",ios:in); if(!infile) cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)infile>>baoann.num>>baoann.name>>baoann.sex>>baoann.telephone>>baoann.age>>baoann.day>>baoann.days>>baoann.addr;" "infile.close();cout<<"信息按工号、姓名、性别、电话、年龄、休息日、工龄、地址如下:"<<endl;for(n=1;n<=7;n+)cout<<baoann.num<<" "<<baoann.name<<" "<<baoann.sex<<" "<<baoann.telephone<<" "<<baoann.age<<" "<<baoann.day<<" "<<baoann.days<<" "<<baoann.addr<<endl;cout<<"请输入任意值返回主菜单!"<<endl;cin>>i;4.4.3查询模块测试输入3本模块查询所有信息从“f2.txt”中读取信息并显示信息按工号、姓名、性别、电话、年龄、休息日、工龄、地址显示。 图4.12查询模块测试图开始输出主菜单判断是否输入4输入密码If(正确)4.5删除资料模块4.5.1删除资料流程图N结束输入0YNYNIf(输入0)Y输入删除工号图4.13删除资料流程图4.5.2删除资料代码void case4(void)int n;string i;struct baoanint num;string name;char sex;int age;string telephone;int day;int days;string addr;baoan8;fstream infile("f2.txt",ios:in); if(!infile) cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)infile>>baoann.num>>baoann.name>>baoann.sex>>baoann.telephone>>baoann.age>>baoann.day>>baoann.days>>baoann.addr;" "infile.close();cout<<"请输入要删除的工号:"<<endl;cin>>n;baoann.num=0;baoann.name='x'baoann.sex='x'baoann.telephone='0'baoann.age=0;baoann.day=0;baoann.days=0;baoann.addr='x'fstream outfile("f2.txt",ios:out);if(!outfile)cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)outfile<<baoann.num<<" "<<baoann.name<<" "<<baoann.sex<<" "<<baoann.telephone<<" "<<baoann.age<<" "<<baoann.day<<" "<<baoann.days<<" "<<baoann.addr<<" "outfile.close();cout<<"已删除!"<<endl<<"请输入任意值返回主菜单"<<endl;cin>>i;4.5.3删除资料测试输入4要求输入密码输入正确密码后输入要删除信息的工号然后将删除该工号下所有信息!图4.14删除资料测试图4.6修改资料模块本模块结构与输入资料模块模块相同,流程图参考图4.8。(测试图如图4.15)图4.15修改资料模块测试图4.7查询工龄模块的实现从“f2.txt”文件夹中提取信息输出工龄判断是否输入6从文件提取信息输出所有工龄开始4.7.1查询工龄流程 图输出主菜单N结束输入0Y图4.16查询工龄流程图4.7.2查询工龄代码void case6(void)int n;string i;struct baoanint num;string name;char sex;int age;string telephone;int day;int days;string addr;baoan8;fstream infile("f2.txt",ios:in); if(!infile) cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)infile>>baoann.num>>baoann.name>>baoann.sex>>baoann.telephone>>baoann.age>>baoann.day>>baoann.days>>baoann.addr;" "infile.close();for(n=1;n<=7;n+)cout<<baoann.name<<"的工龄为:"cout<<baoann.days<<"天"<<endl;cout<<"请输入任意值返回主菜单!"<<endl;cin>>i;4.7.3查询工龄测试如下图4.17。图4.17查询工龄测试图4.8查询休息时间模块的实现从“f2.txt”文件夹中提取信息输出休息时间开始输出主菜单判断是否输入7从文件提取信息输入04.8.1查询休息时间流程图NY结束输出所有工龄图4.18休息时间模块流程图4.8.2查询休息时间代码void case7(void)int i;string o;int a7;fstream infile("f1.txt",ios:in); if(!infile) cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(i=0;i<=6;i+)infile>>ai;cout<<endl<<"钱周"<<a0<<"休息;赵周"<<a1<<"休息;孙周"<<a2<<"休息;李周"<<a3<<"休息;周周"<<a4<<"休息;吴周"<<a5<<"休息;陈周"<<a6<<"休息"<<endl<<endl<<endl;infile.close();cout<<"输入任意值返回主菜单"<<endl;cin>>o;4.8.3查询休息时间测试图4.19查询休息时间测试图4.9输出模块实现从“f2.txt”文件夹中提取信息输出到“f3.txt”中将输出所有信息4.9.1输出模块代码void case8(void)int n;string i;struct baoanint num;string name;char sex;int age;string telephone;int day;int days;string addr;baoan8;fstream infile("f2.txt",ios:in); if(!infile) cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)infile>>baoann.num>>baoann.name>>baoann.sex>>baoann.telephone>>baoann.age>>baoann.day>>baoann.days>>baoann.addr;" "infile.close();fstream outfile("f3.txt",ios:out);if(!outfile)cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;for(n=1;n<=7;n+)outfile<<"工号为:"<<baoann.num<<"的"<<baoann.name<<"性别为:"<<baoann.sex<<",电话为:"<<baoann.telephone<<",年龄为:"<<baoann.age<<",休息日为:"<<baoann.day<<",工龄为:"<<baoann.days<<",地址为:"<<baoann.addr<<endl;cout<<"已输出到“f3.txt”文件中"<<endl<<"输入任意值返回主菜单。"<<endl;cin>>i;4.9.2输出模块测试如图4.20及图4.21 。图4.20输出模块图 图4.21输出模块图4.10修改密码模块实现4.10.1修改密码流程图修改密码流程图如图4.22。开始输出主菜单结束输入0判断是否输入9YN输入原本密码N是否退出判断密码是否正确 是Y输入新密码再次输入新密码N判断是否一致Y保存图4.22修改密码流程图4.10.2修改密码代码void case9(void)int s;string a,b,i;s=case0();while(s=0)cout<<"请输入新密码:"<<endl;cin>>a;cout<<"请再次输入密码:"<<endl;cin>>b;if(a=b)cout<<"修改成功!"<<endl;fstream outfile("f4.txt",ios:out);if(!outfile)cout<<"open error!"<<endl<<"请退出程序并检查相应数据文件!"<<endl;outfile<<a;outfile.close();s=1;cout<<"请输入任意值返回主菜单!"<<endl;cin>>i;else cout<<"输入错误请重新输入!"<<endl;4.10.3修改密码测试管理员才有权限修改和删除资料需要密码,修改密码先要输入正确密码然后输入两次新密码后保存新密码。图4.23修改密码测试图4.11退出模块实现4.11.1退出模块代码int main()int m;string p;int t=1;while(t!=0)system("cls");cout<<"*欢迎进入排班系统*"<<endl;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"# *快乐排班* #"<<endl;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"# * #"<<endl;cout<<"*欢迎进入排班系统*"<<endl;cout<<"排班请输入1;输入资料请输入2;查询请输入3;删除资料"<<endl<<"请输入4;"<<"更改资料请输入5;查询工龄请输入6;查询休息"<<endl<<"时间请输入7;输

    注意事项

    本文(c++课程设计保安排班系统.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开