欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    参会人员管理系统课程设计说明书.doc

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

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

    参会人员管理系统课程设计说明书.doc

    程序设计课程设计报告课题 参会人员管理系统专业计算机科学与技术(软件工程)学生姓名班级学号指导教师完成日期2010年6月目录一 课程设计的目的.1二 课程设计任务与要求.1三 主要设计指标及特点.23.1 人员登录23.2 显示报道人员信息23.3 查询.43.4 统计.43.5 修改.63.6 删除.63.7 退出.7四 设计小结.8五 参考文献.9六 源程序.10一课程设计的目的1、加深对C语言程序设计课程知识的理解,掌握C语言应用程序的开发方法和步骤;2、进一步掌握和利用C语言程序设计能力;3、进一步理解和运用结构化程序设计的思想和方法;4、初步掌握开发一个小型实用系统的基本方法;5、学会调试一个较长程序的基本方法;6、学会利用流程图或N-S图表示算法;7、掌握书写程序设计开发文档的能力(书写课程设计报告)。二 课程设计任务与要求1设计内容1.登录参会人员的下列信息:姓名、性别、年龄、单位房间号(设每个房间只住一人,房间号为101#120#,.,501#520#)。2、主菜单应至少包括以下几个菜单项: 人员登录、显示报道人员信息、查询、统计、修改、删除3、程序应分别用几个函数实现以上功能:随时对报道人员进行登录(login),来客登记的房间是根据客人要求分配的;如果客人申请的房间已有人登记了,可以让客人重新申请;如果所有房间都已经住满,则拒绝再进行人员登录;随时按所住房间号(由小到大)输出(print)已报道人员信息;能够根据姓名实现对人员信息的查询;能够根据单位对与会人员进行分类统计,并输出统计结果;能够修改与会人员信息;能够删除某个参会人员,并清空其所住房间。2流程图参会人员管理系统人 员 登 录显示报道人员信息查 询修 改删 除统 计1三 主要设计指标及特点3.1人员登录主程序通过Menu函数实现该程序的主界面,函数体包含相应的printf语句来实现相应的菜单输出。void menu() printf("*n"); printf("Meeting attendant Managing System Demon"); printf("1.Staff loginn"); printf("2.Print Infon"); printf("3.SearchByNamen"); printf("4.Statisticsn"); printf("5.Modifyn"); printf("6.Deleten"); printf("0.Quitn"); printf("*n");3.2显示2对应的login界面,是通过调用login函数实现的。根据提示输入登录的信息,就完成了参会人员的基本信息的录入。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); printf("Type in your dapartment:"); scanf("%s",&stafflength.department); length+; /*参会人数加一*/ 在对有人登录的房间排好序后,用printf语句输出信息,如下:33.3查找按照提示输入3,进入查找界面。运用SearchByName功能,根据程序给出的提示:Type in the staffs name :根据输入信息,程序用for循环对已经登录的人员信息进行对比,看是否相符。 for(i=0;i<length;i+) if(strcmp(staffi.name,name)=0) /*判断名字是否相同,相同则输出人员信息*/ printf("%st",staffi.name); printf("%st",staffi.sex); printf("%dt",staffi.age); printf("%st",staffi.department); printf("%13s",staffi.room_num); printf("n"); counter+; 3.4统计4按照提示输入4,运行Statistics。int flag=0; /*辅助标记*/ char department10030; /*用于记录不同单位的名字*/ int counter100; /*分别记录相应不同单位的参会人数*/ if(length!=0) k=0; /*单独处理数组第一个元素*/ strcpy(departmentk,staff0.department); /*记录单位*/ counterk=0;/*计数器清零*/ for(j=0;j<length;j+)/*计算次单位参会的总人数*/ if(strcmp(departmentk,staffj.department)=0) counterk+; for(i=1;i<length;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;j<length;j+)/*计算次单位参会的总人数*/ if(strcmp(departmentk,staffj.department)=0) counterk+; flag=0; /*辅助标志清零*/ 否则,输出"No one logined yet. 53.5修改运行修改时,输入原先的房间号,根据提示再次输入要求进入的新的房间号,再次录入自己的个人信息。系统会输出Edit successfully 提示修改成功。3.6删除根据提示,选择6,运行delete 。输入要求删除的房间号。系统输出Delete successfully 表示操作成功。63.7退出选择0,退出程序。7四 设计小结这次的课程设计是一个巨大的挑战,是我们从未涉猎过的将多个函数运用起来,使之成为系统的课程。经过两个礼拜的努力,终于完成了这次的课程设计。尽管结果并不是很令人满意,但是,不得不说,在这次的学习中,我学会了很多。在一开始的茫然不知所措到现在的渐入佳境,我是付出了很大的努力的。由于自身的素养,有很多的问题不能够解决。但是,在查阅了不少的资料,借鉴了一些类似作品后,又在同学与老师的帮助下,搞清楚了解决问题的关键所在。一步一步的解决了所有前行的问题。在这次设计里,对C语言里面的很多的概念有了新的认识,关于指针、链表等,对于这些核心的知识有了进一步的了解。而自己以前一直没有好好的重视这些。忽略了很多有用的东西,惭愧不已。在这次的学习中,我怕了解到了对于调用函数熟练掌握的重要性。对于这些常用函数,我们有必要下狠功夫。仔细想来,自己真的还有很多不足的地方。虽然,最终结果是可喜的,我也不能忘记曾经历过的困难,我要时刻牢记时刻提醒自己提高自己的能力。像是一个个函数组成一个系统,我们平时的学习也是一块块的累积在一起才能够发挥功效的。我们要保持学科齐头并进,将各科组合起来,完美的完成工作。在这个竞争日益激烈的社会,我们只有不断的提高自身素养,不断完善自己,才能在社会上有立足之地。8五 参考文献谭浩强。 C程序设计(第三版)。 北京:清华大学出版社,20059六 源程序 #include<stdio.h>#include<stdlib.h>#include<string.h> #define MAXSIZE 100 /*定义最大参会人数*/typedef struct /*参会人员的数据结构*/ char name20; /*姓名*/ char sex7; /*性别*/ int age; /*年龄*/ char department30;/*单位*/ char room_num10; /*房间号*/STAFF;void menu() printf("*n"); printf("Meeting attendant Managing System Demon"); printf("1.Staff loginn"); printf("2.Print Infon"); printf("3.SearchByNamen"); printf("4.Statisticsn"); printf("5.Modifyn"); printf("6.Deleten"); printf("0.Quitn"); printf("*n");/*函数的定义*/int login(STAFF staff,int length) int i; if(length=100) /*房间已满,拒绝登陆*/ printf("There is no any empty room left!n login prohibited!"); 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;i<length;i+) if(strcmp(room_num,staffi.room_num)=0) /*申请的房间已经有人*/ printf("The room you chose was logined,please choose anther.n"); printf("Type in another different room_num:");/*让参会人选择别的空房间*/ scanf("%s",&room_num); i=-1; /*为检验新的房间是否为空作准备*/10 /*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); 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;i<length;i+) /*冒泡排序 排序房间号 小到大*/ for(j=i;j<length-i-1;j+) if(strcmp(staffj.room_num,staffj+1.room_num)>0) temp=staffj; staffj=staffj+1; staffj+1=temp; printf("Staff logined info:n"); printf("Name Sex Age Department room-numn"); for(i=0;i<length;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("No one logined yet.n");/*end print()*/void seachByName(STAFF staff,int length) char name20; int i; int counter=0; if(length!=0) printf("Tpye in the staffs name you search:"); scanf("%s",&name); printf("Name Sex Age Department room-numn");11 for(i=0;i<length;i+) if(strcmp(staffi.name,name)=0) /*判断名字是否相同,相同则输出人员信息*/ printf("%st",staffi.name); printf("%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 hasnt logined yet.n",name); else printf("No one logined yet.n"); /*end seachByName*/void statistics(STAFF staff,int length) int i; int k,j; int index; int flag=0; /*辅助标记*/ char department10030; /*用于记录不同单位的名字*/ int counter100; /*分别记录相应不同单位的参会人数*/ if(length!=0) k=0; /*单独处理数组第一个元素*/ strcpy(departmentk,staff0.department); /*记录单位*/ counterk=0;/*计数器清零*/ for(j=0;j<length;j+)/*计算次单位参会的总人数*/ if(strcmp(departmentk,staffj.department)=0) counterk+; for(i=1;i<length;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;j<length;j+)/*计算次单位参会的总人数*/ if(strcmp(departmentk,staffj.department)=0) counterk+; flag=0; /*辅助标志清零*/ 12 printf("Statistics result:n"); printf("Department numbern"); for(i=0;i<=k;i+) printf("%s%20dn",departmenti,counteri); else printf("No one logined yet.n");/*end statistics()*/void modify(STAFF staff,int length) char room_num10; int i,k; if(length!=0) printf("Tpye in the staffs room-num you edit:"); scanf("%s",&room_num); for(i=0;i<length;i+) if(strcmp(staffi.room_num,room_num)=0) printf("Type in your room-num:"); scanf("%s",&room_num); for(k=0;k<length;k+) if(k=i) continue; /*可以选择原来的房间*/ if(strcmp(room_num,staffk.room_num)=0) /*申请的房间已经有人*/ printf("The room you chose is full,please choose anther.n"); printf("Type in another different room-num:"); scanf("%s",&room_num); /*提示选择别的空房间*/ k=-1; /*为检验新的房间是否为空作准备*/ /*修改人员信息*/ strcpy(staffi.room_num,room_num); printf("Type in your name:"); scanf("%s",&staffi.name);13 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",&staffi.department); printf("Edit successfully."); else printf("No one logined yet.n"); /*end modify*/int Delete(STAFF staff,int length) int i,k; int counter=length; char room_num10; if(length!=0) printf("Tpye in the staffs room-num you delete:"); scanf("%s",&room_num); for(i=0;i<length;i+) if(strcmp(staffi.room_num,room_num)=0) /*删除人员*/ for(k=i;k<length-1;k+) staffk=staffk+1; /*把该人员的信息覆盖掉*/ printf("Delete successfully."); length-; /*参会人数减一*/ if(counter=length) /*要删除的人员还没登陆*/ printf("The staff you want to delete hasnt logined yet.n"); else printf("No any staff logined yet.n"); return length;/*end Delete()*/int main() int length=0; /*记录登陆人数*/ STAFF staffMAXSIZE; /*申请结构体数组*/ int choice=-1; menu();14 printf("Enter your choice(0-6):"); scanf("%d",&choice); /*由用户选择操作*/ while(choice>=0&&choice<=6) switch(choice) case 1:length=login(staff,length);break; case 2:print(staff,length);break; case 3:seachByName(staff,length);break; case 4:statistics(staff,length);break; case 5:modify(staff,length);break; case 6:length=Delete(staff,length);break; case 0:printf("Quit successully.n"); exit(-1); /*退出*/ menu(); printf("Enter your choice(0-6):"); scanf("%d",&choice); printf("Sorry,there is no such function provided.n"); return 0;15

    注意事项

    本文(参会人员管理系统课程设计说明书.doc)为本站会员(土8路)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开