1、参会人员管理系统设计说明书参会人员管理系统设计说明书(总21页) 程序设计课程设计报告( 2012- 2013年度第2学期)参会人员管理系统专业软件工程学生姓名班级软件121学号28指导教师徐秀芳完成日期 参会人员管理系统1 概 述 课程设计的目的(1) 加深对C语言程序设计课程知识的理解,掌握C语言应用程序的开发方法和步骤;(2) 进一步掌握和利用C语言程序设计能力;(3) 进一步理解和运用结构化程序设计的思想和方法;(4) 初步掌握开发一个小型实用系统的基本方法;(5) 学会调试一个较长程序的基本方法;(6) 学会利用流程图或N-S图表示算法;(7) 掌握书写程序设计开发文档的能力(书写课
2、程设计报告)。 课程设计内容(1) 登录参会人员的下列信息:姓名、性别、年龄、单位、房间号(设每个房间只住一人,房间号为101#120#,.,501#520#)。(2) 主菜单应至少包括以下几个菜单项:人员登录、显示报道人员信息、查询、统计、修改、删除(3) 程序应分别用几个函数实现以上功能:随时对报道人员进行登录(login),来客登记的房间是根据客人要求分配的;如果客人申请的房间已有人登记了,可以让客人重新申请;如果所有房间都已经住满,则拒绝再进行人员登录;随时按所住房间号(由小到大)输出(print)已报道人员信息;(4) 能够根据姓名实现对人员信息的查询;(5) 能够根据单位对与会人员
3、进行分类统计,并输出统计结果;(6) 能够修改与会人员信息;(7) 能够删除某个参会人员,并清空其所住房间。2 系统需求分析 系统目标(1) 能够实现人员的登陆、显示、查询、统计、修改、删除等功能。(2) 能更快的找到参会人员信息,实现入住科技化,现代化。使用该系统就可以登录,并能查询到登录人的姓名、性别、年龄、单位。以及作为主办方对登录人员部门的详细统计,以及修改人员的信息,当该信息用不到时可以删除信息。 主体功能(1) 人员登录:提供姓名、性别、年龄、单位(2) 显示报到人员信息:显示已登录人员的信息(3) 查询:通过姓名对其进行信息查询(4) 统计:统计共有哪些部门,输出部门数(5) 修
4、改:对参会人员进行信息修改(6) 删除:删除不用信息 开发环境Microsoft visual c+3 系统概要设计 系统的功能模块划分(1) 登录模块(2) 显示参会人员信息模块(3) 查询模块(4) 统计模块(5) 修改模块(6) 删除模块 系统流程图 图3-1参会人员管理系统总流程图4 系统详细设计 参会人员管理系统录入编辑模块设计 Y N Y N 图4-1参会人员管理系统登录功能结构图 参会人员管理系统显示登录人员信息模块设计 N Y 图4-2参会人员管理系统显示人员信息功能结构图 参会人员管理系统查询模块设计 N Y N Y 图4-3参会人员管理系统查询功能结构图 参会人员管理系统统
5、计模块设计 N Y 图4-4参会人员管理系统统计功能结构图 参会人员管理系统修改模块设计 N Y Y N 图4-5参会人员管理系统修改功能结构图 参会人员管理系统删除模块设计 N Y N Y 图4-6参会人员管理系统删除功能结构图5 测试 测试方案对系统进行组建、编译、执行,依次输入指令,查看是否完成各项操作,如:输入280#,张伯虎,男,19,门市部,查看是否能执行,登录、显示信息、查询、统计、修改、删除等操作。 测试结果根据运行结果,测试成功,完成对参会人员管理系统的编辑。(1) 进入菜单页面 图5-1弹出菜单栏(2) 进行人员登录 图5-2进行登录(3) 显示参会人员登录信息图5-3显示
6、登录人员信息(4) 通过姓名查询信息图5-4通过姓名查询人员信息 (5) 进入统计界面 图5-5对登录参会人员进行统计(6) 修改人员信息图5-6对登录人员进行修改 (7) 进入删除界面 图5-7删除参会人员信息6 小结经过两个星期的程序设计课程设计,总的来说收益匪浅啊!在这次课程中,与同学合作,分组竞争。共同进步!一个人的力量是有限的,要想把课程设计做的更好,就要学会参考一定的资料,吸取别人的经验,让自己和别人的思想有机的结合起来,得出属于你自己的灵感。程序的编写需要有耐心,有些事情看起来很复杂,但问题需要一点一点去解决,分析问题,把问题一个一个划分,划分成小块以后就逐个去解决。再总体解决大
7、的问题。这样做起来不仅有条理也使问题得到了轻松的解决。 在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。虽然这只是一次的极简单的课程制作,可是平心而论,也耗费了我不少的心血,这就让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊! 对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这
8、次课程设计必将成为我人生旅途上一个非常美好的回忆! 通过这次的课程设计我对于专业课的学习有了更加深刻的认识,以为现在学的知识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题! 参考文献1谭浩强. C程序设计(第四版).北京:清华大学出版社,2叶俊民. 软件工程 . 北京:清华大学出版社,3徐波. C专家编程 . 人民邮电出版社,附录附录1 源程序清单附录参会人员管理系统登录模块源程序int login(STAFF staff,int length) int i; if(length=100) /*房间已满,拒绝
9、登陆*/ printf(房间已满!n 拒绝登录!); exit(-1); /*异常退出程序*/ else char room_num4; printf(The room_num is range from 101# to 120#.from 501# to 520#!n); printf(Type in the room_num:); scanf(%s,&room_num); for(i=0;ilength;i+) if(strcmp(room_num,staffi.room_num)=0) /*申请的房间已经有人*/ printf(申请的房间已经有人,请从新选择.n); printf(输入别
10、的房间号:);/*让参会人选择别的空房间*/ scanf(%s,&room_num); i=-1; /*为检验新的房间是否为空作准备*/ /*end for*/ strcpy(stafflength.room_num,room_num); /* 录入登陆信息*/ printf(Type in your name:); scanf(%s,&stafflength.name); printf(Type in your gender:); scanf(%s,&stafflength.sex); printf(Type in your age:); scanf(%d,&stafflength.age)
11、; printf(Type in your dapartment:); scanf(%s,&stafflength.department); length+; /*参会人数加一*/ /*end else*/ return length; /*end login()*/附录参会人员管理系统显示登录人员信息模块源程序 void print(STAFF staff,int length) STAFF temp; int i,j; if(length!=0) for(i=0;ilength;i+) /*冒泡排序 排序房间号 小到大*/ for(j=i;j0) temp=staffj; staffj=s
12、taffj+1; staffj+1=temp; printf(登录人员信息:n); printf(Name Sex Age Department room-numn); for(i=0;ilength;i+) printf(%st,staffi.name); /*输出报到人员的信息*/ printf(%st,staffi.sex); printf(%dt,staffi.age); printf(%st,staffi.department); printf(%9s,staffi.room_num); printf(n); else printf(未有参会人员登录.n);/*end print()
13、*/附录参会人员管理系统查询模块源程序void seachByName(STAFF staff,int length) char name20; int i; int counter=0; if(length!=0) printf(输入要搜索的参会人员的姓名:); scanf(%s,&name); printf(Name Sex Age Department room-numn); for(i=0;ilength;i+) if(strcmp(staffi.name,name)=0) /*判断名字是否相同,相同则输出人员信息*/ printf(%st,staffi.name); printf(%
14、st,staffi.sex); printf(%dt,staffi.age); printf(%st,staffi.department); printf(%13s,staffi.room_num); printf(n); counter+; if(counter=0) /*查找的人还没登录*/ printf(n%s查找的人员还未登录n,name); else printf(未有参会人员登录.n); /*end seachByName*/附录参会人员管理系统统计模块源程序void statistics(STAFF staff,int length) int i; int k,j; int in
15、dex; int flag=0; /*辅助标记*/ char department10030; /*用于记录不同单位的名字*/ int counter100; /*分别记录相应不同单位的参会人数*/ if(length!=0) k=0; /*单独处理数组第一个元素*/ strcpy(departmentk,staff0.department); /*记录单位*/ counterk=0;/*计数器清零*/ for(j=0;jlength;j+)/*计算次单位参会的总人数*/ if(strcmp(departmentk,staffj.department)=0) counterk+; for(i=
16、1;ilength;i+) for(index=0;index=k;index+) if(strcmp(departmentindex,staffi.department)=0) flag+; /*当前此单位在前面已经统计过*/ if(flag=0) /*出现一个未统计过的单位*/ k+; /*用两数组的下一个元素分别存放单位和该单位参会人数*/ strcpy(departmentk,staffi.department);/*记录单位*/ counterk=0;/*计数器清零*/ for(j=0;jlength;j+)/*计算次单位参会的总人数*/ if(strcmp(departmentk,
17、staffj.department)=0) counterk+; flag=0; /*辅助标志清零*/ printf(Statistics result:n); printf(Department numbern); for(i=0;i=k;i+) printf(%s%20dn,departmenti,counteri); else printf(未有参会人员登录.n);/*end statistics()*/附录参会人员管理系统修改模块源程序void modify(STAFF staff,int length) char room_num10; int i,k; if(length!=0)
18、printf(输入要修改信息的人员的房间号:); scanf(%s,&room_num); for(i=0;ilength;i+) if(strcmp(staffi.room_num,room_num)=0) printf(从新输入房间号:); scanf(%s,&room_num); for(k=0;klength;k+) if(k=i) continue; /*可以选择原来的房间*/ if(strcmp(room_num,staffk.room_num)=0) /*申请的房间已经有人*/ printf(申请的房间已经有人,请从新选择.n); printf(输入其他房间号:); scanf(
19、%s,&room_num); /*提示选择别的空房间*/ k=-1; /*为检验新的房间是否为空作准备*/ /*修改人员信息*/ strcpy(staffi.room_num,room_num); printf(Type in your name:); scanf(%s,&staffi.name); printf(Type in your gender:); scanf(%s,&staffi.sex); printf(Type in your age:); scanf(%d,&staffi.age); printf(Type in your dapartment:); scanf(%s,&st
20、affi.department); printf(Edit successfully.); else printf(未有参会人员登录.n); /*end modify*/附录参会人员管理系统删除模块源程序int Delete(STAFF staff,int length) int i,k; int counter=length; char room_num10; if(length!=0) printf(输入要删除信息的人员的房间号:); scanf(%s,&room_num); for(i=0;ilength;i+) if(strcmp(staffi.room_num,room_num)=0) /*删除人员*/ for(k=i;klength-1;k+) staffk=staffk+1; /*把该人员的信息覆盖掉*/ printf(Delete successfully.); length-; /*参会人数减一*/ if(counter=length) /*要删除的人员还没登陆*/ printf(要删除的人员还未登录.n); else printf(未有参会人员登录.n); return length;/*end Delete()*/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1