⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.h

📁 连接到数据库(sql和access)
💻 H
字号:
/*menu.h:header file for menu2.c and menu3.c*/
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include <ctype.h>
#include <string.h>
#include<time.h>
/*每个字符串数据多一位,用来存储'\0'*/
/*院系结构体*/
typedef struct Node_D
{
	char DNO[3];
	char DN[21];
    char D_DATE[8];
    char D_HEAD[11];
    char D_ADDRESS[21];
	char D_PHONE[13];
	struct Node_D *next;
}DEPARTMENT;

/*教师结构体*/
typedef struct Node_T
{
	char TNO[11];
	char TN [21];
	char T_SEX[3];
	char T_PROF[11];
	char T_BIRTHDAY[11];
	char T_DATE[8];
	double T_SALARY;
	char DNO[3];
	struct Node_T *next;
}TEACHER;

/*班级结构体*/
typedef struct Node_C
{
	char CNO[11];
	char CN[11];
	char C_DATE[8];
	char C_CLASSROOM[15];
	int  C_NUM;
	char DNO[3];
    char TNO[11];
    struct Node_C *next;
}CLASS;

/*专业结构体*/
typedef struct Node_SP
{
	char SP_NO[3];
	char SP_N[21];
	char SP_DATE[8];
	int  SP_NUM;
	char DNO[3];
    struct Node_SP *next;
}SPECIALITY;

/*学生结构体*/
typedef struct Node_S
{
	char SNO[11];
	char SN[21];
	char S_SEX[3];
	char S_BIRTHDAY[11];
	char S_DATE[8];
	char S_SCHOOL[31];
	double S_GRADE;
	char S_PHONE[13];
	char S_ADDRESS[31];
	char SP_NO[3];
	char CNO[11];
	char CH_NO[6];
    struct Node_S *next;
}STUDENT;

/*课程结构体*/
typedef struct Node_CO
{
	char CO_NO[11];
	char CO_N[21];
	int CO_T_TIME;
	int CO_E_TIME;
	int CO_S;
	char CO_BOOK[25];
	char DNO[3];
	struct Node_CO *next;
}COURSE;

/*活动结构体*/
typedef struct Node_A
{
	char ANO[4];
	char AN[31];
	char A_DATE[8];
	struct Node_A *next;
}ACTIVITY;

/*寝室结构体*/
typedef struct Node_CH
{
	char CH_NO[6];
	char CH_ADDRESS[31];
	int CH_NUM;
	struct Node_CH *next;
}CHAMBER;

/*入校注册结构体*/
typedef struct Node_R
{
	char RNO[6];
	char DNO[3];
	int R_COST;
	struct Node_R *next;
}REGISTER;

/*选修结构体*/
typedef struct Node_SC
{
	char SNO[11];
	char CO_NO[11];
	char SC_CLASS[7];
	double SC_GRADE;
	char TNO[11];
	char SC_DATE[8];
	struct Node_SC *next;
}SC;

/*教学计划结构体*/
typedef struct Node_PROJECT
{
	char SP_NO[3];
	char CO_NO[11];
	char CLASS[11];
	struct Node_PROJECT *next;
}PROJECT;

/*讲授结构体*/
typedef struct Node_TC
{
	char TNO[11];
	char CO_NO[11];
	char TC_T_DATETIME[21];
	char TC_T_ADDRESS[10];
	char TC_E_DATETIME[21];
	char TC_E_ADDRESS[11];
	struct Node_TC *next;
}TC;

/*参加活动结构体*/
typedef struct Node_J
{
	char ANO[4];
	double J_GRADE;
	char J_OTHER[21];
	char SNO[11];
	struct Node_J *next;
}JOINACTIVITY;

/*入学报道结构体*/
typedef struct Node_L
{
	char RNO[6];
	char SNO[11];
	char L_DATE[8];
	struct Node_L *next;
}LOGON;

typedef struct
{
	STUDENT       *studenthead;
	TEACHER       *teacherhead;
	COURSE        *coursehead;
	SPECIALITY    *specialityhead;
	DEPARTMENT    *departmenthead;
	CLASS         *classhead;
	PROJECT       *projecthead;
	REGISTER      *registerhead;
	SC            *schead;
	TC            *tchead;
	JOINACTIVITY  *joinactivityhead;
	LOGON         *logonhead;
	ACTIVITY      *activityhead;
	CHAMBER       *chamberhead;
	char          str1[50],str2[50];

}sys;


typedef struct tm TM;            //简写时间结构
//新生报到结构体
typedef struct studentinformation  //学生信息节点
{
	char SNO[11];              //学号
	TM arrtime;                //到达时间
	TM logtime;                //完成时间
	TM waitime;                //等待时间
	int winnum;                //报名窗口号
	struct studentinformation *next;     //指向下一个结点
}STUINFO;
#define  MAXSIZE 1000

struct tm;                      
//声明系统时间结构

typedef struct tm TM;            //简写时间结构


typedef struct waitingqueue    //窗口队列
{
	STUINFO *front,*rear;      
	int nodeno;                //结点个数
}QUEUE;

typedef struct transaction     //事件信息结构
{
	char obj[11];              //事件对象
	TM haptime;                //事件发生时间
	int acttype;               //事件类型,到达为1,完成为2
	int num;                   //事件窗口号码 
	int nodeno;                //此时节点个数 
	TM waitime;
}TRANSA;





/*纠错函数*/
	int Force(void);
	int IsDate(char temp[15],int flag);



//menu2.c
void delete_sys(int choice,sys find,sys *all);
sys Input(int n[3],int i,sys *all);

//menu3.c
sys find(int choice[3],char ch1[50],char ch2[50],sys *all);
void findmore(int choice[3],char ch[50],sys *all,sys reply[100]);
void display(int table,int choice[13],sys dis);
void sort(int table,sys sort_grade[100]);
STUINFO *transport(sys *all);
/*end of menu.h*/

QUEUE *createqueue();
//创建窗口队列 
int selectqueue(QUEUE *a[],int i); 
//参数为窗口头数组名及窗口个数,返回最少人数窗口,无窗口返回0
int isempty(QUEUE *q);
//判断链队列q是否为空,为空返回1,否则返回0
STUINFO *front(QUEUE *q);
//返回链队列q的队头元素的地址
int dequeue(QUEUE *q);
//将链队列q的队头元素出队列,成功返回1,失败返回0
int dequeue(QUEUE *q);
//将链队列q的队头元素出队列,成功返回1,失败返回0
TM addtime(TM x,int y);
//处理时间的加法函数 ,y限制为分钟数
TM getwaitime(TM arrtime,TM logtime);         
//获取等待时间
int cmptime(TM x,TM y);
//对两个时间进行比较,如果左边大于右边返回1,否则返回0
void dequeueall(QUEUE *a[],TM y,int i,int j);
int enqueue(QUEUE *a[],int i,int j,STUINFO x);
//将元素x放入链队列q的队尾,成功返回1,失败返回0
int setnull(QUEUE *q);
//初始化队列 
void swap();
//将事件按时间进行排序
int gethour();
//判断小时的合法性
int getmin();
//判断分钟的合法性
int registmenu(sys *all);
//新生报名主函数

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -