请假管理系统源代码

合集下载

基于springboot、vue前后端分离的activiti工作流后台管理系统

基于springboot、vue前后端分离的activiti工作流后台管理系统

基于springboot、vue前后端分离的activiti⼯作流后台管理系统前⾔activiti⼯作流,企业erp、oa、hr、crm等审批系统轻松落地,请假审批demo从流程绘制到审批结束实例。

⼀、项⽬形式springboot+vue+activiti集成了activiti在线编辑器,快速开发平台,可插拔⼯作流服务。

⼆、项⽬介绍本项⽬拥有⽤户管理,部门管理,代码⽣成,系统监管,报表,⼤屏展⽰,业务审批等功能。

功能太强⼤,只能粗矿的介绍,所见即所得,体验⼀下吧。

三、⼯作流1.流程模型绘制进⼊流程模型菜单,创建流程模型,这⾥涉及到⽹关流转,需要设置流转条件,我们这⾥是三⼗岁以上的⾛下⾯分⽀,三⼗岁以下的⾛上⾯的分⽀。

点击分⽀线,设置流转条件即可。

${age<=30}。

保存后我们在列表中点击发布即可。

2.流程配置发布后,就到了已发布模型列表,在启⽤之前,我们需要先对进⾏节点设置和关联具体单据。

审批⼈员可以根据⾓⾊,直接指定⼈,部门,部门负责⼈,发起⼈部门负责⼈来进⾏配置,基本上满⾜所有的流转需求,并且可以设置表单变量。

设置流程表单,⽬前就做了⼀个请假的测试表单,并且可以对相应⾓⾊授权,做到⾃定义权限。

设置完后启动即可。

3.流程提交填写请假表单提交单据,优先级分为普通,重要,紧急。

消息通知可以选择站内通知,短信,邮件。

提交之后可以撤回单据。

查看流程流转进度情况。

也可以挂起,删除流程。

4.流程审批办理⼈审批列表,可以处理单据(驳回或者通过),也可以委托他⼈待办。

审批通过。

委托他⼈待代。

审批通过后进⼊已办列表。

年龄⼤于30岁,进⼊下⾯分⽀流转。

审批通过。

5.待办信息推送站内消息推送。

总结上⾯只是展⽰了平台的审批流功能,还有其他很多功能没展⽰出来,⾃⼰也写了⼀些⾮常好⽤的组件,做到系统敏捷快速开发,⼤⼤减少开发时间和成本,⽬前正在对接移动端审批。

之前由于没有时间去部署线上测试环境,考虑近期部署,⽬前可以单独找我,远程演⽰,有需要源码的联系我。

12个项目开发完整案例及其源程序

12个项目开发完整案例及其源程序

项目开发完整案例及其源程序一、项目背景随着信息技术的快速发展,软件开发行业也日益繁荣。

在这样一个大环境下,很多公司和个人纷纷涉足到软件项目开发当中。

但是,对于初学者来说,缺乏实际项目的经验往往是一个难题。

本文旨在提供一系列完整的项目案例以及其源程序,帮助读者了解实际项目开发的流程和技巧。

二、项目列表1. 学生信息管理系统2. 人事管理系统3. 全球信息站书店4. 购物车系统5. 上线银行系统6. 员工考勤系统7. 论坛全球信息站8. 餐厅点餐系统9. 音乐播放器10. 电影订票系统11. 酒店预订系统12. 生鲜电商评台三、项目详解1. 学生信息管理系统- 这是一个基于Java语言开发的学生信息管理系统,实现了学生信息的添加、查询、修改和删除功能。

- 源程序主要包括学生类、数据库连接类、界面设计类等文件。

2. 人事管理系统- 该系统使用C#语言开发,包括员工信息管理、薪资管理、招聘管理等功能模块。

- 完整的源程序包括数据库设计文件、前端界面代码、后端逻辑处理代码等部分。

3. 全球信息站书店- 这是一个基于PHP和MySQL的全球信息站书店系统,包括图书浏览、购物、用户管理等功能。

- 源程序包含前台页面代码、后台管理代码、数据库设计脚本等部分。

4. 购物车系统- 使用Python语言编写的购物车系统,实现了用户登入、商品添加、购物车管理等功能。

- 包括了前端页面代码、后端逻辑处理代码、数据库设计等内容。

5. 上线银行系统- 基于Java的上线银行系统,包含用户账户管理、转账汇款、交易记录查询等功能。

- 源程序涉及了多个类文件、数据库连接代码、界面设计等内容。

6. 员工考勤系统- 该系统使用C++语言编写,实现了员工签到、请假申请、考勤统计等功能。

- 源程序包括类定义文件、界面代码、数据库操作代码等。

7. 论坛全球信息站- 基于Ruby on R本人ls框架的论坛全球信息站,包括用户注册、发帖、回帖、板块管理等功能。

智慧河小科请销假源码

智慧河小科请销假源码

智慧河小科请销假源码一、背景介绍智慧河小科是一款用于学校管理的智能系统,它可以方便学生和教师进行信息管理和交流。

其中一个重要功能是请销假系统,它使得学生和教师可以更加便捷地处理请假和销假事务。

二、请销假的流程与问题请销假是学生和教师经常遇到的事务之一,传统的请销假方式往往需要填写请假单、递交给班主任或教务处,等待审批,最后才能得到答复。

这一过程可能存在以下问题:2.1 手写请假单传统方式需要学生手写请假单,可能存在填写不规范、易于造假等问题,导致信息不准确。

2.2 信息传递不及时由于请假单需递交给班主任或教务处,再由审批人员审批,整个过程时间较长,信息传递不够及时,影响学生和教师的沟通。

2.3 审批流程繁琐传统请销假方式中,审批流程通常需要多人参与,如班主任、教务处等,造成流程冗长和审批效率低下。

三、智慧河小科请销假功能设计为了解决传统请销假方式中存在的问题,智慧河小科请销假功能进行了以下设计:3.1 电子请假单智慧河小科提供电子请假单,学生可以在线填写请假信息,避免手写造成的不准确及易于造假的问题。

电子请假单的格式规范,学生只需按照系统要求填写相关信息即可。

3.2 即时信息传递学生提交请假申请后,系统将自动通知班主任和相关审批人员,实现请假信息的即时传递。

班主任和审批人员也可以通过系统查看学生的请假申请,以便更好地了解学生请假的情况。

3.3 简化审批流程智慧河小科请销假系统通过工作流技术,实现审批流程的自动化。

系统根据学校的规定,自动进行审批流程的分配和流转,减少了多人参与的情况,提高了审批效率。

只有特殊情况时,审批流程才会由人工介入。

四、智慧河小科请销假源码实现4.1 学生请假界面代码示例// 请假表单页面<form action="/leave" method="POST"><label for="student_name">学生姓名</label><input type="text" id="student_name" name="student_name" required><br><label for="reason">请假原因</label><textarea id="reason" name="reason" required></textarea><br><label for="start_date">开始日期</label><input type="date" id="start_date" name="start_date" required><br><label for="end_date">结束日期</label><input type="date" id="end_date" name="end_date" required><br><input type="submit" value="提交请假申请"></form>4.2 教师审批界面代码示例// 审批页面<table><thead><tr><th>请假学生</th><th>请假原因</th><th>开始日期</th><th>结束日期</th><th>操作</th></tr></thead><tbody><tr><td>张三</td><td>因病请假</td><td>2022-01-01</td><td>2022-01-05</td><td><form action="/approve" method="POST"><input type="hidden" name="leave_id" value="1"><button type="submit">通过</button></form><form action="/reject" method="POST"><input type="hidden" name="leave_id" value="1"><button type="submit">驳回</button></form></td></tr><!-- 其他请假记录 --></tbody></table>五、智慧河小科请销假系统带来的好处5.1 提高请销假效率通过电子请假单和即时信息传递功能,学生请假和教师审批的效率得到了显著提高。

leavepay源码

leavepay源码

leavepay源码leavepay源码是一个用于管理员工请假的简单应用程序。

它通过记录和跟踪员工请假的信息,帮助企业更好地管理和安排员工的假期。

下面是一个简单的leavepay源码示例,它展示了如何创建一个基本的请假管理系统:```javaimport java.util.ArrayList;import java.util.List;import java.util.Scanner;class LeaveRequest {private final String name;private final String startDate;private final String endDate;private final String reason;public LeaveRequest(String name, String startDate, String endDate, String reason) { = name;this.startDate = startDate;this.endDate = endDate;this.reason = reason;}public String getName() {return name;}public String getStartDate() {return startDate;}public String getEndDate() {return endDate;}public String getReason() {return reason;}}class LeaveManager {private final List<LeaveRequest> leaveRequests;public LeaveManager() {this.leaveRequests = new ArrayList<>();}public void addLeaveRequest(LeaveRequest leaveRequest) { leaveRequests.add(leaveRequest);}public void removeLeaveRequest(LeaveRequest leaveRequest) {leaveRequests.remove(leaveRequest);}public void displayLeaveRequests() {for (LeaveRequest leaveRequest : leaveRequests) {System.out.println("Employee: " +leaveRequest.getName());System.out.println("Start Date: " +leaveRequest.getStartDate());System.out.println("End Date: " +leaveRequest.getEndDate());System.out.println("Reason: " + leaveRequest.getReason()); System.out.println("-------------------------");}}}public class Main {public static void main(String[] args) {LeaveManager leaveManager = new LeaveManager();Scanner scanner = new Scanner(System.in);while (true) {System.out.println("1. Add Leave Request");System.out.println("2. Remove Leave Request");System.out.println("3. Display Leave Requests");System.out.println("4. Exit");System.out.print("Enter your choice: ");int choice = scanner.nextInt();scanner.nextLine();switch (choice) {System.out.print("Employee Name: ");String name = scanner.nextLine();System.out.print("Start Date: ");String startDate = scanner.nextLine();System.out.print("End Date: ");String endDate = scanner.nextLine();System.out.print("Reason: ");String reason = scanner.nextLine();LeaveRequest leaveRequest = new LeaveRequest(name, startDate, endDate, reason);leaveManager.addLeaveRequest(leaveRequest);System.out.println("Leave Request added successfully!");break;case 2:System.out.print("Employee Name: ");String employeeName = scanner.nextLine();System.out.print("Start Date: ");String start = scanner.nextLine();System.out.print("End Date: ");String end = scanner.nextLine();LeaveRequest reqToRemove = null;for (LeaveRequest req : leaveManager.leaveRequests) {if (req.getName().equals(employeeName) &&req.getStartDate().equals(start) &&req.getEndDate().equals(end)) {reqToRemove = req;break;}if (reqToRemove != null) {leaveManager.removeLeaveRequest(reqToRemove); System.out.println("Leave Request removed successfully!");} else {System.out.println("Leave Request not found!");}break;case 3:leaveManager.displayLeaveRequests();break;case 4:System.exit(0);default:System.out.println("Invalid choice! Please try again."); }}}}```该源码分为三个类:LeaveRequest,LeaveManager和Main(包含主函数)。

考勤请假数据分析报告

考勤请假数据分析报告

考勤请假数据分析报告考勤请假数据分析报告通过对某一公司的考勤请假数据进行分析,我们可以对员工请假状况有一个全面了解,并进一步分析和解读相关的数据趋势和规律,为公司管理和决策提供参考。

1. 数据来源和时间范围我们收集并分析了该公司2021年1月至6月的考勤请假数据,涵盖了所有部门和岗位。

2. 请假类型分布根据数据分析,员工请假类型主要分为事假、病假、年假和其他假。

其中,请病假占总请假时间的50%,其次是年假占比30%,事假占比15%,其他假占比5%。

这说明员工目前主要请假的原因是疾病相关的事情,而年假的使用率较高,可能是员工对于休假的需求和公司政策等原因导致的。

3. 请假时长分布根据数据分析,员工请假时长主要分布在1天至3天的区间,占总请假次数的80%左右,其次是4天至7天的区间,占比约15%,再次是超过7天的长期请假,占比约5%。

这说明大多数员工请假的时长较短,可能是因为一些临时性的事情需要请假处理,而长期请假的员工相对较少。

4. 请假时间分布根据数据分析,员工请假的时间主要集中在周三至周五,占总请假次数的60%左右。

而周一和周二的请假次数较少,分别约占总请假次数的20%和15%。

这可能与员工休息和工作的节奏有关,一般在周末后的第一到第三个工作日,员工更容易请假处理一些事项。

5. 不同部门和岗位的请假情况通过对不同部门和岗位的请假情况进行分析,我们发现销售部门和客户服务部门的员工请假次数较多,占总请假次数的60%左右。

而研发部门和财务部门的员工请假次数较少,分别约占总请假次数的20%和15%。

这可能与员工工作内容和职责的不同有关,销售和客户服务部门的员工更容易受到外部因素的影响,需要请假处理。

基于以上分析结果,我们对公司管理和决策提出以下建议:1. 针对员工主要请病假的情况,公司可以加强健康管理和预防措施,降低员工疾病导致请假的比例。

2. 为了提高员工的工作满意度和效率,公司可以合理安排年假和休假政策,鼓励员工积极休息和放松,提高工作的质量和效率。

基于java的高校学生请假管理系统的设计与开发

基于java的高校学生请假管理系统的设计与开发

一、概述随着信息技术的不断发展,高校教育管理系统也在不断完善和更新。

学生请假管理是高校教务工作中重要的组成部分,对于学生的健康和学业发展也起着重要的作用。

设计并开发一套基于java的高校学生请假管理系统,将大大提高学校教务管理的效率和质量。

二、系统设计1.需求分析a. 学生需求:学生需要能够方便快捷地提交请假申请,并且查看请假申请的审批进度和结果。

b. 教师需求:教师需要能够及时地收到学生的请假申请,并能够方便地进行请假审批和管理。

c. 管理人员需求:管理人员需要能够查看所有学生的请假情况,方便进行统计和分析。

2.系统架构设计a.系统采用java作为开发语言,采用B/S结构,即浏览器/服务器结构。

b.系统采用MySQL数据库进行数据存储,保证数据的安全性和稳定性。

c.系统前端采用HTML、CSS、JavaScript进行开发,后端采用java进行开发。

三、系统功能设计1.学生管理a.学生登入b.学生请假申请c.请假审批结果查看2.教师管理a.教师登入b.收到请假申请通知c.请假审批d.请假审批结果通知学生3.管理人员管理a.管理人员登入b.查看所有学生请假情况c.统计分析请假情况四、系统开发1.技术选型a.前端:HTML、CSS、JavaScriptb.后端:Javac.数据库:MySQL2.开发进程a.需求分析阶段b.系统设计阶段c.数据库设计阶段d.前后端开发阶段e.测试与优化阶段f.上线部署阶段五、系统测试系统测试是保证系统质量的关键步骤,主要包括功能测试、性能测试、安全测试等,通过全面的测试,确保系统的稳定性和可靠性。

六、系统上线系统上线前需要进行充分的准备工作,包括数据备份、用户培训、运维规划等,确保系统的顺利上线和运行。

七、结尾基于java的高校学生请假管理系统的设计与开发,将为学校教务管理带来巨大的便利和效益,提高了学生请假管理的效率和透明度,也为学生和教师之间的交流提供了更便捷的途径。

基于ASP开发设计人事考勤管理系统

基于ASP开发设计人事考勤管理系统

近 年来 ,随着计算 机 的普及 和计算 机科学 技术 的
( )建 立 与数 据 源 的连接 2
飞速发展 ,人们开始越来越多地利用计算机解决实 际问 题 。人事考勤是企业信息管理 的重要部分 ,面对大量 的
人事考勤信息 ,采用人力处理将浪费大量 的时间、人力 和物力 ,且数据 的准确性低 ,本系统正是为 了满足企事 业单位 日常的人事考勤管理需求 ,使人事考勤管理更加 科学 、公正 、透 明,从 而为企业发放工资 、奖金和年度 考勤提供依据 。
准。员工提交请假条后 ,如果室主任还没有批复,则员工
可以修改其内容,如果已经批复 ,则不能再修改。 普通员工只能看到 自己的请假情况 ,室主任可以看
心客户 的浏览器是否能运行 服务器端所编写的代码。当
程序执行完毕后 ,服务器仅将执行 的结果返 回给客户浏
览器 ,这样也就减轻 了客户端浏览器的负担 ,大大提 高
能。
秒钟 ,对用 户正常 的档案业 务操作不会造成 重大影响 ;
由于集群 自动切换本身也是一个全 自动的过 程, 用户在 使用系统过 程 中基本感觉不 到系统短暂 中断, 不会影 更
c n . e o sr o n Op nc n t
二 、人事 考勤管 理 系统 的主要功 能
21用 户权 限 .

A P 术在 考 勤 系统 中的应 用 S技
员工 填写个 人 出勤情 况时 ,员工姓名 自动从 计算
机登录用户名 ( 一般为域用户名 )中提取 ,个人不能修
11 AS 技术的应用 . P
24生成 报 表 .
每个月初需上报上一个 月的考勤情况 ,本系统可以 自动生成E cl xe 文件。 ( 下转6 页 ) 1

基于ASP的人事管理系统

基于ASP的人事管理系统
情况。
( R c rst 2) eode 对象 负责存 取数 据 ; ( C mma d对 象用 于对数 据源 执行 指定 的指令 。 3) o n
35 生成报 表 .
本 系统 可 以 自动生 成报 表文 件 , 几个 主要 的表 格设
计如 下 :
3 系统功能模块设计
人 事管 理 系统 划分 为 系统管 理 、基 础资 料管 理 、 薪 资管理 、 勤管 理 、 成报 表等功 能模 块 , 图 1 考 生 如 所示 。
Co n c i n、 c r s t Co n et o Re o d e 、 mm a d。 n
请假 原 因等 。填写 完成后 , 提交 到科 室领导 审批 , 后 先 然
再 由所在 部 门领导 审批 。
( ) o n cin对 象 又 称 连 接 对 象 ,用 来 和 数 据 1 C n et o 库 建 立 连 接 , C n et n对 象 建 立 连 接 后 , 可 以 用 o n ci o 才 用 C mma d对 象 或 R crst 象 对 数 据 库 进 行 各 o n e od e 对
强 支 柱 因 此 . AS 中如 何 建 立 与 不 管 理 主要 是对 员 工 的基 本 工 资 、 贴 、 罚 金 补 奖
等进 行处 理 和统计 。系统 自动计 算 出员工 每 月 的工 资 ,
用户 可 以对工资 单进 行打 印 。
3 . 4考勤管理
基 本 工 资
补 贴 奖 罚 金
出 勤 情 况 加 班 情 况
同期 限 、 职位 变动 情况 ;
用 户 资 料 角 色 管 理
单 位 资 料
文件 输 出需要 使用 F O( S 文件 系统 对 象 ) 首先 使 用 , C etObet 象来 创建 FlS s mO jc 对 象 : rae jc 对 i yt bet e e
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <windows.h>#define select inttypedef struct //账户信息{char name[20]; //char pw[20]; //User.pw} User;typedef struct{char Num[20];char n1[20];char Class[20];char time[100];char reason[100];char instructor[100];} Leave;typedef struct{char n1[20];char Num[20];// char name[20];char Class[20];char time[100];char reason[100];char instructor[100];char suggest[100];} TEACHER;int check (char name[20]){int i=0;User ru;FILE *f =fopen("data.dat","rb");rewind(f);for(i=0; !feof(f); i++){int d=i*sizeof(User);fseek(f,d,SEEK_SET);fread(&ru,sizeof(User),1,f);if(strcmp(name,)==0)return 1;}return -1;}int login(char name[20],char pw[20]){User us;FILE *f =fopen("data.dat","rb");while(!feof(f)){fread(&us,sizeof(User),1,f);if(strcmp(name,)==0){if(strcmp(pw,us.pw)==0)return 1;}}return -1;}int main(){char n[20];char plog[20];char nlog[20];int c;User u;FILE *f =fopen("data.dat","ab");if(f!=NULL){fwrite(&u,sizeof(User),1,f);}fclose(f);Login:system("color F0");system("cls");printf("\n\n");printf("========================================================================\ n");printf("||\n");printf("|-----------------------------学生请假系统-----------------------------|\n");printf("||\n");printf("========================================================================\ n");printf("\n");Sleep(1000);printf("\n");printf("请输入帐号:");scanf("%s",nlog);c=check(nlog);if(c==1)//如果账户存在{strcpy(n,nlog);//复制登录帐号if(strlen(n)==9)//如果是学生{int a,i;select s=0;printf("\n");printf("请输入密码:");//直接输入密码scanf("%s",plog);for(a=2,i=0; i<4; i++,a--){if(login(nlog,plog)==-1)//密码错误{system("color F0");char plog[20]= {}; //登录数组初始化system("cls");printf("\n");printf("************************************************************************\ n");printf("* 密码错误! *\n");printf("************************************************************************\ n");printf("\n\n");if(a>0){printf("请重新输入密码(你还有%d次机会):",a);printf("\n\n");scanf("%s",plog);if(login(nlog,plog)==1)goto success2;}elsereturn 0;}}if(login(nlog,plog)==1){success2: system("color F0");printf("\n\n");printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\登陆成功///////////////////////\n");Sleep(1000);system("cls");}LEAVESYSTEM:printf("\n\n");printf("========================================================================\ n");printf("|1.提交请假申请|\n");printf("|2.查询请假批准状态|\n");printf("| 如无需操作,可直接关闭程序|\n");printf("========================================================================\ n");printf("\n\n");Sleep(1000);printf("请输入您要执行的选项:");scanf("%d",&s);Sleep(1000);while(s!=1&&s!=2){if(s!=1&&s!=2){ system("color 0c");printf("选项不存在,请重新输入(1/2):");s=0;scanf("%d",&s);}}if(s==1)//写入请假{system("color F0");system("cls");printf("\n\n");printf("========================================================================\ n");printf("||\n");printf("|------------------------------提交请假申请----------------------------|\n");printf("||\n");printf("========================================================================\ n");printf("\n\n");Leave a;Sleep(1000);printf("请输入班级:\n");scanf("%s",a.Class);printf("请输入姓名:\n");scanf("%s",a.n1);printf("请详细输入请假时间:\n");scanf("%s",a.time);printf("请详细输入请假原因:\n");scanf("%s",a.reason);strcpy(nlog,a.Num);strcpy(a.instructor,"0");FILE *t=fopen("leave.dat","ab");fwrite(&a,sizeof(Leave),1,t);//讲以变量u的地址开始的内存区域的一个数据写到f指向的文件中,每个数据占sizeof(User)fclose(t);fflush(t);// Sleep(1000);printf("\n");printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\保存成功///////////////////////\n");printf(" 请不定时来查询你的假条申请状态!\n\n\n");system("pause");system("cls");goto LEAVESYSTEM;}if(s==2)//学生查询状态代码{system("color F0");system("cls");printf("\n\n");printf("========================================================================\ n");printf("||\n");printf("|----------------------------查询请假批准状态--------------------------|\n");printf("||\n");printf("========================================================================\ n");Sleep(1000);TEACHER b;FILE *t=fopen("read.dat","rb");while(1){if(!(fread(&b,sizeof(TEACHER),1,t)))break;if((strcmp(nlog,b.Num))==0){printf("---------------------------------------------------------------\n");printf("|学生%s请假申请反馈信息:\n",b.n1);printf("|班级:%s\n \n",b.Class);printf("|姓名:%s\n \n",b.n1);printf("|请假时间:%s\n \n",b.time);printf("|请假原因:%s\n \n",b.reason);printf("---------------------------------------------------------------\n");Sleep(1000);printf("\n");printf(" -------------------------------------------------------------\n");printf(" 申请状态:%s\n",b.instructor);printf(" 辅导员意见:%s\n",b.suggest);printf(" -------------------------------------------------------------\n");system("pause");Sleep(1000);system("cls");goto LEAVESYSTEM;}}}if(s==3){goto Login;}}//身份学生if(strlen(n)==4)//如果是辅导员{int a,i;select s;printf("\n");printf("请输入密码:");//直接输入密码for(a=2,i=0; i<4; i++,a--){if(login(nlog,plog)==-1)//密码错误{system("color 0c");char plog[20]= {}; //登录数组初始化system("cls");printf("\n");printf("************************************************************************\ n");printf("* 密码错误! *\n");printf("************************************************************************\ n");printf("\n\n");if(a>0){printf("请重新输入密码(你还有%d次机会):",a);printf("\n\n");scanf("%s",plog);if(login(nlog,plog)==1)goto success3;}elsereturn 0;}}if(login(nlog,plog)==1){success3: system("color F0");printf("\n\n");printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\登陆成功///////////////////////\n");Sleep(1000);}//Approvalsystem:printf("\n\n");printf("========================================================================\ n");printf("||\n");printf("|-------------------------学生请假系统(辅导员端)-----------------------|\n");printf("||\n");printf("========================================================================\ n");printf("\n");Sleep(1000);printf("========================================================================\ n");printf("|1.查看学生请假申请|\n");printf("|2.返回登陆界面|\n");printf("| 如无需操作,可直接关闭程序|\n");printf("========================================================================\ n");printf("\n\n");Sleep(1000);printf("请输入您要执行的选项:");scanf("%d",&s);while(s!=1&&s!=2){if(s!=1&&s!=2){printf("选项不存在,请重新输入(1/2):");scanf("%d",&s);}}if(s==1)//辅导员读{system("cls");printf("\n\n");printf("========================================================================\ n");printf("||\n");printf("|----------------------------查看学生请假申请--------------------------|\n");printf("||\n");printf("========================================================================\ n");printf("\n\n");Sleep(1000);Leave a;FILE *t=fopen("leave.dat","rb");while(1){int ch;if(!(fread(&a,sizeof(Leave),1,t)))break;{printf("-------------------------------------------------------------\n");printf("|学生信息如下:\n");printf("|班级:%s\n",a.Class);printf("|姓名:%s\n",a.n1);printf("|学号:%s\n",a.Num);printf("|请假时间:%s\n",a.time);printf("|请假原因:%s\n",a.reason);printf("-------------------------------------------------------------\n");Sleep(1000);printf("\n\n\n");printf("\n");printf(" 是否批准学生请假申请\n");printf(" ----------------------------------------------------------- \n");printf(" ----------------------------------------------------------- \n");printf(" 1.批准学生请假申请\n");printf(" 2.不批准学生请假申请\n");printf("\n\n\n");printf("请输入您要执行的选项:");scanf("%d",&ch);while(ch!=1&&ch!=2){if(ch!=1&&ch!=2){printf("选项不存在,请重新输入(1/2):");scanf("%d",&ch);}}if(ch==1){printf("\n\n");printf("-------------------------------------------------------------\n");printf("执行中....\n");printf("-------------------------------------------------------------\n");Sleep(1000);TEACHER b;FILE *F=fopen("read.dat","ab");strcpy(b.instructor,"您的请假申请已被批准!");printf("\n");printf("辅导员意见:");scanf("%s",b.suggest);strcpy(b.Class,a.Class);strcpy(b.n1,a.n1);strcpy(b.time,a.time);strcpy(b.reason,a.reason);strcpy(b.Num,a.Num);// FILE *f3=fopen("leave.dat","ab");fwrite(&b,sizeof(TEACHER),1,F);fclose(F);fflush(F);Sleep(1000);printf("\n\n\n");printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\操作成功///////////////////////\n");system("pause");printf("\n\n\n\n\n");continue;}if(ch==2){printf("-------------------------------------------------------------\n");printf("执行中....\n");printf("-------------------------------------------------------------\n");Sleep(1000);TEACHER b;FILE *F=fopen("read.dat","ab");strcpy(b.instructor,"您的请假申请没有被批准,请按时上课!");printf("\n");printf("辅导员意见:");scanf("%s",b.suggest);strcpy(b.Class,a.Class);strcpy(b.n1,a.n1);strcpy(b.time,a.time);strcpy(b.reason,a.reason);strcpy(b.Num,a.Num);fwrite(&b,sizeof(TEACHER),1,F);fclose(F);fflush(F);Sleep(1000);printf("\n\n\n");printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\操作成功///////////////////////\n");system("pause");printf("\n\n\n\n\n");continue;}}}}if(s==2){system("cls");goto Login; //修改学生请假申请状态反回}}//如果是辅导员if(strlen(n)==5)//如果是老师{int a,i;printf("\n");printf("请输入密码:");//直接输入密码scanf("%s",plog);for(a=2,i=0; i<4; i++,a--){if(login(nlog,plog)==-1)//密码错误{system("color 0c");char plog[20]= {}; //登录数组初始化system("cls");printf("\n");printf("************************************************************************\ n");printf("* 密码错误! *\n");printf("************************************************************************\ n");printf("\n\n");if(a>0){printf("请重新输入密码(你还有%d次机会):",a);printf("\n\n");scanf("%s",plog);if(login(nlog,plog)==1)goto success1;}elsereturn 0;}}if(login(nlog,plog)==1){success1: system("color F0");printf("\n\n");printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\登陆成功///////////////////////\n");Sleep(1000);system("cls");}system("cls");printf("\n\n");printf("========================================================================\ n");printf("||\n");printf("|---------------------------学生请假系统(老师端)-----------------------|\n");printf("||\n");printf("========================================================================\ n");Sleep(1000);printf("\n\n");printf(" -------------------------------------------------------------\n");printf(" 学生请假加载中...\n");printf(" -------------------------------------------------------------\n");Sleep(1000);// int i=0;TEACHER b;FILE *t=fopen("read.dat","rb");// rewind(t);while(1){if(!(fread(&b,sizeof(TEACHER),1,t)))break;// long d=i*sizeof(TEACHER);// fseek(t,d,SEEK_SET);// fread(&b,sizeof(TEACHER),1,t);printf("---------------------------------------------------------------\n");printf("|学生学号%s请假申请反馈信息:\n",b.Num);printf("|班级:%s\n",b.Class);printf("|姓名:%s\n",b.n1);printf("|请假时间:%s\n",b.time);printf("|请假原因:%s\n",b.reason);printf("|申请状态:%s\n",b.instructor);printf("---------------------------------------------------------------\n");printf("\n\n");}system("pause");}}if(c==-1)//账户不存在{system("color F0");system("cls");char n[20];char p[20];strcpy(n,nlog);//复制帐号if(strlen(n)==9)//完成注册,存入data.dat文档{User u;printf("************************************************************************\ n");printf("* 同学!第一次登录请完成注册*\n");printf("************************************************************************\ n");printf("\n\n");printf(" ----------------------------------------------------------------------\n");printf(" 请输入新密码\n");printf(" ----------------------------------------------------------------------\n");scanf("%s",p);strcpy(,n);strcpy(u.pw,p);FILE *f =fopen("data.dat","ab");//打开文件让指针f指向打开的文件fwrite(&u,sizeof(User),1,f);//讲以变量u的地址开始的内存区域的一个数据写到f指向的文件中,每个数据占sizeof(User)fclose(f);fflush(f);printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\注册成功///////////////////////\n\n\n");system("pause");system("cls");}if(strlen(n)==5){User u;printf("************************************************************************\ n");printf("* 老师!第一次登录请完成注册*\n");printf("************************************************************************\ n");printf("\n\n");printf(" ----------------------------------------------------------------------\n");printf(" 请输入新密码\n");printf(" ----------------------------------------------------------------------\n");scanf("%s",p);strcpy(,n);strcpy(u.pw,p);FILE *f =fopen("data.dat","ab");//打开文件让指针f指向打开的文件fwrite(&u,sizeof(User),1,f);//讲以变量u的地址开始的内存区域的一个数据写到f指向的文件中,每个数据占sizeof(User)fclose(f);fflush(f);printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\注册成功///////////////////////\n\n\n");system("pause");system("cls");}if(strlen(n)==4){User u;printf("************************************************************************\ n");printf("* 辅导员!第一次登录请完成注册*\n");printf("************************************************************************\ n");printf("\n\n");printf(" ----------------------------------------------------------------------\n");printf(" 请输入新密码\n");printf(" ----------------------------------------------------------------------\n");scanf("%s",p);strcpy(,n);strcpy(u.pw,p);FILE *f =fopen("data.dat","ab");//打开文件让指针f指向打开的文件fwrite(&u,sizeof(User),1,f);//讲以变量u的地址开始的内存区域的一个数据写到f指向的文件中,每个数据占sizeof(User)fclose(f);fflush(f);printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\注册成功///////////////////////\n\n\n");system("pause");system("cls");}goto Login;}return 0;}。

相关文档
最新文档