请假审批系统-简约版

请假审批系统

头文件headers

1.addmessage

#ifndef ADDMESSAGE_H_INCLUDED
#define ADDMESSAGE_H_INCLUDED

#include <string.h>
#include"studentmessage.h"

//增:数组录入学生信息
student addmes(char name[],int id, int cls, char reason[], int is);

#endif // ADDMESSAGE_H_INCLUDED

2.deletemessage

#ifndef DELETEMESSAGE_H_INCLUDED
#define DELETEMESSAGE_H_INCLUDED

#include"studentmessage.h"

//删:根据学号删除请假信息
int deletemeg(int id, student stu[], int people);

#endif // DELETEMESSAGE_H_INCLUDED

3.findmessage

#ifndef FINDMESSAGE_H_INCLUDED
#define FINDMESSAGE_H_INCLUDED

#include"studentmessage.h"

//查:根据学号查看学生信息
void findmesbyid(int id, student stu[], int people);

//查:根据班级查看学生信息
void findmesbyclass(int cls, student stu[], int people);

//查:根据学号和班级查看学生信息
void findbyidandcls(int id, int cls, student stu[], int people);

#endif // FINDMESSAGE_H_INCLUDED


4.loginuser

#ifndef LOGINUSER_H_INCLUDED
#define LOGINUSER_H_INCLUDED

//登录 学号和班级,数组 返回1成功 0失败
void login();

#endif // LOGINUSER_H_INCLUDED

5.registeruser

#ifndef REGISTERUSER_H_INCLUDED
#define REGISTERUSER_H_INCLUDED


//注册 名字+学号+班级+申请理由+是否审批,数组
void registermes();

#endif // REGISTERUSER_H_INCLUDED

6.studentmessage

#ifndef STUDENTMESSAGE_H_INCLUDED
#define STUDENTMESSAGE_H_INCLUDED

#define num 20
#define res 100
#define cnt 100
//#define size 100

//学生信息 名字+学号+班级+申请理由+是否审批
typedef struct students{
    char name[num];
    int id;
    int cls;
    char reason[res];
    int is;
}student;

#endif // STUDENTMESSAGE_H_INCLUDED

7.updatemessage

#ifndef UPDATEMESSAGE_H_INCLUDED
#define UPDATEMESSAGE_H_INCLUDED

#include<string.h>
#include"studentmessage.h"

//改:根据学号查看信息,没审批可修改理由,否则不能
int updatemes(int id, student stu[], int peopel);

#endif // UPDATEMESSAGE_H_INCLUDED

8.view

#ifndef VIEW_H_INCLUDED
#define VIEW_H_INCLUDED

void start();

void ends();

#endif // VIEW_H_INCLUDED

源文件sources

1.addmessage

#include"addmessage.h"

#include <string.h>
#include"studentmessage.h"

//增:数组录入学生信息 名字+学号+班级+申请理由+是否审批
student addmes(char name[num],int id, int cls, char reason[res], int is){
    student stu;
    strcpy(stu.name, name);
    stu.id = id;
    stu.cls = cls;
    strcpy(stu.reason, reason);
    stu.is = is;
    return stu;
}


2.deletemessage

#include"deletemessage.h"

#include"studentmessage.h"

//删:根据学号删除请假信息
int deletemeg(int id, student stu[], int people){
    for(int i=0;i<people;i++){
        if(id == stu[i].id) {
            for(int j=i;j<people-1;j++){
                stu[j] = stu[j+1];
            }
            return 1;
        }
    }
    return 0;
}

3.findmessage

#include<stdlib.h>
#include<stdio.h>
#include"findmessage.h"

#include"studentmessage.h"

//查:根据学号查看学生信息
void findmesbyid(int id, student stu[], int people){
    for(int i=0;i<people;i++) {
        if(id == stu[i].id){
            printf("[名字:%s,学号:%d,班级:%d,申请理由:%s,是否审批:%d]\n",stu[i].name, stu[i].id, stu[i].cls, stu[i].reason, stu[i].is);
            return;
        }
    }
    printf("学号不存在, 没有该学生\n");
}

//查:根据班级查看学生信息
void findmesbyclass(int cls, student stu[], int people){
    int flag = 0;
    for(int i=0;i<people;i++) {
        if(cls == stu[i].cls){
            flag = 1;
            printf("[名字:%s,学号:%d,班级:%d,申请理由:%s,是否审批:%d]\n",stu[i].name, stu[i].id, stu[i].cls, stu[i].reason, stu[i].is);
        }
    }
    if(flag == 0){
        printf("学号不存在, 班上没有该号学生\n");
    }
}

//查:根据学号和班级查看学生信息
void findbyidandcls(int id, int cls, student stu[], int people){
    for(int i=0;i<people;i++) {
        if(cls == stu[i].cls && id == stu[i].id){
            printf("[名字:%s,学号:%d,班级:%d,申请理由:%s,是否审批:%d]\n",stu[i].name, stu[i].id, stu[i].cls, stu[i].reason, stu[i].is);
            return;
        }
    }
    printf("学号不存在, 班上没有该号学生\n");
}

4.loginuser

#include<stdio.h>
#include"loginuser.h"

void login(){
    int id,cls;
    printf("======请先登录======\n");
    printf("请输入学号:");
    scanf("%d",&id);
    printf("请输入班级:");
    scanf("%d",&cls);
}


5.main

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include"studentmessage.h"
#include"registeruser.h"
#include"loginuser.h"
#include"view.h"
#include"addmessage.h"
#include"findmessage.h"
#include"deletemessage.h"
#include"updatemessage.h"

char name[num];
int id;
int cls;
char reason[res];
int is;
student stu[res];

int main()
{
    printf("请输入选项:0->注册 1->登录\n");
    int select;//选项
    scanf("%d",&select);

    if(select == 0) {
        registermes();//注册
    }

    login();//登录
    start();//界面展示

    printf("学生人数:");
    int people;
    scanf("%d", &people);
    printf("=========================\n");

    printf("录入学生信息:\n");
    for(int i=0;i<people;i++){
        printf("输入名字:");
        scanf("%s", name);

        printf("请输入学号:");
        scanf("%d", &id);

        printf("请输入班级:");
        scanf("%d", &cls);

        while(1){
            if(id<0){
                printf("请重新输入学号:");
                scanf("%d", &id);
            }
            if(cls<0){
                printf("请重新输入班级:");
                scanf("%d", &cls);
            }
            if(id >0 && cls>0)break;
        }
        getchar();


        printf("请输入申请理由:");
        scanf("%s", reason);

        printf("请输入是否审批:");
        scanf("%d", &is);
        getchar();

        stu[i] = addmes(name,id,cls,reason,is);
        printf("[名字:%s,学号:%d,班级:%d,申请理由:%s,是否审批:%d]\n",stu[i].name, stu[i].id, stu[i].cls, stu[i].reason, stu[i].is);
        printf("=========================\n");
    }//添加

    printf("请输入功能选项:1->查询 2->删除 3->修改\n");
    int option;
    scanf("%d", &option);

    if(option == 1){
        printf("======查询学生信息界面======\n");
        printf("请输入选项: 0:->用学号查 1->用班级查 2->用学号和班级查\n");
        int opt;
        scanf("%d",&opt);
        if(opt == 0){
           printf("请输入学号:");
           int id1;
           scanf("%d",&id1);
           findmesbyid(id1, stu, people);
        } else if(opt == 1){
          printf("请输入班级:");
          int cls1;
          scanf("%d",&cls1);
          findmesbyclass(cls1, stu, people);
        } else if(opt == 2){
          printf("请输入学号:");
          int id1;
          scanf("%d",&id1);
          printf("请输入班级:");
          int cls1;
          scanf("%d",&cls1);
          findbyidandcls(id1,cls1,stu,people);
        }
        printf("=========================\n");
    }else if(option == 2){
        printf("======删除学生信息界面======\n");
        printf("请输入学号:");
        int id1;
        scanf("%d",&id1);
        int pro = deletemeg(id1,stu,people);
        if(pro == 1){
            printf("删除成功!\n");
            people -= 1;
            if(people == 0){
                printf("没有学生请假!\n");
            } else if(people > 0) {
                for(int i=0;i<people;i++){
                    printf("[名字:%s,学号:%d,班级:%d,申请理由:%s,是否审批:%d]\n",
                        stu[i].name, stu[i].id, stu[i].cls, stu[i].reason, stu[i].is);
                }
            }
        } else if(pro == 0){
            printf("删除失败,学号不存在!\n");
        }
        printf("=========================\n");
    }else if(option == 3){
        printf("======修改学生信息界面======\n");
        printf("请输入学号:");
        int id1;
        scanf("%d",&id1);
        int pro = updatemes(id1,stu,people);
        if(pro == 1){
            printf("修改失败,已经被审批!\n");
        } else if(pro == 0){
            printf("请输入新理由:");
            char newreason[res];
            scanf("%s",newreason);
            for(int i=0;i<people;i++){
                if(stu[i].id == id1) {
                    strcpy(stu[i].reason, newreason);
                }
                printf("[名字:%s,学号:%d,班级:%d,申请理由:%s,是否审批:%d]\n",
                    stu[i].name, stu[i].id, stu[i].cls, stu[i].reason, stu[i].is);
            }
        }
    }

    ends();//结束
    return 0;
}

6.registeruser

#include<stdio.h>
#include"studentmessage.h"
#include"registeruser.h"
#include"addmessage.h"

void registermes(){
    char name[num];
    int id;
    int cls;
    char reason[res];
    int is;
    student stu;

    printf("======注册页面======\n");
    printf("输入名字:");
    scanf("%s", name);

    printf("请输入学号:");
    scanf("%d", &id);

    printf("请输入班级:");
    scanf("%d", &cls);
    getchar();

    printf("请输入申请理由:");
    scanf("%s", reason);

    printf("请输入是否审批:");
    scanf("%d", &is);
    getchar();

    stu = addmes(name, id, cls, reason, is);
    printf("注册成功\n");
    printf("名字:%s\n学号:%d\n班级:%d\n申请理由:%s\n是否审批:%d\n",
    stu.name, stu.id, stu.cls, stu.reason, stu.is);
}


7.updatemessage

#include"updatemessage.h"

#include<string.h>
#include"studentmessage.h"

//改:根据学号查看信息,没审批可修改理由,否则不能
int updatemes(int id, student stu[], int peopel){
    for(int i=0;i<peopel;i++){
        if(stu[i].id == id){
            return stu[i].is;
        }
    }
}


8.view

#include<stdio.h>
#include"view.h"

extern int id, cls;

void start(){
    printf("======欢迎进入请假审批系统======\n");
}

void ends(){
    printf("程序结束\n");
}

(功能超简单,超级简洁的代码)

想知道怎么用codeblocks创建项目,可以直接在博客园里搜索 “codeblocks创建项目”
posted @ 2026-07-12 10:42  -柘  阅读(14)  评论(0)    收藏  举报