信息科学与技术学院。
程序设计基础课程设计报告。
题目名称: 学生考勤管理系统
学生姓名: 郭晨晨。
学号: 2013508093
专业班级: 13级计科(3)班。
指导教师: 郭理。
2023年6月6日。
目录。目录 1
1. 课程设计题目与要求 2
1.1 课题目的和要求 2
1.3 课题意义 2
2 总体设计 3
2.1功能模块设计 3
2.2系统设计方案 3
3 详细设计 4
3.1 数据结构设计 4
3.2 主模块设计 4
3.2.1建立学生缺课记录子模块 4
3.2.2修改学生缺课记录子模块 5
3.2.3修改学生缺课记录子模块 6
3.2.4查看单科旷课记录子模块 7
3.2.5查看学生旷课记录子模块 8
3.2.6载入学生旷课记录子模块 9
3.2.7储存学生旷课记录子模快 10
4. 运行结果 12
4.1运行 12
5. 课程设计总结 14
结束语 14
参考文献 15
附录:源** 15
设计目的:要求实现---学生考勤管理程序”记录学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。
1.2 设计要求:
1.录入学生的缺课记录;
2.修改某个学生的缺课记录;
3.查询某个学生的缺课情况;
4.统计某段时间内,某门课旷课学生姓名及旷课次数,按旷课次数由多到少排序;
5.统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;
6.系统以菜单方式工作。
程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识, 加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力。
学生考勤管理程序可以大大减缓学生考勤人员的工作量, 方便了平时上课学生的出勤率的管理。
根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能。数据管理中可以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。查询管理通过根据学生姓名,课程姓名时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。
功能模块图如图1所示:
图1功能模块图。
这个程序是过程性语言设计的。运用多种条件语句,主体采用的是链表指针。系统的设计采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加简洁。
程序使用了布尔函数。选择语句多采用if多分支选择结构与switch语句。首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。
循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。do-while语句先循环后判断, break语句在switch语句中,保证多分支情况的正确执行,在循环语句中,强制终止本层循环。保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的。
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 zaotui_num;
int qingjia_num;
int kuangke_num;
struct student *next;
;这是定义了一个student的结构体,用来存放一个学生的考勤记录,其中有,字符数组name[50],lesson_name[50],分别存放学生名字,缺课课程名字;int型变量lesson_time,chidao_num,zaotui_num,qingjia_numkuangke_num,分别来存放,缺课节次,迟到次数,早退次数,请假次数,旷课次数 long型变量time,记录时间。
要建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、节次、迟到次数、早退次数、请假次数、旷课次数)可用creat()函数如图1.
图1根据要修改的学生姓名以及科目名称找到相应的信息,再选择要修改的项目进行单项修改如图2
图2根据人名可以查出该学生的所有缺课记录如图3
图3根据学科名称和时间范围查出所有在该范围内旷课的学生以及次数如图4
图4根据要查询的学科名称及时间段查出在改时间段内该门课上旷课的人数如图5
图5可以载入实现储存在当前文件夹中txt文件中所储存的数据如图6
图6进入系统界面,顺序的完成各项操作,进行数据的输入,信息的保存调用相应的函数打开相应的地址,查询各项信息。如图7
图7开始菜单。
图1 开始菜单。
主菜单。图2 主菜单。
建立学生缺课记录。
图2建立学生缺课记录。
储存学生旷课记录。
图3储存学生旷课记录。
课程设计顺利完成,题目所要求的功能基本实现,可以对学生的缺课信息进行添加,修改,删除以及查询的显示。不过这个程序还不够完善,例如不能往当前文件夹中的txt文件中添加记录。
整个系统的设计过程对于我来说是个学习、探索的过程,通过借鉴别人,学习设计程序,在整个设计过程中,出现过很多的问题,很多繁琐的东西都需要反复的修改,主要是因为前期的学习不认真,对系统的需求分析的要求认识不清楚,使得在后边的工作中不得不经常反复请教别人去修改。使我体会到设置中每一步的重要性。所以在分析一个问题时,我们需要站在一个有远见的高度。
通过此次设计,我对c++语言编程有了深刻的认识,积累了使用软件工程的思想来开发软件的经验,更重要的是学会了在对待问题时应该考虑到哪些方面和怎么解决问题。
虽然时间紧迫但我学会了不少,感到自身知识的贫乏,希望在日后积极学习并尝试努力中能做出完善的系统。
#include //cstdio是将的内容用c++头文件的形式表示出来。
#include
#include<> malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。
#include //当调用库函数,客户程序提供的是string类型参数,而库函数内部实现用的是c-串,因此需要将string对象,转化为char*对象,而c_str()提供了这样一种方法,它返回一个客户程序可读不可改的指向字符数组的指针。
学生考勤管理系统课程设计报告
合肥学院。计算机科学与技术系。课程设计报告。2010 2011学年第二期。2011年7月。学生考勤管理系统。目录。一。需求分析 3 1.1 功能需求 3 1.2 数据需求 3 1.3 性能需求 3 二。算法设计 3 2.1设计思想 3 2.2功能实现 7 三 用户手册 7 四。调试及测试 8 五。总...
学生考勤管理系统课程设计报告
一 需求分析。功能需求 1 录入学生的缺勤记录 2 修改某个学生的缺勤记录 3 查询某个学生的缺勤情况 4 统计某段时间内,缺勤学生学号及缺勤次数,按缺勤权值统计学生的负分值,并能进行排序 5 统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序 6 系统以菜单方式工作。数据需求。本系...
C学生管理系统课程设计报告
c 程序设计期末作业。通用学生信息管理系统。计算机科学与工程学院。班级 123456 姓名 张三儿。学号 12345678 2014年5月。一 题目分析。1 基本功能要求 1 创建相应的成员变量保存学生基本信息 2 创建相应属性和索引以实现对成员变量访问的封装 3 创建相应的方法以实现对学生基本信息...