- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2
2 总体设计
2
2 总体设计
2.1功能模块设计
根据分析整个系统主要划分为 7个功能模块,分别执行要求中的功能。数据管理中可
以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。查询管理通 过根据学生姓名,课程姓名 时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记
录,单个学生的旷课记录。功能模块图如图 1所示:
学生考勤管理程序
建立学生缺课记录修改学生缺课记录查询学生缺课记录查看单科旷课记录查看学生旷课记录载入学生旷课记录储存学生旷课记录
建立学生缺课记录
修改学生缺课记录
查询学生缺课记录
查看单科旷课记录
查看学生旷课记录
载入学生旷课记录
储存学生旷课记录
图1功能模块图
2.2系统设计方案
这个程序是过程性语言设计的。 运用多种条件语句, 主体采用的是链表指针。 系统的设
计采用了数组语句、选择语句和循环语句 ,在需要处理大量同类数据时,这样就使程序书写更
加简洁。程序使用了布尔函数。选择语句多采用 if多分支选择结构与 switch语句。首先计
算switch表达式,然后在 caes子句中寻找值相等的常量表达式,并以此为入口符号,由 此开始顺序执行。循环语句采用了 for语句等、do-while 语句,for语句用于已知循环次数 的循环结构,括号中的三个量分别用来表示循环变量初值、 循环终值和循环增量。do-while
语句先循环后判断, Break语句在switch语句中,保证多分支情况的正确执行, 在循环语
句中,强制终止本层循环。 保存和读取函数是典型的函数功能, 一个程序是由若干个函数组 成的,保存和读取函数是和其他函数互相调用的。
int zaotui_num;
int zaotui_num;
int zaotui_num;
int zaotui_num;
3 详细设计
3.1 数据结构设计
struct xueke
{char xueke_name[50];
int people_num;
};
这是定义了一个 xueke 结构体,用来存放一个学科名及其相应的旷课人数;
struct student
{ char name[50];
long time;
int lesson_time;
char lesson_name[50];
int chidao_num;
int qingjia_num;
int kuangke_num;
struct student *next;
};这是定义了一个 student 的结构体,用来存放一个学生的考勤记录,
其中有,字符数组 name[50] , lesson_name[50], 分别存放学生名字,
缺课课程名字 ; int 型变 量 lesson_time,chidao_num,zaotui_num,qingjia_num, kuangke_num, 分别来存放,缺课节次,迟到次数,早退次数,请假次数,旷课次数 long 型变量 time ,记录时间。
3.2主模块设计3.2.1建立学生缺课记录子模块
3.2
主模块设计
3.2.1
建立学生缺课记录子模块
要建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、节次、
迟到次数、早退次数、请假次数、旷课次数)可用
creat ()函数如图 1.
图
图2
图1
322修改学生缺课记录子模块
根据要修改的学生姓名以及科目名称找到相应的信息,再选择要修改的项目进行单项修
根据要修改的学生姓名以及科目名称找到相应的信息,
再选择要修改的项目进行单项修
结束
323修改学生缺课记录子模块
根据人名可以查出该学生的所有缺课记录如图3
根据人名可以查出该学生的所有缺课记录
如图3
3.2.4查看单科旷课记录子模块
如图4
如图4
图
图4
图
图4
printf(请输入要查看的学科名称:);sea nf(%s,lesso n);
printf(请输入要查看的时间范围);
sea nf(%ld%ld,look_time1,look_time2);
325查看学生旷课记录子模块
根据要查询的学科名称及时间段查出在改时间段内该门课上旷课的人数 如图5
printf(请输入第%d个学科名称:,i+1); sea nf(%s,a[i].xueke_ name); a[i].people_ num=O;printf(请输入要查看的时间范围由小到大);sca nf(%ld%ld,look_time1,look_time2);
printf(请输入第%d个学科名称:,i+1); sea nf(%s,a[i].xueke_ name); a[i].people_ num=O;
printf(请输入要查看的时间范围由小到大
);
sca nf(%ld%ld,look_time1,look_t
文档评论(0)