请假审批系统-简约版
请假审批系统
头文件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");
}
(功能超简单,超级简洁的代码)

浙公网安备 33010602011771号