学生考勤系统说明书
更新时间:2024-04-28 04:28:01 阅读量: 综合文库 文档下载
学生考勤系统说明书
目录
1 设计内容与要求 …………………………………………………………………………7 2.设计说明 …………………………………………………………………………………8 2.1 问题描述与功能设计………………………………………………………………8 2.2 算法与数据结构……………………………………………………………………9 2.3 函数定义………………………………………………………………………………11 2.4 测试……………………………………………………………………………………16 3 总结……………………………………………………………………………………………18
1设计内容与要求
设计题目:Android文件管理器
1.基本要求:
(1) 要求用数据结构二叉树树形结构思想来完成设计; (2) 要求树型结构,目录下可以是目录,也可以是文件 (3) 以树的形式显示所有的文件和文件 (4) 通过输入文件名,实现文件搜索的功能 (5) 在树中增加一个新文件,正确的显示出来 (6) 在树中删除一个文件,正确的显示 (7) 输入一个文件名,实现文件搜索功能
(8) 程序调试通过后,完成程序文档的处理,加必要的注释 高级要求:
(1)显示文件的大小、创建日期,修改时间 (2)输入一个文件名,实现文件搜索功能
2. 创新要求
在基本要求达到后,可以进行创新设计。
3.设计方法和基本原理 1)问题描述:
Android手机上默认没有文件管理器,因此需要设计一个文件管理器,要求以树形结构显示每个文件和文件夹,并且可以方便的对文件或文件夹进行增,删操作,此外还可以将文件移至任意文件夹中,请用C实现主要结构和算法
2)设计思想
1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。
2.文件存储空间的分配采用显式链接分配。为了实现创建和删除文件必须要有一棵初始的文件树存在,以便在文件树的根节点下实现创建和删除文件。 3. 数据结构与树结构。数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树中每个分叉点称为结点,起始结点称为树根,任意两个结点间的连接关系称为树枝,结点下面不再有分枝称为树叶。结点的前趋结点称为该结点的\双亲\,结点的后趋结点称为该结点的\孩子\,同一结点的\孩子\之间互称\兄弟\。
4.文件目录结构采用多级目录结构。为了简单起见,可以使用文件结构体,结构体内容包括:文件名,文件目录识别标示,文件链接数,以及他的左孩子右孩子左兄弟右兄弟指
5. 要有分解函数对输入的命令进行分解。以识别那部分是哪部分是命令,哪
部分是路径和文件名。
6. 最后要有执行函数。来执行输入的创建文件命令。
设计工作量:
(1)软件设计:完成问题陈述中所提到的所有需求功能。
(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。
工作计划:13-14周
安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~6,第二周完成7~10,论文同步进行; (1)写出需求分析(做什么)
(2)分析系统中的各个实体之间的关系及其属性和行为 (3)设计系统的函数层次
(4)完成函数中函数的描述(包括属性和方法) (5)完成类中各个成员函数的定义和实现 (6)代码编写 (7)功能调试
(8)撰写课程设计报告书 (9)答辩
2设计说明
2.1 问题描述与功能设计
1)问题描述:Android手机上默认没有文件管理器,因此需要设计一个文件管理器,
要求以树形结构显示每个文件和文件夹,并且可以方便的对文件或文件夹进行增,删操作,此外还可以将文件移至任意文件夹中
2)功能设计:
1分析系统中的各个实体之间的关系及其属性和行为;
2设计系统的类层次,充分运用C++的复合、继承、多态等机制进行软件渐增式开发;
3完成类层次中各个类的描述(包括属性和方法)和具体实现用户界面需求
用户界面需求
对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽量做得简单、层次清晰明了
对考勤管理系统应实现的功能描述如下: 1用户信息管理
用户信息管理的基本功能是添加、修改、删除、浏览用户详细信息。 2信息管理
包括缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课) 3查询功能
考勤人员能够按学号、姓名查询某学生的考勤记录或按专业、班级查询某个班级的考勤记录 4统计功能
考勤人员可以统计学生的考勤记录 5修改功能
考勤人员具有修改学生考勤记录、如请假、旷课等记录
2.2 算法与数据结构
2.3 函数定义
//student.h文件中student类的定义 class Student{ public:
// 学生信息
char stuName[20]; int stuNum;
char stuClass[20]; // 缺课信息
char courseName[20];
int courseNum; // 第几节课 char courseType[20]; // 缺课日期 int year; int month; int day; /*
* 创建链表用来存储学生信息 */
bool CreateList(node &L) {
L = new Node; // 动态分配内存,创建链表头结点 if(!L) {
// 内存分配失败 return false; }
L->next = NULL; // 创建空链表成功,头结点指针域为空 return true; }
//学生缺课类型
int chidaoCount = 0;//迟到 int zaotuiCount = 0; //早退 int kuangkeCount = 0; //旷课 int qingjiaCount = 0; //请假
char *queke[4] = {\迟到\早退\旷课\请假\
2.4 界面设计
while(1) {
cout<<\欢迎进入学生考勤管理系统====================\\n\
cout<<\:新增学生信息(非降序插入) 2:按学号删除学生信息\\n\
cout<<\:按学号修改学生信息 4:输出学生信息列表\\n\ cout<<\:按学号查询输出学生信息\\n\ cout<<\:统计学生缺课信息列表\\n\
cout<<\请选择要执行的功能指令:(菜单指令如上)\
cout<<\;
cin>>order; switch(order) {
case 1:
cout<<\新增学生信息面板(非降序插入)=============\\n\
InputStu(stu);
InsertAscend(head, stu);
cout<<\是否返回系统菜单?(是输入0,否输入1退出系统)\\n\ cin>>k; if(k)
{cout<<\您已退出学生考勤管理系统\\n\ return 0; }
break; case 2:
cout<<\按学号删除学生信息=============\\n\ cout<<\请输入要删除的学生的学号:\ cin>>stuNum;
DelFromNum(head, stuNum);
cout<<\是否返回系统菜单?(是输入0,否输入1退出系统)\\n\ cin>>k; if(k)
{cout<<\您已退出学生考勤管理系统\\n\ return 0; }
break; case 3:
cout<<\按学号修改学生信息面板
=============\\n\
cout<<\请输入待修改的学生的工号:\ cin>>stuNum;
FindFromNum(head, stuNum, preNode, curNode); Modify(curNode->data);
cout<<\是否返回系统菜单?(是输入0,否输入1退出系统)\\n\ cin>>k;
if(k) {
cout<<\您已退出学生考勤管理系统\\n\ return 0; }
break; case 4:
cout<<\输出学生信息列表面板=============\\n\ OutputStu(head);
cout<<\是否返回系统菜单?(是输入0,否输入1退出系统)\\n\ cin>>k; if(k) {
cout<<\您已退出学生考勤管理系统\\n\ return 0; }
break; case 5:
cout<<\按学号查询输出学生信息=============\\n\
cout<<\请输入要查询的学生的学号:\ cin>>stuNum;
FindFromNum(head, stuNum, preNode, curNode);
cout< < < cout<<\是否返回系统菜单?(是输入0,否输入1退出系统)\\n\ cin>>k; if(k) { cout<<\您已退出学生考勤管理系统\\n\ return 0; } break; case 6: cout<<\统计学生缺课信息列表面板==========\\n\ preNode = head; while(preNode) { curNode = preNode->next; if(curNode && !strcmp(curNode->data.courseType, queke[0])) chidaoCount++; if(curNode && !strcmp(curNode->data.courseType, queke[1])) zaotuiCount++; if(curNode && !strcmp(curNode->data.courseType, queke[2])) kuangkeCount++; if(curNode && !strcmp(curNode->data.courseType, queke[3])) qingjiaCount++; preNode = curNode; } cout<<\迟到的学生有 \个!\ cout<<\早退的学生有 \个!\ cout<<\旷课的学生有 \个!\ cout<<\请假的学生有 \个!\ cout<<\是否返回系统菜单?(是输入0,否输入1退出系统)\\n\ cin>>k; if(k) { cout<<\您已退出学生考勤管理系统\\n\ return 0; } break; default: cout<<\输入不合法\\n\ cout<<\是否返回系统菜单?(是输入0,否输入1退出系统)\\n\ cin>>k; if(k) { cout<<\您已退出学生考勤管理系统\\n\ return 0; } break; } } } return 0; return 0; } 2.5 测试 输入学生信息 录入学生信息 查询学生信息 修改学生信息 统计学生信息 3 总结 本次实验是我上大学以来做的第二个课程设计,虽然平时也做过许多的实 验,但是题目刚拿到手时仍然是手足无措,不知从何下手,首先面对的是编写程序的问题,面向对象的程序设计思想是我们这学期C++课程的主要内容,但我的底子薄,掌握的不是很好,所以运用起来有些困难;其次是以前没做过课程设计,有关课程设计方面的一些问题,例如,课程设计都包括哪些内容,需要写些什么,我都不是非常清楚。后来在老师、同学以及班导的帮助下,才对此有了一定的了解,有了属于自己的看法,不过程序编写过程中我也遇到了许多的麻烦,例如链表的使用,是上个学期最后的内容,不是很熟悉,经过反复的看书,终于得到了解决! 这次的课程设计是我真正发现在课堂上听懂是一回事,而当自己真正动手做时又是另外一回事。虽然最后问题都得到的解决,但未能实现保存文件,没能达到老师的要求,这也是本次课程设计的不足之处。 通过本次的课程设计,使我能够进一步掌握用程序设计语言解决实际问题的方法,在操作当中把所学到的用于实际的编程里去。使我能够提高分析问题、查阅资料、吸收新知识的能力,在分析解决问题时比以前有了很大的进步,一些常用的知识和一些常规的错误都能够解决。我认为实践周的程序设计是给我们学习的一个大好机会,使我们在这样的机会里学到了一定的知识,毕竟理论要通过实践来锻炼,也只有自己参与了这样的一个锻炼,才能更好的发现自己的不足并加以改进和完善!我清楚的认识到自己在这方面的不足之处,在这方面可以说欠缺的知识还很多很多,不能编出完全符合要求的程序。在以后的学习中我会更加努力,争取能编出更加符合要求的程序,给自己的课程设计交上一份满意的答卷,也给自己一点小小的信心!
正在阅读:
学生考勤系统说明书04-28
《游褒禅山记》素材挖掘09-29
实验三-多媒体素材的采集与制作(学生)11-30
电机电器控制实验指导书new - 图文05-21
排球毕业论文 精品01-12
安徽省蚌埠三中11-12年学年高二下学期第一次月考(物理)缺答案06-22
娜05-22
2019年医院感染基本知识试题及答案03-11
沪教版化学九年级下学期开学考试试题06-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考勤系统
- 说明书
- 学生
- 大学英语四六级高分备考方略 - 2
- 腾冲监理计划
- 程序与算法综合设计课程设计指导书-2013
- SAP - MM模块采购管理操作手册
- 图书借阅制度
- 并列连词and - or - but - so用法 - 全面
- 新风尚大学实用英语综合教程4课后习题答案
- 公共基础知识法律常识:诉讼法之刑事诉讼管辖篇
- 岩土专业英汉词汇
- 课程设计说明书
- 安康供电段轨道车辆运行速度的规定
- 黄酮标准曲线绘制的实验报告
- 尔雅网络《形象管理》课程期末考试参考答案
- 高考必备:高中数学常用公式及常用结论(共203个)
- 数据结构试题集(包含答案_完整版)
- 霍尔在三表(水表、电能表、煤气表)中的应用 MH185
- 小学阶段语文知识能力发展目标 - 图文
- 苏州园林景观分析
- 通识课练习-生活中的经济学
- 比利时签证