c++课程设计报告报告学生考勤管理系统报告

上传人:s9****2 文档编号:489923323 上传时间:2023-08-31 格式:DOC 页数:25 大小:852.50KB
返回 下载 相关 举报
c++课程设计报告报告学生考勤管理系统报告_第1页
第1页 / 共25页
c++课程设计报告报告学生考勤管理系统报告_第2页
第2页 / 共25页
c++课程设计报告报告学生考勤管理系统报告_第3页
第3页 / 共25页
c++课程设计报告报告学生考勤管理系统报告_第4页
第4页 / 共25页
c++课程设计报告报告学生考勤管理系统报告_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《c++课程设计报告报告学生考勤管理系统报告》由会员分享,可在线阅读,更多相关《c++课程设计报告报告学生考勤管理系统报告(25页珍藏版)》请在金锄头文库上搜索。

1、-信息科学与技术学院程序设计基础课程设计报告题目名称: 学生考勤管理系统 学生:郭晨晨学 号: 2013508093专业班级:13级计科(3)班指导教师: 郭理 2013年6月6日目录目录11. 课程设计题目与要求21.1 课题目的和要求21.3 课题意义22 总体设计32.1功能模块设计32.2系统设计方案33 详细设计43.1 数据结构设计43.2 主模块设计4建立学生缺课记录子模块4修改学生缺课记录子模块5修改学生缺课记录子模块6查看单科旷课记录子模块7查看学生旷课记录子模块8载入学生旷课记录子模块9储存学生旷课记录子模快104. 运行结果124.1运行125. 课程设计总结14结束语1

2、4参考文献15附录:源代码151. 课程设计题目与要求1.1 课题目的和要求设计目的:要现-学生考勤管理程序”记录学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生、缺课类型(迟到、早退、请假及旷课)。1.2 设计要求: 1.录入学生的缺课记录;2修改*个学生的缺课记录;3查询*个学生的缺课情况;4统计*段时间,*门课旷课学生及旷课次数,按旷课次数由多到少排序; 5统计*段时间,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6.系统以菜单方式工作。1.3 课题意义程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识, 加深

3、对相关容的理解,拓宽知识面,培养学生的创新精神和实践能力学生考勤管理程序可以大大减缓学生考勤人员的工作量, 方便了平时上课学生的出勤率的管理。2 总体设计2.1功能模块设计根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能。数据管理中可以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。查询管理通过根据学生,课程 时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。功能模块图如图1所示:图1功能模块图2.2系统设计方案这个程序是过程性语言设计的。运用多种条件语句,主体采用的是链表指针。系统的设计采用了数组语句、选择语句和循环语句,在需要处理

4、大量同类数据时,这样就使程序书写更加简洁。程序使用了布尔函数。选择语句多采用if多分支选择结构与switch语句。首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。do-while语句先循环后判断, Break语句在switch语句中,保证多分支情况的正确执行,在循环语句中,强制终止本层循环。保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的。

5、3 详细设计3.1 数据结构设计struct *uekechar *ueke_name50;int people_num;这是定义了一个*ueke结构体,用来存放一个学科名及其相应的旷课人数;struct studentchar name50;long time;int lesson_time;char lesson_name50;int chidao_num;int zaotui_num;int qingjia_num;int kuangke_num;struct student *ne*t;这是定义了一个student的结构体,用来存放一个学生的考勤记录,其中有,字符数组name50,le

6、sson_name50,分别存放学生名字,缺课课程名字;int型变量lesson_time,chidao_num,zaotui_num,qingjia_num, kuangke_num,分别来存放,缺课节次,迟到次数,早退次数,请假次数,旷课次数 long型变量time,记录时间。3.2 主模块设计3.2.1建立学生缺课记录子模块要建立的学生人数,学生基本信息(包括缺课时间、学生、课程名称、节次、迟到次数、早退次数、请假次数、旷课次数)可用creat()函数如图1. 图13.2.2修改学生缺课记录子模块根据要修改的学生以及科目名称找到相应的信息,再选择要修改的项目进行单项修改 如图2图23.2

7、.3修改学生缺课记录子模块根据人名可以查出该学生的所有缺课记录 如图3图33.2.4查看单科旷课记录子模块根据学科名称和时间围查出所有在该围旷课的学生以及次数 如图4图43.2.5查看学生旷课记录子模块根据要查询的学科名称及时间段查出在改时间段该门课上旷课的人数 如图5图53.2.6载入学生旷课记录子模块可以载入实现储存在当前文件夹中t*t文件中所储存的数据 如图6图63.2.7储存学生旷课记录子模快进入系统界面,顺序的完成各项操作,进行数据的输入,信息的保存调用相应的函数打开相应的地址,查询各项信息。如图7图74. 运行结果4.1运行开始菜单图1 开始菜单主菜单图2 主菜单建立学生缺课记录图

8、2建立学生缺课记录储存学生旷课记录图3储存学生旷课记录5. 课程设计总结课程设计顺利完成,题目所要求的功能基本实现,可以对学生的缺课信息进行添加,修改,删除以及查询的显示。不过这个程序还不够完善,例如不能往当前文件夹中的t*t文件中添加记录。结束语整个系统的设计过程对于我来说是个学习、探索的过程,通过借鉴别人,学习设计程序,在整个设计过程中,出现过很多的问题,很多繁琐的东西都需要反复的修改,主要是因为前期的学习不认真,对系统的需求分析的要求认识不清楚,使得在后边的工作中不得不经常反复请教别人去修改。使我体会到设置中每一步的重要性。所以在分析一个问题时,我们需要站在一个有远见的高度。通过此次设计

9、,我对C+语言编程有了深刻的认识,积累了使用软件工程的思想来开发软件的经验,更重要的是学会了在对待问题时应该考虑到哪些方面和怎么解决问题。虽然时间紧迫但我学会了不少,感到自身知识的贫乏,希望在日后积极学习并尝试努力中能做出完善的系统。参考文献1谭浩强.C+语言程序设计.清华大学2科技.Visual C+ 6.0信息系统开发.人民邮电附录:源代码 #include /cstdio是将stdio.h的容用C+头文件的形式表示出来#include#include /malloc的全称是memory allocation,中文叫动态存分配,当无法知道存具体位置的时候,想要绑定真正的存空间,就需要用到动

10、态的分配存。#include /当调用库函数,客户程序提供的是string类型参数,而库函数部实现用的是c-串,因此需要将string对象,转化为char*对象,而c_str()提供了这样一种方法,它返回一个客户程序可读不可改的指向字符数组的指针。#include /I/O流控制头文件#define NULL 0#define guding 10#define LEN sizeof(struct student)using namespace std;int student_num;FILE *fp1;struct *uekechar *ueke_name50;int people_num;s

11、truct studentchar name50;long time;int lesson_time;char lesson_name50;int chidao_num;int zaotui_num;int qingjia_num;int kuangke_num;struct student *ne*t;void cha*un(struct student *head)int i;char cha*un_name50;coutcha*un_name;struct student *p;if(head=NULL)cout联系人为空;p=head;for(i=0;iname)=0)cout缺课时间

12、:time 学生:name 课程名称:lesson_name 节次:lesson_timeendl 迟到次数:chidao_num 早退次数:zaotui_num 请假次数:qingjia_num 旷课次数:kuangke_numne*t; struct student *iugai(struct student *head)char *iugai_name50;char *iugai_*ueke_name50;int k;cout*iugai_name*iugai_*ueke_name;struct student *p1,*p2; p2=(struct student *)malloc(LEN);p1=head;if(head=NULL)coutname)!=0|strcmp(*iugai_*ueke_name,p1-lesson_name)!=0)&(p1-ne*t!=NULL)p1=p1-ne*t; if(strcmp(*iugai_name,p1-name)=0&strcmp(*iugai_*ueke_name,p1-lesson_name)=0) cout=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号