- 2
- 0
- 约9.07千字
- 约 24页
- 2018-08-04 发布于湖北
- 举报
会议签到体制
沈 阳 航 空 工 业 学 院
课程设计
学 号 200604021035
班 级 6402101
姓 名 赵晨
指导教师 王晓岩
2007年 9 月 20 日
沈阳航空工业学院
课程设计任务书
院系:电子 专业:电子信息工程 班级:6402101
学号:200604021035 题目:会议签到系统
一、课程设计时间
2007年9月10日至2007年9月14日,共计1周,20学时。
二、课程设计内容
用C语言编写软件完成以下任务:
(1)数据信息(参加会议人员代号,姓名,性别,工作单位,职务,联系方式,是否签到等)保存在meeting.dat文件中。
(2)签到。
(3)按工作单位将数据信息排序。
(4)统计实际参加会议的人数和缺席的人数。
三、课程设计要求
1. 程序质量:
贯彻结构化的程序设计思想。
用户界面友好,功能明确,操作方便。
用户界面中的菜单至少应包括“名单录入”、“人员签到”、“数据排序”、“统计参加和缺席人数”、“退出”5项,所有数据的改变都应该在相关文件中有所体现。
代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字
指导教师:________ 学生签名:________
五、说明书成绩
六、教师评语
目录
一、需求分析 1
二、程序流程图 2
三、核心技术的实现说明及相应程序段 9
四、个人总结 15
五、参考文献 15
六、源程序 16
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,他们的功能分别是:录入参加会议人员信息数据函数(add),人员签到数据函数(signin),排序函数(compositor)。在这些函数当中,录入信息和排序函数的实现严格按照题目的要求,而签到和统计参加人数和缺席人数都放到了函数(signin)里。
1、录入参加会议人员信息数据函数 主要实现程序最初运行时参加会议人员信息数据的录入以及其后的运行中人员数据的追加功能;
2、人员签到数据函数 实现的功能是按照参加会议人员的代号对人员进行签到,并对签到人员进行标记,最后统计并输出参加人数和缺席人数。
3、排序函数 实现的功能是按照人员代号的增序显示。
除上面介绍的功能之外,程序还具有退出功能,可以在程序运行完毕后选择退出。
每一个参加会议人员信息都包含参加会议人员代号,姓名,性别,工作单位,职务,联系方式,是否签到,在程序当中,将人员信息类型定义为结构体类型,添加以及追加的人员信息直接写入D盘的meeting.dat文件中,其他函数每次对人员记录的访问,其数据来源都是meeting.dat文件,这样做不但可以保证人员数据的一致性,而且可以对人员数据进行永久保存,保证每次运行程序都可以采用原来的数据。
二、程序流程图
1、程序总体结构图
2、具体功能框图
(1)录入人员数据函数add
图2 录入人员数据函数
(2)人员签到函数signin
图3人员签到函数
3)按代号排序函数compositor
图4按代号排序函数
三、核心技术的实现说明及相应程序段
本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,录入数据函数、签到函数和排序函数是程序中较为核心的部分,下面分别进行说明。
1、录入数据函数
录入数据分为两种情况,其一是在会议文件(meeting.dat)不存在的情况下,首先由程序创建一个新文件,并将录入的人员信息写入该文件当中;其二是在会议文件(meeting.dat)已经存在的情况下,此时文件要以读写方式或追加的方式打开,这样才可以保证以前已经存在的数据不丢失。具体的程序段如下:
void add(){ /*录入员工信息子函数*/
FILE *f1;
finger top=NULL,p=NULL,t=NULL;
p=(finger)malloc(sizeof(message));
top=p;
while(1){
printf(\n请输入员工信息,输入0时结束录入);
scanf(%d%s%s%s%s%d,p-number,p-name,p-sex,p-workplace,p-job,p-tel);
/*分部分输入*/
p-flag=0;
if(p-number==0){
free(p);
t-next=NULL;
break;
}
t=p;
p=(finger)malloc(sizeof
原创力文档

文档评论(0)