C语言高校人员管理系统

news2024/11/26 13:29:09

该系统使用easyx插件。

以下是部分页面

以下是部分源码,需要源码的私信

#define _CRT_SECURE_NO_WARNINGS 1//vs的取消报警
#include<easyx.h>
#include<stdio.h>
#include<stdlib.h>


#define width 1280
#define height 840
#define font_w 35  //字体宽度
#define font_h 90  //字体高度
#define Max_person 100
typedef struct
{
	char name[50];
	char id[50];
	char sex[50];
	char age[50];

	char department[50];//
	char major[50];
	char title[50];
}Teacher;//教师

Teacher teacher[Max_person];
int count_teacher = 0;//记录老师数量
typedef struct
{
	char name[50];
	char id[50];
	char sex[50];
	char age[50];

	char lab[50];
	char job[50];
}Experimenter;//实验人员
int count_exper = 0;
Experimenter exper[Max_person];

typedef struct
{
	char name[50];
	char id[50];
	char sex[50];
	char age[50];

	char politics[50];
	char title[50];
}Staff;//行政人员
int count_staff = 0;
Staff staff[Max_person];
typedef struct
{
	char name[50];
	char id[50];
	char sex[50];
	char age[50];

	char department[50];//
	char politics[50];
	char major[50];
	char title[50];
}Teacher_Adm;//教师兼行政人员
int count_tadm = 0;
Teacher_Adm teacher_adm[Max_person];

int Choose_NUmber()//构造一个选择函数--后期只需要进行调用即可
{
	HWND hwnd = GetHWnd();

	while (1)
	{
		char input[15];
		InputBox(input, 15, "输入你的选择", "选择", 0, 0, 0, false);
		int numb_input = atoi(input);//将字符转为整形
		if (numb_input == 1)
		{
			return 1;
		}
		else if (numb_input == 2)
		{
			return 2;
		}
		else if (numb_input == 3)
		{
			return 3;
		}
		else if (numb_input == 4)
		{
			return 4;
		}
		else if (numb_input == 5)
		{
			return 5;
		}
		else if (numb_input == 6)
		{
			return 6;
		}
		else if (numb_input == 0)
		{
			return 0;
		}
		else
		{
			MessageBox(hwnd, "输入错误\n重新输入", "提示", MB_OK);
		}
	}

}

int choose_buffer()//用于调用阻塞选择
{
	while (1)//自带缓冲
	{
		if (GetAsyncKeyState(VK_ESCAPE) & 0x8000)//按下esc键,退出程序 
		{
			return 0;
		}
		else if ((GetAsyncKeyState(VK_SHIFT) & 0x8000) && (GetAsyncKeyState('X') & 0x8000))//上一页
		{
			return 1;
		}
		else if ((GetAsyncKeyState(VK_SHIFT) & 0x8000) && (GetAsyncKeyState('X') & 0x8000))//下一页
		{
			return 2;
		}
	}

}

int Initial_person()
{
	FILE* fpt = fopen("./teacher.txt", "r");
	FILE* fps = fopen("./staff.txt", "r");
	FILE* fpe = fopen("./exper.txt", "r");
	FILE* fpd = fopen("./teacher_adm.txt", "r");
	if (!fpt)//出现一个打不开就进行报错
	{
		printf("文件打开失败\n");
		return 0;
	}
	if (!fps)
	{
		printf("文件打开失败\n");
		return 0;
	}
	if (!fpe)
	{
		printf("文件打开失败\n");
		return 0;
	}
	if (!fpd)
	{
		printf("文件打开失败\n");
		return 0;
	}
	int i = 0;
	while (fscanf(fpt, "%s%s%s%s%s%s%s", teacher[i].name, teacher[i].id, teacher[i].age, teacher[i].sex, teacher[i].department, teacher[i].major, teacher[i].title) != EOF)
	{
		i++;
	}
	count_teacher = i;
	i = 0;

	while (fscanf(fpe, "%s%s%s%s%s%s", exper[i].name, exper[i].id, staff[i].age, exper[i].sex, exper[i].lab , exper[i].job ) != EOF)
	{
		i++;
	}
	count_staff = i;
	i = 0;

	while (fscanf(fps, "%s%s%s%s%s%s", staff[i].name, staff[i].id, staff[i].age, staff[i].sex, staff[i].politics, staff[i].title) != EOF)
	{
		i++;
	}
	count_exper = i;
	i = 0;

	while (fscanf(fpd, "%s%s%s%s%s%s%s%s", teacher_adm[i].name, teacher_adm[i].id, teacher_adm[i].age, teacher_adm[i].sex, teacher_adm[i].department , teacher_adm[i].major , teacher_adm[i].politics , teacher_adm[i].title ) != EOF)
	{
		i++;
	}
	count_tadm = i;
	fclose(fpt);
	fclose(fps);
	fclose(fpe);
	fclose(fpd);
	return 0;
}

int Updata_File()
{
	FILE* fpt = fopen("./teacher.txt", "w+");
	FILE* fps = fopen("./staff.txt", "w+");
	FILE* fpe = fopen("./exper.txt", "w+");
	FILE* fpd = fopen("./teacher_adm.txt", "w+");
	if (!fpt)//出现一个打不开就进行报错
	{
		printf("文件打开失败\n");
		return 0;
	}
	if (!fps)
	{
		printf("文件打开失败\n");
		return 0;
	}
	if (!fpe)
	{
		printf("文件打开失败\n");
		return 0;
	}
	if (!fpd)
	{
		printf("文件打开失败\n");
		return 0;
	}
	int i = 0;
	while (i < count_teacher)
	{
		fprintf(fpt, "%s %s %s %s %s %s %s\n", teacher[i].name, teacher[i].id, teacher[i].age, teacher[i].sex, teacher[i].department, teacher[i].major, teacher[i].title);
		i++;
	}
	i = 0;
	while (i < count_exper)
	{
		fprintf(fpe, "%s %s %s %s %s %s\n", exper[i].name, exper[i].id, staff[i].age, exper[i].sex, exper[i].lab, exper[i].job);
		i++;
	}
	i = 0;
	while (i < count_staff)
	{
		fprintf(fps, "%s %s %s %s %s %s\n", staff[i].name, staff[i].id, staff[i].age, staff[i].sex, staff[i].politics, staff[i].title);
		i++;
	}
	i = 0;
	while (i < count_tadm)
	{
		fprintf(fpd, "%s %s %s %s %s %s %s %s\n", teacher_adm[i].name, teacher_adm[i].id, teacher_adm[i].age, teacher_adm[i].sex, teacher_adm[i].department, teacher_adm[i].major, teacher_adm[i].politics, teacher_adm[i].title);
		i++;
	}


	fclose(fpt);
	fclose(fps);
	fclose(fpe);
	fclose(fpd);
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1938582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《样式设计002:tab切换与底部swiper滑动块》

描述&#xff1a;在开发小程序过程中&#xff0c;发现一些不错的案例&#xff0c;平时使用也比较多&#xff0c;稍微总结了下经验&#xff0c;以下内容可以直接复制使用&#xff0c;希望对大家有所帮助&#xff0c;废话不多说直接上干货&#xff01; 一、tab切换与底部swiper滑…

AD9826 spi读写源码贡献

AD9826是一款专为成像应用设计的模拟信号处理器&#xff0c;它采用三通道架构&#xff0c;设计用于对三线彩色CCD阵列的输出进行采样和调理。这款处理器集成了多个关键功能组件&#xff0c;包括输入箝位电路、相关双采样器(CDS)、偏移DAC和可编程增益放大器(PGA)&#xff0c;并…

新手小白的pytorch学习第八弹------分类问题模型和简单预测

目录 1 启动损失函数和优化器2 训练模型创建训练和测试循环 3 预测和评估模型 这篇是接着新手小白的pytorch学习第七弹------分类问题模型这一篇的&#xff0c;代码也是哟~ 1 启动损失函数和优化器 对于我们的二分类问题&#xff0c;我们经常使用 binary cross entropy 作为损…

秋招突击——7/19——队列同步器AQS学习

文章目录 引言基础知识简介AQS接口和示例第一类&#xff1a;访问和修改同步状态的方法第二类&#xff0c;5个重写的方法第三类&#xff0c;9个模板方法 队列同步器实现原理同步队列独占式同步获取和释放共享式同步获取和释放独占式同步获取和释放 相关面试题怎么理解Lock和AQS的…

如何解决热插拔时的电压过冲

摘要 热插拔是指将上电电压源连接到电子器件的输入电源或电池连接器。热插拔产生的电压瞬态尖峰会损坏器件内部的集成电路。该文解释了此类电压瞬变的根本原因&#xff0c;并提供了防止这些瞬变损坏电子产品中的集成电路(IC) 的可能设计。 1 引言 当将高于 5V 的 USB 适配器…

达梦数据库的系统视图v$dmwatcher

达梦数据库的系统视图v$dmwatcher 查询当前登录实例所对应的守护进程信息&#xff0c;注意一个守护进程可以同时守护多个组的实例&#xff0c;因此查询结果中部分字段&#xff08;N_GROUP、SWITCH_COUNT&#xff09;为守护进程的全局信息&#xff0c;并不是当前登录实例自身的…

BUUCTF - Web - 1

文章目录 1. [极客大挑战 2019]EasySQL 1【SQL注入-万能密码】2. [极客大挑战 2019]Havefun 1【前端代码审计-注释泄漏】3. [HCTF 2018]WarmUp 1【PHP代码审计】4. [ACTF2020 新生赛]Include 1【PHP伪协议】5. [ACTF2020 新生赛]Exec 1【命令注入-基础】6. [GXYCTF2019]Ping Pi…

张量网络碎碎念:CGC

在本系列 上一篇文章 中&#xff0c;我介绍了张量网络的一些基础概念。其中很大一部分来自 github 上一个教程。事实上&#xff0c;该教程的大部分内容来自 e3nn 官网。 除了上篇文章介绍的一些可视化技巧&#xff0c;官网还提供了其他一些可视化模块。使用这些功能能使我们更深…

windows USB 设备驱动开发-开发Type C接口的驱动程序(三)

编写 USB Type C 端口控制器驱动程序 如果 USB Type-C 硬件实现 USB Type-C 或电源传送 (PD) 物理层&#xff0c;但未实现供电所需的状态机&#xff0c;则需要编写 USB Type-C 端口控制器驱动程序。 在 Windows 10 版本 1703 中&#xff0c;USB Type-C 体系结构已得到改进&am…

云监控(华为) | 实训学习day5(10)

Gaussdb安装和连接idea GaussDB的安装 首先关闭防火墙 systemctl disable firewalld.service 永久关闭防火墙&#xff08;发生在下次启动&#xff09; systemctl stop firewalld.service 关闭本次防火墙 查看防火墙状态systemctl status firewalld.service 查询的状态是Dead表…

【算法】百钱买百鸡问题算法详解及多语言实现

问题描述 百钱买百鸡问题是一个经典的数学问题&#xff0c;题目要求用100文钱买100只鸡&#xff0c;公鸡5文钱一只&#xff0c;母鸡3文钱一只&#xff0c;小鸡3只一文钱&#xff0c;问公鸡、母鸡、小鸡各买多少只&#xff1f; 目录 问题描述​编辑 解决方案 Python实现 Ja…

选择Maya进行3D动画制作与渲染的理由

如果你对3D动画充满热情并追求成为专业3D动画师的梦想&#xff0c;你一定听说过Maya——近年来3D动画的行业标准。Maya被3D艺术家广泛使用&#xff0c;你是否想知道为什么Maya总是他们的首选&#xff1f;下面一起来了解下。 一、什么是Maya&#xff1f; 由Autodesk开发的Maya是…

wxid转微信号

7.21由于微信的再一次调整&#xff0c;能够转出微信号的接口已经和谐&#xff0c;根据客户要求琢磨了几个小时 发现新的接口也是可以批量转换的

springcolud学习06Hystrix

Hystrix Hystrix是Netflix开发的一个用于处理分布式系统中延迟和容错问题的库。它主要用于防止分布式系统中的雪崩效应,通过在服务之间添加延迟容错和故障处理机制来增强系统的弹性。 服务熔断 类似于电路中的断路器,当失败率超过阈值时,Hystrix 可以自动地开启断路器,停…

c++习题12-开关灯

目录 一&#xff0c;题目 二&#xff0c;思路 三&#xff0c;代码 一&#xff0c;题目 用例输入 1 10 10 用例输出 1 1,4,9 二&#xff0c;思路 创建可以存放路灯亮灭情况的数组&#xff0c;路灯的编号从1开始&#xff0c;因此在使用for循环去初始化数组时&#xff…

初识模板【C++】

P. S.&#xff1a;以下代码均在VS2022环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;LiUEEEEE                        …

编写小程序用什么软件

编写小程序时&#xff0c;可以使用多种软件或工具&#xff0c;这些工具通常提供了丰富的开发功能和组件&#xff0c;方便开发者进行小程序的创建、开发和调试。以下是一些常用的编写小程序的软件和工具&#xff1a; DIY官网可视化工具 可视化拖拽开发神器|无须编程 零代码基础…

HashMap原理详解,HashMap源码解析

HashMap是一个数组链表和红黑树的结合体 HashMap的第一层表现是数组&#xff0c;HashMap默认创建一个长度为十六的数组来储存数据&#xff0c;但不同的是&#xff0c;它并非是先放在第0个索引&#xff0c;然后第一个索引那么放置&#xff0c;而是通过key获取对应的32位hash值&a…

OAuth2.0 or Spring Session or 单点登录流程

1.社交登录 2.微博社交登录 第三方登录 1.登录微博 2.点击网站接入 3.填写完信息&#xff0c;到这里&#xff0c;写入成功回调 和 失败回调 是重定向&#xff0c;所以可以写本地的地址 3.认证 分布式Session spring-session 域名不一样 发的 jSessionId 就不同&#xff0c…

uniapp,vue3上传图片组件封装

首先创建一个 components 文件在里面进行组件的创建 下面是 vip组件的封装 也就是图片上传组件 只是我的命名是随便起的 <template><!--图片 --><view class"up-page"><!--图片--><view class"show-box" v-for"(item,ind…