(我的第一篇文章)
Tips:我的所有文章基于Dev-C++
1.缺省源的起源
大家在码C++时会不会有一种感觉,每次开新文件都要重打#include和namespace之类的东西,烦得很,而且假如你喜欢创作游戏,而且又恰好是用很多windows.h的话……那就更麻烦了,什么
void gotoxy(int x,int y){COORD pos;pos.X=2*(y);pos.Y=x;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}
void Slow(string a) {int l=a.size();for(int i=0;i<l;i++){cout<<a[i];Sleep(20);}cout << endl; Sleep(100);}
之类的多得很。
这时有些人就说了,我写个程序存这些,开新文件的时候一个Ctrl+V不就好了?但这还是烦了点,而且开新Dev时还得重开程序,对我这样的懒人更是精神折磨······
所以我们的主角缺省源就出场了。
2.缺省源用法
很简单,Dev里工具[T]->编译器选项[E]->代码->缺省源,往里写东西就好。
记得要勾选向项目初始源文件插入代码
3.我的缺省源
现在我要告诉大家一件事,前面的全是水……
给大家介绍一下我的缺省源
#include<bits/stdc++.h>
#include <windows.h>
using namespace std;
const int N = 1e6 + 10;
const double PI = 3.14159265359;
const double E = 2.718281828459;
void gotoxy(int x,int y){COORD pos;pos.X=2*(y);pos.Y=x;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}
void Slow(string a) {int l=a.size();for(int i=0;i<l;i++){cout<<a[i];Sleep(20);}cout << endl; Sleep(100);}
int p(int a, int b, int x){int i = 1;while(b){if(b&1){i*=a%x;}a*=a%x;b>>=1;}return i;}
enum ConsoleColor {BLACK = 0,BLUE = 1,GREEN = 2,CYAN = 3,RED = 4,
MAGENTA = 5,BROWN = 6,LIGHT_GRAY = 7,DARK_GRAY = 8,
LIGHT_BLUE = 9,LIGHT_GREEN = 10,LIGHT_CYAN = 11,
LIGHT_RED = 12,LIGHT_MAGENTA = 13,YELLOW = 14,WHITE = 15};
void Color(ConsoleColor color) {HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, color);}
int randint(int a,int b){srand(static_cast<unsigned int>(time(0)));return rand() % (b-a+1)+a;}
#define ifdown(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0)
#define press(VK_NONAME) keybd_event(VK_NONAME,0,0,0),keybd_event(VK_NONAME,0,2,0)
#define hide ShowWindow(GetConsoleWindow(),SW_HIDE);
#define show ShowWindow(GetConsoleWindow(),SW_SHOW);
int main(){
return 0;
}
gotoxy、Slow和Color用处显而易见;p是快速幂,用来凑数;randint是随机数,都是基操。
后面几个define就需要解释了,ifdown是检测是否按下某键,比getch好用,press是模拟按下某键,HideCursor和ShowCursor是隐显光标,hide和show是隐显控制台。
当然有时候要码信奥了,直接从const Pi删到main,windows.h删掉就好了。
写完收工!