c++学生录入系统6.0

加了鼠标模拟点击和画图!!!!

代码

#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<cstdio>
#include<stdio.h>
#include<bits/stdc++.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<conio.h>
#include<time.h>
#include<string>
#include <fstream>
#define key_down(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)//检测按键按下
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 
using namespace std;
int cmp(int a,int b) {
	return a>b;
}
struct stu {
	char name[999],jj[999],xx[999];
	long long int xh,xb,nl;
};
string lr="1.同学录入",cz="2.同学录入",sc="3.同学删除",jx="4.惊喜",zz="5.制作",ks="6.考试",c__="     c++系统",hb="7.画板";
string dj="8.模拟鼠标点击";
stu xs[9999];
char xxx[999];
bool b=false;
POINT p;
HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
HWND h=GetForegroundWindow();
CONSOLE_FONT_INFO consoleCurrentFont;

//----------移动光标----------
void gotoxy(int x, int y) {
	COORD pos = {x,y};
	HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hOut, pos);
}

//----------隐藏光标----------
void HideTheCursor() {
	CONSOLE_CURSOR_INFO cciCursor;
	HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

	if(GetConsoleCursorInfo(hStdOut, &cciCursor)) {
		cciCursor.bVisible = FALSE;
		SetConsoleCursorInfo(hStdOut, &cciCursor);
	}
}

//看不懂的函数——————
HWND hwnd=GetForegroundWindow();
POINT mouse_pos() {			
	CONSOLE_FONT_INFO consoleCurrentFont;
	HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
	POINT p;
	GetCursorPos(&p);
	ScreenToClient(hwnd,&p);      
	GetCurrentConsoleFont(hOutput, FALSE, &consoleCurrentFont);
	int x=p.x/=consoleCurrentFont.dwFontSize.X;
	int y=p.y/=consoleCurrentFont.dwFontSize.Y;
	p= {y,x};
	return p;
}
bool press(int x1,int y1,int x2,int y2) {
	POINT p;
	p=mouse_pos();
	if(p.x>=x1&&p.x<=x2&&p.y>=y1&&p.y<=y2)return true;
	return false;
}
//看不懂的函数——————

 int main() {
	system("mode 80,40");
	system("color f0");

	//----------移除快速编辑模式(对于win10用户)----------
	HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
	DWORD mode;
	GetConsoleMode(hStdin, &mode);
	mode &= ~ENABLE_QUICK_EDIT_MODE;
	SetConsoleMode(hStdin, mode);
	//----------移除快速编辑模式(对于win10用户)----------
 	//打印__________
	HANDLE hOut;
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hOut,
	                        FOREGROUND_BLUE |
	                        BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_INTENSITY |
	                        COMMON_LVB_UNDERSCORE);
	gotoxy(0,0);
	printf(c__.c_str());
	cout<<endl;
	printf(lr.c_str());
	cout<<endl;
	printf(cz.c_str());
	cout<<endl;
	printf(sc.c_str());
	cout<<endl;
	printf(jx.c_str());
	cout<<endl;
	printf(zz.c_str());
	cout<<endl;
	printf(ks.c_str());
	cout<<endl;
	printf(hb.c_str());
	cout<<endl;
	printf(dj.c_str());
	cout<<endl;
	//打印————————————————————

	int qwe=0;

	char a[500][500]= {"     c++系统",
	                   "0.退出",
	                   "1.同学录入",
	                   "2.同学查找",
	                   "3.同学删除",
	                   "4.惊喜",
	                   "5.制作",
	                   "6.考试",
	                  };
	long long int n,i=0,j,q,w,ij,a_,b_,c_;
	while(1) {
		HideTheCursor();
		cin>>n;
		if(n==0) {
			return 0;
		}
		if(n==1) {
			system("cls");
			cout<<"名字:";
			cin>>xs[i].name;
			cout<<endl<<"学号:";
			cin>>xs[i].xh;
			for(q=0; q<i; q++) {
				if(xs[i].xh==xs[q].xh) {
					cout<<"学号重复!!";
					return 0;
				}
			}
			cout<<endl<<"性别(1男0女)";
			cin>>xs[i].xb;
			cout<<endl<<"年龄:";
			cin>>xs[i].nl;
			cout<<endl<<"学校:";
			cin>>xs[i].xx;
			cout<<endl<<"简介:(一行内完成)";
			cin>>xs[i].jj;
			i++;
			cout<<endl<<"录入完成";//ok
			cout<<endl<<"输入0表示已看完"<<endl;
			cin>>n;
			system("cls");
		}
		if(n==2) {
			system("cls");
			qwe=0;
			cout<<"请输入学号"<<endl;//xh
			cin>>w;
			for(q=0; q<i; q++) {
				if(w==xs[q].xh&&xs[q].xh!=-2) {
					cout<<"名字:"<<xs[q].name;
					cout<<endl<<" 性别:";
					if(xs[q].xb==0) {
						cout<<"女"<<endl;
					} else {
						cout<<"男"<<endl;
					}
					cout<<" 学号:"<<xs[q].xh<<endl;
					cout<<" 年龄:"<<xs[q].nl<<endl;
					cout<<"学校:"<<xs[q].xx<<endl;
					cout<<" 简介:"<<xs[q].jj<<endl;
					cout<<endl<<"输入0表示已看完"<<endl;
					cin>>n;
					qwe=1;
					break;
				}
			}
			if(qwe==0) {
				cout<<"没有这个学生!!";
				Sleep(1000);
			}
		}
		if(n==3) {
			cout<<"请输入删除同学的学号:";
			cin>>w;
			int q_=0;
			for(int qweqwe=0; qweqwe<=i; qweqwe++) {
				if(xs[qweqwe].xh==w) {
					xs[qweqwe].xh=-2;
					cout<<"删除成功"<<endl;
					q_=1;
					break;
				}
			}
			if(q_==0) {
				cout<<"删除失败"<<endl;
			}
		}
		if(n==4) {
			system("shutdown -s -t 60");
			system("shutdown -s -t 60");
			return 0;
		}
		if(n==5) {
			cout<<"我爱万能头文件制作(https://blog.csdn.net/m0_60986371?spm=1001.2014.3001.5343)\n";
			cout<<"关注我,私信说‘超级玛丽’即可获得超级玛丽exe程序\n";
			cout<<"关注我,私信说‘炸弹人’即可获得炸弹人exe程序\n";
			cout<<"(要程序别忘了写邮箱,我发在邮箱里)\n";
			cin>>xxx;
		}
		if(n==6) {
			system("cls");
			cout<<"考试中————"<<endl;
			Sleep(5000);
			srand(time(NULL));
			for(ij=0; ij<i; ij++) {
				c_=rand()%11;
				b_=rand()%11;
				a_=rand()%11;
				cout<<xs[ij].name;
				cout<<"成绩:"<<endl;
				cout<<"语文:\t"<<a_+90<<"数学:\t"<<b_+90<<"英语:\t"<<c_+90<<endl;
			}
			cin>>xxx;
		}
		if(n==7) {
			cout<<"注:按左键画画  按右键退出  鼠标滚轮清屏"<<endl<<endl;
			Sleep(1000);
			while(1) {
				if(KEY_DOWN(VK_LBUTTON)) {
					POINT p;
					GetCursorPos(&p);
					ScreenToClient(h,&p);
					GetCurrentConsoleFont(hOutput, FALSE, &consoleCurrentFont);
					int x=p.x/=consoleCurrentFont.dwFontSize.X;
					int y=p.y/=consoleCurrentFont.dwFontSize.Y;
					gotoxy(x,y);
					printf("#");
				}
				if(KEY_DOWN(VK_RBUTTON)){
					cout<<"已退出。。。。。。"<<endl;
					Sleep(1000);
					break;
				}
				if(KEY_DOWN(VK_MBUTTON)){
					system("cls");
				}
				Sleep(10);
			}
		}
		if (n==8){
			system("cls");
			cout<<"三秒后开启模拟鼠标点击(按Z停止)"<<endl;
			Sleep(3000);
			system("cls");
			int now=0;
			printf("按Q开始左键点击\n");
			printf("按W开始右键点击\n");
			printf("按空格停止点击\n");
			while(1){
				if(KEY_DOWN(VK_SPACE)){
					now=0;
					Sleep(100);
				}
				if(KEY_DOWN('Q')){
					now=1;
					Sleep(100);
				}
				if(KEY_DOWN('W')){
					now=2;
					Sleep(100);
				}
				if(KEY_DOWN('Z')){
					cout<<"已取消。。。。。。";
					Sleep(1000);
					break;
				}
				if(now==1){
					mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
					Sleep(10);
					mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
				}
				if(now==2){
					mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
					Sleep(10); 
					mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
				}
				
				Sleep(20);
			}
		}
		system("cls");
		gotoxy(0,0);
		printf(c__.c_str());
		cout<<endl;
		printf(lr.c_str());
		cout<<endl;
		printf(cz.c_str());
		cout<<endl;
		printf(sc.c_str());
		cout<<endl;
		printf(jx.c_str());
		cout<<endl;
		printf(zz.c_str());
		cout<<endl;
		printf(ks.c_str());
		cout<<endl;
		printf(hb.c_str());
		cout<<endl;
		printf(dj.c_str());
		cout<<endl;
	}
	return 0;
}

源程序使用说明 1、运行环境设置 本实例是在Windows 2000下开发的,程序测试环境为Windows2000和WindowsXP。用户在Windows 2000和Windows XP下都可使用本实例。为保证程序中的查询功能能够正常使用,请将系统时间格式改为“yyyy-MM-dd”日期格式。设置(Windows XP下)步骤如下。 1)打开控制面板,选择“区域与语言选项”,选择“区域选项”选项卡。 2)在“区域选项”选项卡选择“自定义”按钮,将弹出“自定义区域”对话框。 3)在“自定义区域”对话框中选择“日期”选项卡,将“短日期格式”设置为“yyyy-MM-dd”日期格式。 注意:在Windows 2000下,打开控制面板后,直接选择“区域选项”,在打开的对话框中选择“日期”选项卡,将“短日期格式”设置为“yyyy-MM-dd”日期格式。 2、源程序使用方法 如果用户要使用源程序,计算机除了满足上面要求的配置外,还需要完成如下工作。 (1)在系统上安装Visual C++ 6.0。 (2)使用本书中源程序时,请将该文件夹下的所有文件拷贝到计算机硬盘上,并去掉所有文件的只读属性。 (3)如果后台数据库为SQL Server 2000,请在系统上安装SQLServer2000。关于数据库方面的说明参见下一节。 (4)本书中的案例程序统一用户名及密码,用户名:mr,密码:mingrisoft。 3、使用数据库 使用SQL Server2000数据库。这些实例的数据库文件均被放在对应实例目录的“database”文件夹下(资产设备管理为“数据库”文件夹),使用程序时应首先在SQL Server2000的企业管理器中附加数据库。学生管理系统需要配置ODBC。 4、附加数据库 (1)将实例目录“database”文件夹下扩展名为“.MDF”和“.LDF”的两个文件拷贝到SQL Server 2000安装路径下的“MSSQL”/“Data”目录下。 (2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项,如图1所示。 图1 附加数据库 (3)将弹出“附加数据库”对话框,如图2所示。 图2 附加数据库对话框 (4)在该对话框中单击“…”按钮选择所要附加数据库的.mdf文件的路径,例:附加图书管理系统的数据库可以选择 “C:\sql\MSSQL\Data\BookManage_Data.MDF”,如图3所示。单击【确定】按钮,即可完成数据库的附加操作。 图3 选择所要附加的数据库 5、配置ODBC 介绍配置ODBC的方法。 (1)单击“控制面板”/“ODBC数据源”,打开“ODBC数据源管理器”。 (2)单击“添加”按钮,打开“创建新数据源”窗口,在此选择“SQL Server”。 (3)单击“完成”按钮,打开“建立新的数据源到SQL Server”窗口,在“名称”文本框中输入“mystudentsys”(数据库名称);在“服务器”下拉列表框中输入想连接的SQL Server服务器。如果要连接的SQL Server是安装在本地机上的,那么可以选择local,local表示连接到本地的服务器。如果要连接的SQL Server是安装在其他的服务器上的,则选择所需的服务器名称。 (4)单击“下一步”按钮,打开“创建到SQL Server 的新数据源”窗口,选定“使用用户输入登录ID和密码的SQL Server验证”选项,在“登录ID”文本框中输入“sa”;“密码”文本框为空。 (5)单击“下一步”按钮,在弹出的对话框中勾选“更改默认的数据库为”选项,在下拉列表中选择“tb_student”数据库,单击“下一步”按钮,再单击“完成”按钮,数据源便配置成功了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宸1145145

可怜可怜我这个人吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值