自己给老师写的点名器,有bug吗
#include<bits/stdc++.h>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#define Get GetStdHandle(STD_OUTPUT_HANDLE)
using namespace std;
int N;
inline void mouse(int a)
{
HANDLE handle=Get;
CONSOLE_CURSOR_INFO CursorInfo;
GetConsoleCursorInfo(handle,&CursorInfo);//获取控制台光标信息
CursorInfo.bVisible=a; //隐藏控制台光标
SetConsoleCursorInfo(handle,&CursorInfo);
}
string name[1000];
bool b[1000];
int result;
int main(){
srand(time(NULL));
cout<<"加载中...";
freopen("班级名单.txt","r",stdin);
cin>>N;
for(int i=0;i<N;i++)cin>> name[i];
random_shuffle(name,name+N);
// for(int i=0;i<N;i++)cout<<name[i]<<endl;
// Sleep(10000);
mouse(0);
system("cls");
system("mode con cols=40 lines=5");
system("color 1e");system("title 点名器");
cout<<"按下空格开始,放开结束"<<endl;
result=N+1;
while(1){
if(KEY_DOWN(' ')){
system("cls");
start:
result=rand()%N;
if(b[result])goto start;
cout<<endl<<endl<<" ";
cout<<name[result]<<endl;
Sleep(1);
}
else b[result]=1;
}
return 0;
}