【easyx】简易学生抽取系统

配置:vs2022 项目属性/高级/字符集 将“使用Unicode字符集”改成“使用多字节字符集”

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<string.h>
#include<ctype.h>
#include <time.h>
int i = 0;//记录学生个数
void FirstPage();//首页
void creat();//新建
void print();//打印
void get();//抽取
void result();//抽取结果

typedef struct Student
{
	char num[64];//学号
	char name[64];//姓名
}Student;

Student StuArry[100];

void FirstPage()
{
	MOUSEMSG m1;//鼠标
	initgraph(700, 800);
	cleardevice();
	IMAGE picture1;
	loadimage(&picture1, "F:\\实践作业\\760.jpg", 700, 800);
	putimage(0, 0, &picture1);
	//标题
	settextcolor(BLACK);
	settextstyle(60, 0, _T("黑体"));
	setbkmode(TRANSPARENT);
	outtextxy(175, 100, _T("学生抽取系统"));
	//绘制选项
	setfillcolor(0x5D7DB3);
	fillrectangle(230, 230, 490, 280);
	fillrectangle(230, 300, 490, 350);
	fillrectangle(230, 370, 490, 420);
	settextcolor(WHITE);
	settextstyle(40, 0, "黑体");
	setbkmode(TRANSPARENT);
	outtextxy(280, 235, "添加学生");
	outtextxy(280, 305, "显示学生");
	outtextxy(280, 375, "抽取学生");

	while (1)
	{
		m1 = GetMouseMsg();//获取鼠标操作
		if (m1.x >= 230 && m1.x <= 490 && m1.y >= 230 && m1.y <= 280)
		{
			setlinecolor(RED);//绘制选择矩形框
			rectangle(230, 230, 490, 280);
			if (m1.uMsg == WM_LBUTTONDOWN)
			{
				cleardevice();
				creat();
			}
		}
		else if (m1.x >= 230 && m1.x <= 490 && m1.y >= 300 && m1.y <= 350)
		{
			setlinecolor(RED);//绘制选择矩形框
			rectangle(230, 300, 490, 350);
			if (m1.uMsg == WM_LBUTTONDOWN)
			{
				cleardevice();
				print();
			}
		}
		else if (m1.x >= 230 && m1.x <= 490 && m1.y >= 370 && m1.y <= 420)
		{
			setlinecolor(RED);//绘制选择矩形框
			rectangle(230, 370, 490, 420);
			if (m1.uMsg == WM_LBUTTONDOWN)
			{
				cleardevice();
				get();
			}
		}
		else
		{
			//绘制待选择矩形框
			setlinecolor(WHITE);
			rectangle(230, 230, 490, 280);
			rectangle(230, 300, 490, 350);
			rectangle(230, 370, 490, 420);
		}
	}
}

void creat()
{
	initgraph(700, 800);
	cleardevice();
	IMAGE picture1;
	loadimage(&picture1, "F:\\实践作业\\760.jpg", 700, 800);
	putimage(0, 0, &picture1);
	//标题
	settextcolor(BLACK);
	settextstyle(60, 0, _T("黑体"));
	setbkmode(TRANSPARENT);
	outtextxy(175, 100, _T("学生抽取系统"));
	//输入操作
	TCHAR InputWindow0[] = "请输入该学生的学号";
	InputBox(StuArry[i].num, 10, InputWindow0);
	TCHAR InputWindow1[] = ("请输入该学生的姓名");
	InputBox(StuArry[i].name, 10, InputWindow1);
	i++;
	FirstPage();
}

void print()
{
	//判断是否录入学生信息
	if (i == 0)
	{
		initgraph(700, 800);
		cleardevice();
		IMAGE picture1;
		loadimage(&picture1, "F:\\实践作业\\760.jpg", 700, 800);
		putimage(0, 0, &picture1);
		HWND hwndInput = GetHWnd();
		TCHAR InputWindow3[] = ("您还没有录入学生!");
		MessageBox(hwndInput, InputWindow3, "提示", MB_OK);
		FirstPage();
	}
	else
	{
		//鼠标
		MOUSEMSG SA;
		//绘制窗口
		initgraph(700, 800);
		cleardevice();
		IMAGE picture1;
		loadimage(&picture1, "F:\\实践作业\\760.jpg", 700, 800);
		putimage(0, 0, &picture1);

		//绘制选项
		settextstyle(30, 0, "黑体");
		setbkmode(TRANSPARENT);
		setfillcolor(0x5D7DB3);
		fillrectangle(550, 690, 650, 740);
		outtextxy(570, 700, "返回");
		settextcolor(BLACK);
		outtextxy(175, 80, "学号:    姓名:");
		for (int q = 0, y = 120; q <= i; q++, y += 40)
		{
			outtextxy(210, y, StuArry[q].num);
			outtextxy(400, y, StuArry[q].name);
		}
		while (1)
		{
			SA = GetMouseMsg();
			if (SA.x >= 550 && SA.x <= 650 && SA.y >= 690 && SA.y <= 740)
			{
				setlinecolor(RED);
				rectangle(550, 690, 650, 740);
				if (SA.uMsg == WM_LBUTTONDOWN)
				{
					FirstPage();
				}
			}
			else
			{
				//绘制待选择矩形框
				setlinecolor(WHITE);
				rectangle(550, 690, 650, 740);
			}
		}
	}
}

void get()
{
	if (i == 0)
	{
		initgraph(700, 800);
		cleardevice();
		IMAGE picture1;
		loadimage(&picture1, "F:\\实践作业\\760.jpg", 700, 800);
		putimage(0, 0, &picture1);
		HWND hwndInput = GetHWnd();
		TCHAR InputWindow3[] = ("您还没有录入学生!");
		MessageBox(hwndInput, InputWindow3, "提示", MB_OK);
		FirstPage();
	}
	else
	{
		initgraph(700, 800);
		cleardevice();
		IMAGE picture1;
		loadimage(&picture1, "F:\\实践作业\\760.jpg", 700, 800);
		putimage(0, 0, &picture1);
		HWND hwndInput = GetHWnd();
		MessageBox(hwndInput, "正在抽取学生中!请耐心等待", "提示", MB_OK);
		MessageBox(hwndInput, "抽取成功,点击确定查看结果", "提示", MB_OK);
		result();
	}

}

void result()
{
	//获取随机数
	int getnum;
	srand((unsigned)time(NULL));
	getnum = rand() % (i);

	//绘制背景
	initgraph(700, 800);
	cleardevice();
	IMAGE picture1;
	loadimage(&picture1, "F:\\实践作业\\760.jpg", 700, 800);
	putimage(0, 0, &picture1);
	//鼠标
	MOUSEMSG SA;
	//绘制选项和文字
	settextstyle(30, 0, "黑体");
	setbkmode(TRANSPARENT);
	setfillcolor(0x5D7DB3);
	fillrectangle(500, 690, 650, 740);
	outtextxy(515, 700, "退出程序");
	settextcolor(BLACK);
	outtextxy(210, 200, "学号:");
	outtextxy(210, 250, "姓名:");
	outtextxy(300, 200, StuArry[getnum].num);
	settextstyle(60, 0, "黑体");
	outtextxy(240, 100, "恭喜您!");
	settextstyle(80, 0, "黑体");
	outtextxy(270, 310, StuArry[getnum].name);
	while (1)
	{
		SA = GetMouseMsg();
		if (SA.x >= 500 && SA.x <= 650 && SA.y >= 690 && SA.y <= 740)
		{
			setlinecolor(RED);
			rectangle(500, 690, 650, 740);
			if (SA.uMsg == WM_LBUTTONDOWN)
			{
				exit(0);
			}
		}
		else
		{
			//绘制待选择矩形框
			setlinecolor(WHITE);
			rectangle(500, 690, 650, 740);
		}
	}
}

int main()
{
	FirstPage();
	return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值