(C語言設計系統)利用EasyX完成學校工資管理系統

2020-08-09 10:32:39

標頭檔案:CommonData.h,用來定義本系 本係統中所用到的各種重要的數據結構

/*標頭檔案:CommonData.h,用來定義本系 本係統中所用到的各種重要的數據結構*/
#ifndef	__COMMONDATA__
#define __COMMONDATA__
typedef struct 
{
    int		isValid;					//標記該教師記錄是否有效:1表示有效,0表示無效,別的數位非法
    char  TNo[12];//請輸入11位教師編號;
    char  TGender;//教師性別:M表示男,F表示女;
    char  TName[21];//教師姓名;
    int  TGrade;//教師所教年級;
    int  TClass;//教師所教班級程式碼;
    float  TSalary;//教師工資;
}TeacherBasisInfor;
typedef struct
{
    char UName[20];//使用者名稱,不超過19個字元;
    char UPassword[20];//使用者名稱密碼,不超過19個字元;
}UserInfo;
 #endif

標頭檔案Login.h,處理歡迎介面、使用者的登錄及註冊功能,使用者登錄資訊儲存在檔案UserInfo.dat檔案中

/*標頭檔案Login.h,處理歡迎介面、使用者的登錄及註冊功能,使用者登錄資訊儲存在檔案UserInfo.dat檔案中*/
#include <stdio.h>
#include "CommonData.h"
#include <conio.h>
#include "graphics.h"
#include "windows.h"

/************************************************************/
/*函數:int UserRegister()									*/
/*功能:使用者註冊介面,返回0									*/
/*參數:無													*/
/*輸入:使用者輸入使用者名稱及密碼								*/
/*輸出:註冊成功資訊										*/
/*備註:本函數沒有處理使用者名稱重複的問題,請註冊時自行注意	*/
/************************************************************/
int UserRegister()
{
	UserInfo oneUser;
	char usernameInput[21];			//使用者輸入的使用者名稱
	char passwordInput[21];			//使用者輸入的密碼
	int  isExist = false;				//表示使用者輸入的使用者名稱是否存在
	FILE* fp;
	if ((fp = fopen("UserInfo.dat", "rb")) == NULL)	//使用者資訊檔案不存在
	{
		fp = fopen("UserInfo.dat", "wb+");			//新建之
		fclose(fp);
	}
	else
		fclose(fp);
	fp = fopen("UserInfo.dat", "rb");
	InputBox(usernameInput, 21, "歡迎註冊!\n請輸入使用者名稱(20個字元以內):");
	while (true)
	{
		isExist = false;
		rewind(fp);
		while (!feof(fp))
		{
			int length = fread(&oneUser, sizeof(oneUser), 1, fp);
			if (length == 0)
				break;
			if (strcmp(oneUser.UName, usernameInput) == 0)	//使用者存在
			{
				isExist = true;
				break;
			}
		}
		if (isExist)								//如果使用者已經存在,提示重新輸入使用者名稱
		{
			char strMsg[100];
			sprintf(strMsg, "使用者名稱%s已經存在!\n請重新輸入一個使用者名稱:", usernameInput);
			memcpy(usernameInput, 0, 21);			//清空原來輸入的使用者名稱
			InputBox(usernameInput, 21, strMsg);
		}
		else
			break;
	}
	fclose(fp);
	InputBox(passwordInput, 21, "請輸入密碼(20個字元以內):");
	strcpy(oneUser.UName, usernameInput);
	strcpy(oneUser.UPassword, passwordInput);
	fp = fopen("UserInfo.dat", "ab+");
	fwrite(&oneUser, sizeof(oneUser), 1, fp);		//將使用者資訊儲存到檔案中去
	fclose(fp);
	HWND wnd = GetHWnd();						//獲取當前視窗控制代碼
	::MessageBox(wnd, "註冊成功,請登錄系統", "註冊成功", MB_OK);	//彈出註冊成功提示框
	return 0;
}
/************************************************************/
/*函數:int UserLogin()										*/
/*功能:使用者登錄介面及驗證,如果登錄成功,返回1,失敗返回0	*/
/*參數:無													*/
/*輸入:使用者輸入使用者名稱及密碼								*/
/*輸出:登錄是否成功資訊									*/
/************************************************************/
int UserLogin()
{
	FILE* fp;
	int n;
	UserInfo oneUser;
	char usernameInput[21];			//使用者輸入的使用者名稱
	char passwordInput[21];			//使用者輸入的密碼
	InputBox(usernameInput, 21, "請輸入使用者名稱(20個字元以內):");
	InputBox(passwordInput, 21, "請輸入密碼:");
	if ((fp = fopen("UserInfo.dat", "rb")) == NULL)	//使用者資訊檔案不存在,登錄失敗,提示使用者先註冊
	{
		HWND wnd = GetHWnd();
		::MessageBox(wnd, "對不起,使用者名稱不存在,請註冊!", "登錄失敗", MB_OK);
		return UserRegister();
	}
	while (!feof(fp))
	{
		int length = fread(&oneUser, sizeof(oneUser), 1, fp);
		if (length == 0)
			break;
		if (strcmp(oneUser.UName, usernameInput) == 0)	//使用者存在
		{
			n = 0;
			do {
				n++;
				if (strcmp(oneUser.UPassword, passwordInput) == 0)	//密碼匹配
				{
					fclose(fp);
					HWND wnd = GetHWnd();
					::MessageBox(wnd, "登錄成功!", "登錄成功", MB_OK);
					return 1;							//登錄成功
				}
				else
				{
					InputBox(passwordInput, 21, "密碼錯誤,請重新輸入:");
				}
			} while (n < 3);
			break;
		}
	}
	fclose(fp);
	HWND wnd = GetHWnd();
	::MessageBox(wnd, "登錄失敗,請檢查使用者名稱和密碼後重新登錄!", "登錄失敗", MB_OK);
	return 0;											//登錄失敗
}
int Welcome()//用於使用者註冊,登錄
{
	int key;	
                char s1[]="學校工資管理系統";
	char s2[]="1.使用者登錄";
	char s3[]="2.使用者註冊";
	char s4[]="0.退出系統";
	char s5[]="請選擇功能:";
	char s6[]="開發:XXXXXXXXXXXX";
	char s7[]="地址:XXXXXXXXXXXX";						//使用者輸入的功能號
	while(TRUE)
	{
	            	 setcolor(DARKGRAY);
		            setfont(40, 0, "黑體");
		            outtextxy(180, 10, s1);
		             setcolor(YELLOW);
	                  setfont(25,0,"宋體");
	                outtextxy(230,100,s5);
	                setcolor(BLACK);
	                setfont(35,0,"宋體");
	                outtextxy(230,150,s2);
	                outtextxy(230,220,s3);
	                outtextxy(230,290,s4);
	                setfont(20,0,"LIGHTGRAY");
	                outtextxy(10,450,s6);
	                outtextxy(398,450,s7);
		if(kbhit())						//如果某鍵被按下
		{
			key=getch();				//讀取該鍵
			if(key=='1')				//如果劃'1',表示使用者登錄
			{
				int res=UserLogin();
				return res;
			}
			else if(key=='2')			//如果是'2',表示使用者註冊
			{
				int res=UserRegister();
				return res;
			}else if(key=='0')			//如果是'0',表示退出程式
			{
				HWND wnd = GetHWnd();
				if(MessageBox(wnd,"是否退出系統?\n","退出系統", MB_ICONQUESTION | MB_YESNO)==IDYES)
				{
				closegraph();
				exit(0);
				}
			}
		}
	}
}

效果圖如下:
在这里插入图片描述

主要功能程式碼

#include <stdio.h>
#include <string.h>
#include "CommonData.h"
#include <conio.h>
#include "graphics.h"
int InputTeaBasisInfo()//輸入教師資訊
{
	HWND wnd = GetHWnd();
	TeacherBasisInfor oneTea;
	char TNoInput[12];//請輸入11位教師編號;
	char TGenderInput[2];//教師性別:M表示男,F表示女;
	char TNameInput[21];//教師姓名;
	char TGradeInput[5];//教師所教專業程式碼;
	char TClassInput[3];//教師所教班級程式碼;
	char TSalaryInput[10];//教師工資;
	int  len;							//使用者輸入的字元長度
	int  isExist;						//是否存在
	int  isValid;						//輸入是否合法
	FILE* fp;
	if ((fp = fopen("TeaBasIn.dat", "rb")) == NULL)	//學生基本資訊檔案不存在
	{
		fp = fopen("TeaBasIn.dat", "wb+");
		fclose(fp);
	}
	else
		fclose(fp);
	InputBox(TNoInput, 12, "請輸入11位教師編號");
	len = strlen(TNoInput);
	while (len != 11)
	{
		MessageBox(wnd, "教師編號只能爲11位!\n請重新輸入", "編號錯誤", MB_OK | MB_ICONWARNING);
		InputBox(TNoInput, 12, "請輸入11位教師編號");
		len = strlen(TNoInput);
	}
	isExist = false;
	fp = fopen("TeaBasIn.dat", "rb");				//重新開啓教師基本資訊檔案
	while (!feof(fp))
	{
		int length = fread(&oneTea, sizeof(TeacherBasisInfor), 1, fp);
		if (length == 0)
			break;
		if (strcmp(oneTea.TNo, TNoInput) == 0)	//該教師編號已存在
		{
			isExist = true;
			break;
		}
	}
	fclose(fp);
	if (isExist)						//如果該編號已存在,提示錯誤,直接返回
	{
		char strMsg[100];
		sprintf(strMsg, "該教師編號%s(%s)已存在,請查正後再錄入。\n錄入教師失敗!",
			oneTea.TNo, oneTea.TName);
		MessageBox(wnd, strMsg, "編號重複,新增失敗", MB_OK | MB_ICONWARNING);
		return 0;
	}
	InputBox(TNameInput, 21, "請輸入教師姓名");
	len = strlen(TNameInput);
	while (len <= 0)
	{
		MessageBox(wnd, "姓名不能爲空!\n請重新輸入", "姓名錯誤", MB_OK | MB_ICONWARNING);
		InputBox(TNameInput, 21, "請輸入教師姓名");
		len = strlen(TNameInput);
	}
	InputBox(TGenderInput, 2, "請輸入教師性別(M男,F女):");
	len = strlen(TGenderInput);
	while (len != 1 || TGenderInput[0] != 'M' && TGenderInput[0] != 'F')
	{
		MessageBox(wnd, "性別只能是M或F!\n請重新輸入", "性別錯誤", MB_OK | MB_ICONWARNING);
		InputBox(TGenderInput, 2, "請輸入教師性別(M男,F女):");
		len = strlen(TGenderInput);
	}
	do {
		isValid = true;
		InputBox(TGradeInput, 5, "請輸入教師所教年級(四位數,如:2015)");
		if (strlen(TGradeInput) < 4)
		{
			MessageBox(wnd, "輸入年級只能是4位元整數,如2015\n請重新輸入", "輸入年級錯誤", MB_OK);
			isValid = false;
			continue;
		}
		int i = 0;
		while (TGradeInput[i] != '\0')
		{
			if (TGradeInput[i] < '0' || TGradeInput[i]>'9')
			{
				isValid = false;
				MessageBox(wnd, "輸入年級只能是4位元整數,如2015\n請重新輸入", "輸入年級錯誤", MB_OK);
				break;
			}
			i++;
		}
	} while (!isValid);
	do {
		isValid = true;
		InputBox(TClassInput, 5, "請輸入教師所教班級(1-2位整數,如:2)");
		if (strlen(TClassInput) < 1)
		{
			MessageBox(wnd, "輸入班級只能是1或2位整數,如2\n請重新輸入", "輸入班級錯誤", MB_OK);
			isValid = false;
			continue;
		}
		int i = 0;
		while (TClassInput[i] != '\0')
		{
			if (TClassInput[i] < '0' || TClassInput[i]>'9')
			{
				isValid = false;
				MessageBox(wnd, "輸入班級只能是1或2位整數,如2\n請重新輸入", "輸入班級錯誤", MB_OK);
				break;
			}
			i++;
		}
	} while (!isValid);
	do {
		isValid = true;
		InputBox(TSalaryInput, 10, "請輸入教師工資");
		if (TSalaryInput[0] == '0')
		{
			MessageBox(wnd, "工資首位不能爲零", "輸入工資錯誤", MB_ICONWARNING | MB_OK);
			isValid = false;
			continue;
		}
		int i = 0;
		while (TSalaryInput[i] != '\0')
		{
			if (TSalaryInput[i] < '0' || TSalaryInput[i]>'9')
			{
				isValid = false;
				MessageBox(wnd, "工資首位不能爲零,每位都爲整數", "輸入工資錯誤", MB_OK);
				break;
			}
			i++;
		}
	} while (!isValid);
	char strOneTeaInfor[200] = "";
	sprintf(strOneTeaInfor, "你錄入的教師資訊如下:\n\r編號:%s\n\r姓名:%s\n\r性別:%s\n\r所教年級:%s\n\r所教班級:%s\n\r工資:  %s\n\r確認儲存嗎?",
		TNoInput, TNameInput, TGenderInput, TGradeInput, TClassInput, TSalaryInput);
	while (true)
	{
		if (MessageBox(wnd, strOneTeaInfor, "確認儲存", MB_YESNO) == IDYES)	//確認儲存
		{
			TeacherBasisInfor tempTea;
			tempTea.isValid = 1;
			strcpy(tempTea.TNo, TNoInput);
			strcpy(tempTea.TName, TNameInput);
			tempTea.TGender = TGenderInput[0];
			sscanf(TGradeInput, "%d", &(tempTea.TGrade));
			sscanf(TClassInput, "%d", &(tempTea.TClass));
			sscanf(TSalaryInput, "%f", &(tempTea.TSalary));
			fp = fopen("TeaBasIn.dat", "ab+");
			fwrite(&tempTea, sizeof(tempTea), 1, fp);						//儲存到檔案的末尾
			fclose(fp);
			MessageBox(wnd, "儲存成功!\n已錄入一個教師", "儲存成功", MB_OK | MB_ICONWARNING);
			break;
		}
		else if (MessageBox(wnd, "真的放棄嗎?", "確認放棄", MB_YESNO | MB_ICONQUESTION) == IDYES)
		{
			MessageBox(wnd, "已放棄儲存,儲存失敗!", "已放棄儲存", MB_OK | MB_ICONWARNING);
			return 0;
		}
	}
	return 1;
}
int Modifythesalary()//修改教師工資
{
	HWND wnd = GetHWnd();
	TeacherBasisInfor oneScore;
	char	TNoInput[12];		//使用者輸入的11位數位字元的教師編號
	char	TNameInput[21];	//輸入教師姓名
	char	TSalaryInput[10];		//輸入教師工資
	int		len;
	int		isExist;
	FILE* fpss;
	InputBox(TNoInput, 12, "請輸入教師編號");
	len = strlen(TNoInput);
	while (len != 11)
	{
		MessageBox(wnd, "教師編號只能爲11位!\n請重新輸入", "編號錯誤", MB_OK | MB_ICONERROR);
		InputBox(TNoInput, 12, "請輸入11位教師編號");
		len = strlen(TNoInput);
	}
	InputBox(TNameInput, 21, "請輸入教師姓名");
	len = strlen(TNameInput);
	while (len <= 0)
	{
		MessageBox(wnd, "姓名不能爲空!\n請重新輸入", "姓名錯誤", MB_OK | MB_ICONWARNING);
		InputBox(TNameInput, 21, "請輸入教師姓名");
		len = strlen(TNameInput);
	}
	if ((fpss = fopen("TeaBasIn.dat", "rb")) == NULL)
	{
		fpss = fopen("TeaBasIn.dat", "wb+");
		fclose(fpss);
	}
	else
		fclose(fpss);
	fpss = fopen("TeaBasIn.dat", "rb+");
	isExist = false;
	while (!feof(fpss))
	{
		int length = fread(&oneScore, sizeof(oneScore), 1, fpss);
		if (length == 0)	break;
		if (strcmp(oneScore.TNo, TNoInput) == 0 &&	//如果教師工資存在,確認修改
			strcmp(oneScore.TName, TNameInput) == 0)
		{
			isExist = true;
			InputBox(TSalaryInput, 10, "請輸入要修改的工資");
			len = strlen(TSalaryInput);
			while (len <= 0)
			{
				MessageBox(wnd, "工資不能爲空!\n請重新輸入", "輸入錯誤", MB_OK | MB_ICONWARNING);
				InputBox(TSalaryInput, 10, "請輸入要修改的工資");
				len = strlen(TSalaryInput);
			}
			char strOneStuInfor[200] = "";
			sprintf(strOneStuInfor, "教師編號:%s\n\r姓名:%s\n\r原工資:%.1f\n\r修改後工資:%s\n\r確認修改嗎?",
				oneScore.TNo, oneScore.TName, oneScore.TSalary, TSalaryInput);
			if (MessageBox(wnd, strOneStuInfor, "確認修改", MB_YESNO) == IDYES)	//確認儲存
			{
				TeacherBasisInfor tempScore;
				tempScore.isValid = 1;
				strcpy(tempScore.TNo, TNoInput);
				strcpy(tempScore.TName, TNameInput);
				sscanf(TSalaryInput, "%f", &(tempScore.TSalary));
				fseek(fpss, -sizeof(TeacherBasisInfor), SEEK_CUR);
				fwrite(&tempScore, sizeof(tempScore), 1, fpss);
				MessageBox(wnd, "修改成功!\n已修改一個教師工資", "修改成功",
					MB_OK | MB_ICONWARNING);
			}
			else
				MessageBox(wnd, "修改未完成", "修改失敗", MB_OK | MB_ICONWARNING);
			break;
		}
	}
	fclose(fpss);
	if (!isExist)
	{
		char strMsg[200];
		sprintf(strMsg, "教師編號:%s\n姓名:%s\n該教師工資資訊不存在。無法修改\n修改工資失敗!",
			TNoInput, TNameInput);
		MessageBox(wnd, strMsg, "工資不存在,無法修改", MB_ICONWARNING | MB_OK);
		return 0;
	}
	return 1;
}
int Querywages()//查詢工資
{
	HWND wnd = GetHWnd();
	TeacherBasisInfor oneScore;
	char	TNoInput[12];		//使用者輸入的11位數位字元的教師編號
	char TNameInput[21];//教師姓名
	int		len;
	int		isExist;
	FILE* fpss;
	InputBox(TNoInput, 12, "請輸入教師編號");
	len = strlen(TNoInput);
	while (len != 11)
	{
		MessageBox(wnd, "教師編號只能爲11位!\n請重新輸入", "編號錯誤", MB_OK | MB_ICONERROR);
		InputBox(TNoInput, 12, "請輸入11位教師編號");
		len = strlen(TNoInput);
	}
	InputBox(TNameInput, 21, "請輸入教師姓名");
	len = strlen(TNameInput);
	while (len <= 0)
	{
		MessageBox(wnd, "姓名不能爲空!\n請重新輸入", "姓名錯誤", MB_OK | MB_ICONWARNING);
		InputBox(TNameInput, 21, "請輸入教師姓名");
		len = strlen(TNameInput);
	}
	if ((fpss = fopen("TeaBasIn.dat", "rb")) == NULL)
	{
		fpss = fopen("TeaBasIn.dat", "wb+");
		fclose(fpss);
	}
	else
		fclose(fpss);
	fpss = fopen("TeaBasIn.dat", "rb");
	isExist = false;
	while (!feof(fpss))
	{
		int length = fread(&oneScore, sizeof(oneScore), 1, fpss);
		if (length == 0)	break;
		if (strcmp(oneScore.TNo, TNoInput) == 0 &&	//如果教師工資存在,查詢
			strcmp(oneScore.TName, TNameInput) == 0)
		{
			isExist = true;
			char strOneStuInfor[200] = "";
			sprintf(strOneStuInfor, "教師編號:%s\n\r姓名:%s\n\r工資:%.1f\n\r",
				oneScore.TNo, oneScore.TName, oneScore.TSalary);
			MessageBox(wnd, strOneStuInfor, "查詢工資", MB_ICONINFORMATION | MB_OK);
		}
	}
	fclose(fpss);
	if (!isExist)
	{
		char strMsg[200];
		sprintf(strMsg, "教師編號:%s\n姓名:%s\n該教師資訊不存在。無法查詢\n查詢工資失敗!",
			TNoInput, TNameInput);
		MessageBox(wnd, strMsg, "查詢失敗", MB_ICONWARNING | MB_OK);
		return 0;
	}
	return 1;
}
int Hiddenpaybreak()
{
	HWND wnd = GetHWnd();
	TeacherBasisInfor oneScore;
	char	TNoInput[12];		//使用者輸入的11位數位字元的學生學號
	char	TNameInput[21];	//使用者課程程式碼,固定爲6個數字字元
	int		len;
	int		isExist;
	FILE* fpss, * fptemp;		//學生成績檔案、臨時成績檔案指針
	if ((fpss = fopen("TeaBasIn.dat", "rb")) == NULL)	//如果成績檔案不存在,則新建之
	{
		fpss = fopen("TeaBasIn.dat", "wb+");
		fclose(fpss);
	}
	else
		fclose(fpss);
	InputBox(TNoInput, 12, "請輸入11位教師編號");
	len = strlen(TNoInput);
	while (len != 11)
	{
		MessageBox(wnd, "編號只能爲11位!\n請重新輸入", "編號錯誤", MB_OK | MB_ICONERROR);
		InputBox(TNoInput, 12, "請輸入11位教師編號");
		len = strlen(TNoInput);
	}
	InputBox(TNameInput, 21, "請輸入教師姓名");
	len = strlen(TNameInput);
	while (len <= 0)
	{
		MessageBox(wnd, "姓名不能爲空!\n請重新輸入", "姓名錯誤", MB_OK | MB_ICONWARNING);
		InputBox(TNameInput, 21, "請輸入教師姓名");
		len = strlen(TNameInput);
	}
	fpss = fopen("TeaBasIn.dat", "rb");
	isExist = false;
	while (!feof(fpss))
	{
		int length = fread(&oneScore, sizeof(oneScore), 1, fpss);
		if (length == 0)	break;
		if (strcmp(oneScore.TNo, TNoInput) == 0 &&		//如果該名教師工資已經存在
			strcmp(oneScore.TName, TNameInput) == 0)
		{
			isExist = true;
			break;
		}
	}
	fclose(fpss);
	if (!isExist)
	{
		char strMsg[200];
		sprintf(strMsg, "編號%s\n教師%s資訊不存在。無法刪除\n刪除資訊失敗!",
			oneScore.TNo, oneScore.TName, oneScore.TSalary);
		MessageBox(wnd, strMsg, "資訊不存在,刪除失敗", MB_OK);
		return 0;
	}
	char strOneStuInfor[200] = "";
	sprintf(strOneStuInfor, "你要刪除的教師資訊如下:\n\r教師編號:%s\n\r教師姓名:%s\n\r工資:%.1f\n\r確認刪除嗎?",
		oneScore.TNo, oneScore.TName, oneScore.TSalary);
	if (MessageBox(wnd, strOneStuInfor, "請確認刪除", MB_YESNO) == IDYES)	//確認隱藏
	{
		if (MessageBox(wnd, "真的刪除嗎?\n刪除後無法恢復", "確認刪除",
			MB_YESNO | MB_ICONQUESTION) == IDYES)
		{
			TeacherBasisInfor tempScore;
			fpss = fopen("TeaBasIn.dat", "rb");
			fptemp = fopen("TempStuScore.dat", "wb+");
			while (!feof(fpss))
			{
				int length = fread(&tempScore, sizeof(oneScore), 1, fpss);
				if (length == 0)	break;
				if (strcmp(tempScore.TNo, TNoInput) != 0 || strcmp(tempScore.TName, TNameInput) != 0)
					fwrite(&tempScore, sizeof(tempScore), 1, fptemp);
			}
			fclose(fpss);
			fclose(fptemp);
			Sleep(20);
			remove("TeaBasIn.dat");							//刪除老檔案
			rename("TempStuScore.dat", "TeaBasIn.dat");		//將臨時檔案改名成績檔案
			MessageBox(wnd, "刪除成功!\n已刪除一個教師的資訊", "刪除成功", MB_OK | MB_ICONWARNING);
			return 1;
		}
	}
	return 0;
}

void MainInter()
{
	int id;							//使用者輸入的功能號
	while (TRUE)
	{
		cleardevice();
		setcolor(DARKGRAY);
		setfont(40, 0, "黑體");
		outtextxy(150, 10, " 教師基本資訊管理");
		setcolor(YELLOW);
		setfont(30, 0, "宋體");
		outtextxy(220, 100, "請選擇功能:");
		setcolor(BLACK);
		outtextxy(220, 160, "1.教師資訊錄入");
		outtextxy(220, 210, "2.教師資訊刪除");
		outtextxy(220, 260, "3.教師工資查詢");
		outtextxy(220, 310, "4.教師工資修改");
		outtextxy(220, 360, "0.返回上一層");
		setfont(15, 0, "黑體");
		outtextxy(10, 460, "歡迎使用該系統");
		id = getch();				//讀取該鍵
		if (id == '1')				//錄入教師基本資訊
		{
			InputTeaBasisInfo();
		}
		else if (id == '2')			//刪除教師基本資訊
		{
			Hiddenpaybreak();
		}
		else if (id == '3')			//查詢教師工資
		{
			Querywages();
		}
		else if (id == '4')			//修改教師工資
		{
			Modifythesalary();
		}
		else if (id == '0')			//如果是'0',表示退出教師基本資訊管理功能
		{
			return;
		}
	}
}
void System()
{
	int id;
	while (TRUE)
	{
		cleardevice();
		setcolor(DARKGRAY);
		setfont(40, 0, "黑體");
		outtextxy(180, 10, "學校工資管理系統");
		setfont(25, 0, "宋體");
		setcolor(YELLOW);
		outtextxy(200, 100, "請選擇功能:");
		setfont(30, 0, "宋體");
		setcolor(BLACK);
		outtextxy(200, 170, "1.教師基本資訊管理模組");
		outtextxy(200, 240, "2.其它功能模組");
		outtextxy(200, 310, "0.退出登錄");
		setfont(15, 0, "黑體");
		outtextxy(160, 460, "歡迎使用該系統,如有Bug請前往其他功能模組");
		id = getch();
		if (id == '1')
		{
			MainInter();
		}
		else if (id == '2')
		{
			HWND wnd = GetHWnd();
			MessageBox(wnd, "暫無其他功能模組!\n 敬請期待\nBug提交\n感謝您的使用", "模組", MB_ICONQUESTION | MB_OK);
		}
		else if (id == '0')
		{
			HWND wnd = GetHWnd();
			if (MessageBox(wnd, "是否退出登錄?\n", "退出登錄", MB_ICONQUESTION | MB_YESNO) == IDYES)
			{
				cleardevice();
				Welcome();
			}
		}
	}
}

效果圖如下:
在这里插入图片描述
在这里插入图片描述
mian函數如下:

#include <graphics.h>
#include <conio.h>
#include "CommonData.h"
#include <stdio.h>
#include "Login.h"
#include "TeaBasisInfo.h"
void main()
{
	initgraph(640,480);//設定一個640 X 480 畫素的視窗
    setbkcolor(CYAN	);//設定背景顏色爲黃色
    cleardevice();//清屏
	while(!Welcome());
	System();
	closegraph();
}

注:本系 本係統利用了EasyX圖形庫,請自行下載與檢視使用教學