最近做的一些项目以及源码

最近考试完后,因为在疯狂搭东西,所以一直没有更,今晚上做完了课设就来更了

软件

①c语言做的项目
银行存取款管理系统(拿着一个大佬的图进行疯狂改的一个课设)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源码
①功能函数的源码

#include"tyd.h"
//定义数据
//定义全局数据
int khzc = 0;//客户的注册编号
int khjlbh = 0;//客户记录的编号
int khdl = 0;//用于判断客户是否为登录的情况特点

//定义结构体数据
//因为涉及到要调用InputBox函数进行输出中文,因此这里定义的是wchar_t双字节
struct kh
{
    
    
	wchar_t name[10];//用户姓名
	wchar_t password1[10];//用户密码
	wchar_t password2[10];
	wchar_t phone[12];//客户电话
	wchar_t dz[100];//客户地址
	int bh;//用户编号
	wchar_t  ye[100];
}khnum[100],*p=khnum;//利用一个结构体代一个用户的数据,即实现查数据的功能
struct jl//定义用于编号的
{
    
    
	wchar_t bh[10];//编号
	wchar_t rq[20];//日期
	wchar_t lb[10];//类别,即存款还是取款
	wchar_t sm[10];//存款金额
	wchar_t jbr[10];//经办人,即办这个业务的人
}jlnum[100];

//全局调用函数
void save()
{
    
    
	int i;
	FILE *fp;
	fopen_s(&fp, "kh.dat", "wb");
	fwrite(&khzc, 4, 1, fp);
	fwrite(&khdl, 4, 1, fp);
	fwrite(&khjlbh, 4, 1, fp);
//---------------------------------------输入结构体信息到文件里面---------------------------------------
//---------------------------------------客户的信息-----------------------------------------------------
	for (i = 0; i <=khzc; i++)
	{
    
    
		fwrite(&khnum[i], sizeof(struct kh), 1, fp);
		
	}
//-----------------------------------------记录信息-----------------------------------------------------
	for (i = 0; i <=khjlbh; i++)
	{
    
    
		fwrite(&jlnum[i], sizeof(struct jl), 1, fp);
	}
//-----------------------------------------输入整形类信息----------------------------------------
	
	fclose(fp);
}
void read()
{
    
    
	int i;
	FILE *fp;

	
	fopen_s(&fp, "kh.dat", "rb");
	
	//-----------------------------------------输入整形类信息----------------------------------------
	fread(&khzc, 4, 1, fp);
	fread(&khdl, 4, 1, fp);
	fread(&khjlbh, 4, 1, fp);
	//---------------------------------------输入结构体信息到文件里面---------------------------------------
	//---------------------------------------客户的信息-----------------------------------------------------
	for (i = 0; i <= khzc; i++)
	{
    
    
		fread(&khnum[i], sizeof(struct kh), 1, fp);
	}
	//-----------------------------------------记录信息-----------------------------------------------------
	for (i = 0; i <= khjlbh; i++)
	{
    
    
		fread(&jlnum[i], sizeof(struct jl), 1, fp);
	} 
	fclose(fp);
}

//第一个界面的功能函数
void pd()//判断是否登录
{
    
    
	int j = 0;
	
	do //即代do-while函数代跳出防止MessageBox卡死的状况特点
	{
    
    
		if (khdl != 0)//已登录
		{
    
    
			Kh_gljm();//调用客户管理界面
			break;
		}
		else
		{
    
    
			MessageBox(NULL, _T("您还未登录,请登录"), _T("登录管理"), MB_ICONSTOP | MB_SETFOREGROUND);
			j++;
			break;
		}
	} while (1);
	if (j != 0)
	{
    
    
		Kh_login();
	}

}
void reg()
{
    
    
	int i, j = 0;//用于循环遍历的作用
	wchar_t name[10];//输入的客户
	wchar_t password[10];//输入的密码
	wchar_t xdh[13];
	wchar_t xye[100];
	wchar_t xdz[100];
	wchar_t name2[10] = {
    
     };//设置一个空的值,用于躲开当用户为空的状况特点,思考为什么第二次为空
	//判断输入的用户是否存在
	do//判断用户的账号类
	{
    
    
		InputBox(name, 10, _T("请输入用户名"));
		for (i = 0; i < khzc; i++)
		{
    
    
			if ((wcscmp(name, khnum[i].name)) == 0 && (wcscmp(name2, khnum[i].name) == 1))
			{
    
    
				khdl = i;
				break;
			}
		}
		if (i >= khzc)//判断是否存在的方法
		{
    
    
			j++;
			break;
		}
		else
		{
    
    
			MessageBox(NULL, _T("存在该账号"), _T("注册管理"), MB_ICONSTOP | MB_SETFOREGROUND);
			break;
		}
	
	} while (1);
	if (j != 0)
	{
    
    
		InputBox(password, 10, _T("该账号可注册,请输入注册账号密码"));
		InputBox(xdh,12,_T("请输入客户的联系电话"));
		InputBox(xye, 100,_T("请输入客户的余额"));
		InputBox(xdz, 100, _T("请输入客户的地址"));
		wcscpy(khnum[++khzc].name, name);
		wcscpy(khnum[khzc].password1, password);
		wcscpy(khnum[khzc].phone,xdh);
		wcscpy(khnum[khzc].ye, xye);
		wcscpy(khnum[khzc].dz, xdz);
		save();

	}
}

void login()
{
    
    
	int i,j=0;//用于循环遍历的作用
	wchar_t name[10];//输入的客户
	wchar_t password[10];//输入的密码
	wchar_t name2[10] = {
    
     };//设置一个空的值,用于躲开当用户为空的状况特点,思考为什么第二次为空
	//判断输入的用户是否存在
	do//判断用户的账号类
	{
    
    
		InputBox(name, 10, _T("请输入用户名"));
		for (i = 0; i <=khzc; i++)
		{
    
    
			if ((wcscmp(name,khnum[i].name)) == 0&&(wcscmp(name2,khnum[i].name)!=0))
			{
    
    
				khdl = i;
				break;
			}
		}
		if (i >= khzc&&khdl==0)//判断是否存在的方法
		{
    
    
			MessageBox(NULL, _T("不存在该账号"), _T("登录管理"), MB_ICONSTOP | MB_SETFOREGROUND);
		
			break;
		}
		else
		{
    
    
			j++;
			break;
		}
	} while (1);
	if (j != 0)
	{
    
    
		do//判断用户的密码
		{
    
    
			InputBox(password, 10, _T("请输入密码"));
			if ((wcscmp(password, khnum[khdl].password1)) == 0)
			{
    
    
				MessageBox(NULL, _T("登录成功"), _T("登录管理"), MB_SETFOREGROUND);
				break;
			}
			else
				MessageBox(NULL, _T("密码错误,请重新输入"), _T("登录管理"), MB_ICONSTOP | MB_SETFOREGROUND);

		} while (1);
	}
	
}

void exit1()//进行代退出功能
{
    
    
	khdl = 0;
}

void reset()
{
    
    

	int i, j = 0;//用于循环遍历的作用
	wchar_t name[10];//输入的客户
	wchar_t password[10];//输入的密码
	wchar_t name2[10] = {
    
     };//设置一个空的值,用于躲开当用户为空的状况特点,思考为什么第二次为空
	//判断输入的用户是否存在
	do//判断用户的账号类
	{
    
    
		InputBox(name, 10, _T("请输入用户名"));
		for (i = 0; i < khzc; i++)
		{
    
    
			if ((wcscmp(name, khnum[i].name)) == 0 && (wcscmp(name2, khnum[i].name) == 1))
			{
    
    
				khdl = i;
				break;
			}
		}
		if (i >= khzc)//判断是否存在的方法
		{
    
    
			MessageBox(NULL, _T("不存在该账号"), _T("登录管理"), MB_ICONSTOP | MB_SETFOREGROUND);

			break;
		}
		else
		{
    
    
			j++;
			break;
		}
	} while (1);
	if (j!=0)
	{
    
    
			InputBox(password, 10, _T("请输入原始密码"));
			if ((wcscmp(password, khnum[khdl].password1)) == 0)
			{
    
    
				InputBox(password, 10, _T("密码正确,请输入更改的密码"));
				wcscpy(khnum[khdl].password1, password);
				MessageBox(NULL, _T("修改密码成功"), _T("登录管理"),MB_SETFOREGROUND);
				save();
			}
			else
				MessageBox(NULL, _T("密码错误"), _T("登录管理"), MB_ICONSTOP | MB_SETFOREGROUND);//在前面加一个stop即为图标
		
	}
}
//第二个界面的功能函数
void inf()//客户信息功能
{
    
    
//----------------------------------------------------------------字体版头,即文字输入头--------------------------------------------------------------------------
	int position_x=476, position_y=92;
	setbkmode(TRANSPARENT);//设置字体背景为透明
	settextcolor(COLORREF(RGB(0, 0, 0)));//设置字体颜色为黑色
	settextstyle(20, 0, _T("楷体"));//设置字体大小20,格式宋体
	outtextxy(position_x, position_y, _T("类型    姓名    密码    电话          余额      地址"));//显示第一行表头
//------------------------------------------------------------------输出客户的值---------------------------------------------------------------------------------
	    position_y +=20;
		outtextxy(556, position_y, khnum[khdl].name);//客户姓名
		outtextxy(640, position_y, khnum[khdl].password1);//客户密码
		outtextxy(720, position_y, khnum[khdl].phone);//客户电话
		outtextxy(855, position_y, khnum[khdl].ye);//客户余额
		outtextxy(955, position_y, khnum[khdl].dz);//客户地址
}
void xjjl()//新建记录功能
{
    
    
//----------------------------------------------------------------字体版头,即文字输入头-------------------------------------------------------------------------
	int position_x = 476, position_y = 92;
	setbkmode(TRANSPARENT);//设置字体背景为透明
	settextcolor(COLORREF(RGB(0, 0, 0)));//设置字体颜色为黑色
	settextstyle(20, 0, _T("楷体"));//设置字体大小20,格式宋体
	outtextxy(position_x, position_y, _T("编号    日期          类别      数目         经办人"));//显示第一行表头
//-----------------------------------------------------------------查找新建的记录是否存在------------------------------------------------------------------------------
	int i, j = 0;//用于循环遍历的作用
	wchar_t xjl[10];//输入的新纪录的编号
	wchar_t xrq[20];
	wchar_t xlb[10];
	wchar_t xsm[10];
	wchar_t xjbr[10];
	do//判断用户的账号类
	{
    
    
		InputBox(xjl, 10, _T("请输入新纪录的编号"));
		for (i = 0; i < khjlbh; i++)
		{
    
    
			if ((wcscmp(xjl,jlnum[i].bh))== 0 )
			{
    
    
				khjlbh = i;
				break;
			}
		}
		if (i >= khjlbh)//判断是否存在的方法
		{
    
    
			MessageBox(NULL, _T("不存在该记录,创建编号成功"),_T("记录管理"),MB_SETFOREGROUND);
			j++;
			break;
		}
		else
		{
    
    
			MessageBox(NULL, _T("输入错误,存在该记录"), _T("记录管理"), MB_ICONSTOP | MB_SETFOREGROUND);
			break;
		}

	} while (1);
//--------------------------------------------------------------建立记录内容-----------------------------------------------------------------------------------------
	if (j != 0)
	{
    
    
		
		wcscpy(jlnum[++khjlbh].bh, xjl);//编号创建
		InputBox(xrq, 20, _T("请输入日期"));
		InputBox(xlb, 10, _T("请输入类别"));
		InputBox(xsm, 10, _T("请输入数目"));
		do {
    
    
			if ((wcscmp(_T("存款"), xlb)) == 0 || (wcscmp(_T("取款"), xlb)) == 0)
			{
    
    
				wcscpy(jlnum[khjlbh].lb, xlb);
				if ((wcscmp(_T("存款"),xlb) == 0))
				{
    
    
					/*p->ye += jlnum[khjlbh].sm;*///注意对于wchar_t或者char类型不能代运算的状况特点,思考对应wchar_T类该如何代相加减
					InputBox(khnum[khdl].ye, 10, _T("请在原来的值上面添加存款的值"));//初始时间 
				}
				else
				{
    
    
					InputBox(khnum[khdl].ye, 10, _T("请在原来的值上面减去取款的值"));
				}
				break;
			}
			else
			{
    
    
				MessageBox(NULL, _T("输入错误,请重新输入"), _T("类别管理"), MB_ICONSTOP | MB_SETFOREGROUND);
				InputBox(xlb, 10, _T("请输入类别"));
			}
		} while (1);
	
		InputBox(xjbr, 10, _T("请输入经办人"));
		wcscpy(jlnum[khjlbh].rq,xrq);
		wcscpy(jlnum[khjlbh].sm, xsm);
		wcscpy(jlnum[khjlbh].jbr, xjbr);
		save();

	}
//-----------------------------------------------------------------输出内容--------------------------------------------------------------------------------------------
	wchar_t jlxh[10];//客户的序号
	for (int i = 1; i <= khjlbh; i++)//显示出客户用户
	{
    
    
		if (i == 0)
			wcscpy(jlxh, L"0");//即给参数赋一个序号类控制专
		if (i == 1)
			wcscpy(jlxh, L"1");
		if (i == 2)
			wcscpy(jlxh, L"2");
		if (i == 3)
			wcscpy(jlxh, L"3");
		if (i == 4)
			wcscpy(jlxh, L"4");
		if (i == 5)
			wcscpy(jlxh, L"5");
		if (i == 6)
			wcscpy(jlxh, L"6");
		if (i == 7)
			wcscpy(jlxh, L"7");
		if (i == 8)
			wcscpy(jlxh, L"8");
		if (i == 9)
			wcscpy(jlxh, L"9");
		if (i == 10)
			wcscpy(jlxh, L"10");
		position_y += 20;//向下推一行(利用控制位置状况进行推至下部分)
		outtextxy(494, position_y, jlxh);//显示序号
		outtextxy(556, position_y, jlnum[i].rq);//显示记录的日期
		outtextxy(700, position_y, jlnum[i].lb);//记录的类别
		outtextxy(800, position_y, jlnum[i].sm);//记录的数目
		outtextxy(926, position_y, jlnum[i].jbr);//客户的经办人
	}

}
void jlcx()//记录查询
{
    
    
//----------------------------------------------------------------字体版头,即文字输入头-------------------------------------------------------------------------
	int position_x = 476, position_y = 92;
	setbkmode(TRANSPARENT);//设置字体背景为透明
	settextcolor(COLORREF(RGB(0, 0, 0)));//设置字体颜色为黑色
	settextstyle(20, 0, _T("楷体"));//设置字体大小20,格式宋体
	outtextxy(position_x, position_y, _T("编号    日期          类别      数目         经办人"));//显示第一行表头
//----------------------------------------------------------------输出记录的值----------------------------------------------------------------------------------

	wchar_t jlxh[10];//记录的序号
	for (int i = 1; i <= khjlbh; i++)//显示出记录
	{
    
    
		if (i == 0)
			wcscpy(jlxh, L"0");//即给参数赋一个序号类控制专
		if (i == 1)
			wcscpy(jlxh, L"1");
		if (i == 2)
			wcscpy(jlxh, L"2");
		if (i == 3)
			wcscpy(jlxh, L"3");
		if (i == 4)
			wcscpy(jlxh, L"4");
		if (i == 5)
			wcscpy(jlxh, L"5");
		if (i == 6)
			wcscpy(jlxh, L"6");
		if (i == 7)
			wcscpy(jlxh, L"7");
		if (i == 8)
			wcscpy(jlxh, L"8");
		if (i == 9)
			wcscpy(jlxh, L"9");
		if (i == 10)
			wcscpy(jlxh, L"10");
		position_y += 20;//向下推一行(利用控制位置状况进行推至下部分)
		outtextxy(494, position_y, jlxh);//显示序号
		outtextxy(556, position_y, jlnum[i].rq);//显示记录的日期
		outtextxy(700, position_y, jlnum[i].lb);//记录的类别
		outtextxy(800, position_y, jlnum[i].sm);//记录的数目
		outtextxy(926, position_y, jlnum[i].jbr);//客户的经办人
	}
}

头文件的源码

#pragma once
#include <graphics.h>      // 引用easyx图形库头文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include <conio.h>
#include<tchar.h>
#pragma warning(disable:4996)//可以利用该代码消去警告类





//声明函数,且扔在头文件里面进行代
//声名界面函数
void Welcome();
void Kh();
void Kh_register();
void Kh_login();
void Kh_resetpassword();
void Kh_gl();
void Kh_gljm();
void Kh_gljm1();
void Kh_gljm2();
void Kh_gljm3();
void Kh_return();
void End();
//声名功能函数
//通用功能函数
void save();
void read();

//第一个界面的功能函数
void pd();//判断用户是否登录
void login();
void exit1();//退出函数
void reg();
void reset();
//第二个界面的功能函数
void inf();
void xjjl();
void jlcx();



界面函数

#include"tyd.h"
//图片定义,思考直接扔在头文件里面错误原因
IMAGE welcome;
IMAGE welcome_button;
IMAGE kh_login;
IMAGE kh_register;
IMAGE kh_resetpassword;
IMAGE kh_gl;
IMAGE kh_gljm;
IMAGE kh_gljm1;
IMAGE kh_gljm2;
IMAGE kh_gljm3;
IMAGE kh;
IMAGE kh_return;
IMAGE kh_exit;
IMAGE end;

void Welcome()//即进入界面
{
    
    
	loadimage(&welcome, L"welcome.jpg");//导入欢迎界面(特别注意:双引号里面不能有空格,要跟图片命名完全一致)
	putimage(0, 0, &welcome);//显示欢迎界面
		/*下面进行鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 232 && msg.x < 498 && msg.y > 478 && msg.y < 543)//鼠标点击特定区域,即ENTER按钮所在区域(利用坐标实现的)
				{
    
    
					loadimage(&welcome_button, L"welcome_button.jpg");//导入橙色按钮图片
					putimage(0, 0, &welcome_button);//显示橙色按钮图片
					Sleep(100);//延时,降低CPU占用率,并且做到点击效果
					Kh();
				}
			}
		}
	}
}
void Kh()//客户管理界面
{
    
    
	loadimage(&kh, L"kh.jpg");
	putimage(0, 0, &kh);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 81 && msg.x < 365 && msg.y > 71 && msg.y < 134)//鼠标点击特定区域,即“创建账户”按钮所在区域
					Kh_register();
				if (msg.x > 81 && msg.x < 365 && msg.y > 162 && msg.y < 228)//鼠标点击特定区域,即“用户登录”按钮所在区域
				    Kh_login();
				if (msg.x > 81 && msg.x < 365 && msg.y > 252 && msg.y < 318)//鼠标点击特定区域,即“修改密码”按钮所在区域
					Kh_resetpassword();
				if (msg.x > 81 && msg.x < 365 && msg.y > 344 && msg.y < 413)//鼠标点击特定区域,即“客户管理”按钮所在区域
				{
    
    
					loadimage(&kh_gl, L"kh_gl.jpg");
					putimage(0, 0, &kh_gl);
					Sleep(100);
					pd();
					
				}
				if (msg.x > 1239 && msg.x < 1334 && msg.y > 20 && msg.y < 62)//鼠标点击exit按钮
				{
    
    
					loadimage(&kh_exit, L"kh_exit.jpg");
					putimage(0, 0, &kh_exit);
					Sleep(100);
					End();
				}
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//即返回按钮
				{
    
    
					Kh_return();
				
				}
			}
		}
	}
}
void Kh_register()//客户注册界面函数
{
    
    
	loadimage(&kh_register, L"kh_register.jpg");
	putimage(0, 0, &kh_register);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)
			{
    
    
				
				if (msg.x > 81 && msg.x < 365 && msg.y > 162 && msg.y < 228)//鼠标点击特定区域,即“用户登录”按钮所在区域
					Kh_login();
				if (msg.x > 81 && msg.x < 365 && msg.y > 252 && msg.y < 318)//鼠标点击特定区域,即“修改密码”按钮所在区域
					Kh_resetpassword();
				if (msg.x > 81 && msg.x < 365 && msg.y > 344 && msg.y < 413)//鼠标点击特定区域,即“客户管理”按钮所在区域
				{
    
    
					loadimage(&kh_gl, L"kh_gl.jpg");
					putimage(0, 0, &kh_gl);
					Sleep(100);
					pd();

				}
				if (msg.x > 1239 && msg.x < 1334 && msg.y > 20 && msg.y < 62)//鼠标点击exit按钮
				{
    
    
					loadimage(&kh_exit, L"kh_exit.jpg");
					putimage(0, 0, &kh_exit);
					Sleep(100);
					End();
				}
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//即返回按钮
				{
    
    
					Kh_return();

				}
				if (msg.x > 81 && msg.x < 365 && msg.y > 69 && msg.y < 135)
					reg();
			}
		}
	}
}
void Kh_login()//客户登录函数
{
    
    
	loadimage(&kh_login, L"kh_login.jpg");
	putimage(0, 0, &kh_login);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)
		    {
    
    

				if (msg.x > 81 && msg.x < 365 && msg.y > 71 && msg.y < 134)//鼠标点击特定区域,即“创建账户”按钮所在区域
					Kh_register();
				if (msg.x > 81 && msg.x < 365 && msg.y > 252 && msg.y < 318)//鼠标点击特定区域,即“修改密码”按钮所在区域
					Kh_resetpassword();
				if (msg.x > 81 && msg.x < 365 && msg.y > 344 && msg.y < 413)//鼠标点击特定区域,即“客户管理”按钮所在区域
				{
    
    
					loadimage(&kh_gl, L"kh_gl.jpg");
					putimage(0, 0, &kh_gl);
					Sleep(100);
					pd();

				}
				
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//即返回按钮
				{
    
    
					Kh_return();

				}
				
				if (msg.x > 1239 && msg.x < 1334 && msg.y > 20 && msg.y < 62)//鼠标点击exit按钮,退出登录
				{
    
    
					save();//即保存用户信息的函数
					exit1();
					loadimage(&kh_exit, L"kh_exit.jpg");
					putimage(0, 0, &kh_exit);
					Sleep(100);
					End();
				
				}
				
				if (msg.x > 81 && msg.x < 365 && msg.y > 162 && msg.y < 228)//登录功能
					login();
			}
		}
	}
}

void Kh_resetpassword()//客户修改密码函数
{
    
    
	loadimage(&kh_resetpassword, L"kh_resetpassword.jpg");
	putimage(0, 0, &kh_resetpassword);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)
			{
    
    
				if (msg.x > 81 && msg.x < 365 && msg.y > 71 && msg.y < 134)//鼠标点击特定区域,即“创建账户”按钮所在区域
					Kh_register();
				if (msg.x > 81 && msg.x < 365 && msg.y > 162 && msg.y < 228)//鼠标点击特定区域,即“用户登录”按钮所在区域
					Kh_login();
				if (msg.x > 81 && msg.x < 365 && msg.y > 344 && msg.y < 413)//鼠标点击特定区域,即“客户管理”按钮所在区域
				{
    
    
					Kh_gl();

				}
				if (msg.x > 1239 && msg.x < 1334 && msg.y > 20 && msg.y < 62)//鼠标点击exit按钮
				{
    
    
					loadimage(&kh_exit, L"kh_exit.jpg");
					putimage(0, 0, &kh_exit);
					Sleep(100);
					End();
				}
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//即返回按钮
				{
    
    
					Kh_return();

				}
				if (msg.x > 81 && msg.x < 365 && msg.y > 254 && msg.y < 320)
					reset();
			}

		}
	}
}
void Kh_gl()//用户管理界面
{
    
    
	loadimage(&kh_gl, L"kh_gl.jpg");
	putimage(0, 0, &kh_gl);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 81 && msg.x < 365 && msg.y > 71 && msg.y < 134)//鼠标点击特定区域,即“创建账户”按钮所在区域
					Kh_register();
				if (msg.x > 81 && msg.x < 365 && msg.y > 162 && msg.y < 228)//鼠标点击特定区域,即“用户登录”按钮所在区域
					Kh_login();
				if (msg.x > 81 && msg.x < 365 && msg.y > 252 && msg.y < 318)//鼠标点击特定区域,即“修改密码”按钮所在区域
					Kh_resetpassword();
				if (msg.x > 81 && msg.x < 365 && msg.y > 344 && msg.y < 413)//鼠标点击特定区域,即“客户管理”按钮所在区域
				{
    
    
					pd();

				}
				if (msg.x > 1239 && msg.x < 1334 && msg.y > 20 && msg.y < 62)//鼠标点击exit按钮
				{
    
    
					loadimage(&kh_exit, L"kh_exit.jpg");
					putimage(0, 0, &kh_exit);
					Sleep(100);
					End();
				}
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//即返回按钮
				{
    
    
					Kh_return();

				}
			}
		}
	}
}

void Kh_gljm()//用户管理界面
{
    
    
	loadimage(&kh_gljm, L"kh_gljm.jpg");
	putimage(0, 0, &kh_gljm);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 80 && msg.x < 365 && msg.y > 92 && msg.y < 159)//鼠标点击特定区域,即“客户信息”按钮所在区域
					 Kh_gljm1();
				if (msg.x > 80 && msg.x < 365 && msg.y > 219 && msg.y < 287)//鼠标点击特定区域,即“新建记录”按钮所在区域
					Kh_gljm2();
				if (msg.x > 80 && msg.x < 365 && msg.y > 344 && msg.y < 408)//鼠标点击特定区域,即“记录查询”按钮所在区域
					Kh_gljm3();
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//鼠标点击返回按钮
					Kh();
				if (msg.x > 1239 && msg.x < 1334 && msg.y > 20 && msg.y < 62)//鼠标点击exit按钮
				{
    
    
					loadimage(&kh_exit, L"kh_exit.jpg");
					putimage(0, 0, &kh_exit);
					Sleep(100);
					End();
				}
			}
		}
	}
}
void Kh_gljm1()//客户信息界面
{
    
    
	loadimage(&kh_gljm1, L"kh_gljm1.jpg");
	putimage(0, 0, &kh_gljm1);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//鼠标点击返回按钮
					Kh_gljm();
				if (msg.x > 80 && msg.x < 365 && msg.y > 92 && msg.y < 159)//客户信息
					inf();
				
			
			}
		}
	}
}
void Kh_gljm2()//用户管理界面新建记录
{
    
    
	loadimage(&kh_gljm2, L"kh_gljm2.jpg");
	putimage(0, 0, &kh_gljm2);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//鼠标点击返回按钮
					Kh_gljm();
				if (msg.x > 80 && msg.x < 365 && msg.y > 219 && msg.y < 287)//新建记录
					xjjl();
			}
		}
	}
}
void Kh_gljm3()//用户管理界面,记录查询
{
    
    
	loadimage(&kh_gljm3, L"kh_gljm3.jpg");
	putimage(0, 0, &kh_gljm3);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//鼠标点击返回按钮
					Kh_gljm();
				if (msg.x > 80 && msg.x < 365 && msg.y > 344 && msg.y < 408)//记录查询
					jlcx();
			}
		}
	}
}

void Kh_return()//客户返回界面
{
    
    
	loadimage(&kh_return, L"kh_return.jpg");
	putimage(0, 0, &kh_return);
	/*下面是多个按钮的鼠标交互*/
	MOUSEMSG msg;//定义变量,保存鼠标消息
	FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
	while (true) // 主循环,循环监听鼠标信息
	{
    
    
		while (MouseHit())	//监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
		{
    
    
			msg = GetMouseMsg();//获取鼠标消息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
			{
    
    
				if (msg.x > 21 && msg.x < 103 && msg.y > 613 && msg.y < 688)//鼠标点击返回按钮
				Welcome();
			}
		}
	}
}

void End()//程序结束界面
{
    
    
	loadimage(&end, L"end.jpg");
	putimage(0, 0, &end);
}




主函数

#pragma once
#include"tyd.h"
//定义图片


//定义主函数
int main()
{
    
    
	read();
	initgraph(1366, 700);//定义窗口大小
	Welcome();


	system("pause");
	return 0;

}

加ico方法直接在资源里面添加stable后选择导入图标
exe可能无图片的原因,是因为图片与exe不在同一个目录下
②iapp做的项目
开心影视(利用x5内核+两个网页+iapp实现的封装)

在这里插入图片描述
软件成品链接
要源码的私发我吧

网站

领劵网(对接淘宝,阿里巴巴的官方接口,领劵省钱)
在这里插入图片描述
②跳蚤市场(因为网页的后台被我玩了后就给删了,所以这里也没有图片了)

微信小程序

明白了怎么搭微信小程序

猜你喜欢

转载自blog.csdn.net/qq_33942040/article/details/107026728
今日推荐