#include #define MAXSTAR 200 // 星星总数(画星星) struct STAR//画星星的全体变量 { double x; int y; double step; int color; };//一个星空界面的数据结构 STAR star[MAXSTAR]; // 初始化星星 void InitStar(int i) { star[i].x = 0; star[i].y = rand() % 480; star[i].step = (rand() % 5000) / 1000.0 + 1; } star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5); // 速度越快,颜色越亮 star[i].color = RGB(star[i].color, star[i].color, star[i].color); void stars();//画星星啊 void xing();//心型 void diamond();//绘制静态钻石图案 void arrow();//画一只箭头 void ziqi();//写入开机自启 void andriod();//画一个安卓图案 void siyecao();//画一朵四叶草 void baidu();//百度搜索引擎 void password();// void kill();//杀死进程 void welcome();// void goodbye();// void zimu();//打字母游戏 void sd();//指定时间关闭指定进程 void initStar();//初始化星星 void color() {printf(\"╔═══╧╧更改程序颜色╧╧═══════════╗\\n\"); printf(\"╔═背景颜色╧╧╧ ╧字体颜色═══════════╗\\n\"); printf(\"║※0 = 黑色 8 = 灰色 ║\\n\"); printf(\"║※1 = 蓝色 9 = 淡蓝色 ║\\n\"); printf(\"║※2 = 绿色 A = 淡绿色 ║\\n\"); printf(\"║※3 = 浅绿色 B = 淡浅绿色 ║\\n\"); printf(\"║※4 = 红色 C = 淡红色 ║\\n\"); printf(\"║※5 = 紫色 D = 淡紫色 ║\\n\"); printf(\"║※6 = 黄色 E = 淡黄色 ║\\n\"); printf(\"║※7 = 白色 F = 亮白色 ║\\n\"); printf(\"╚═══════════════════════════════ ═╝\\n\");} void picmenu() { printf(\" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\\n\"); printf(\"╔═══╧╧C语言程序════════╗\\n\"); printf(\"║※7.输出心型图案 ║\\n\"); printf(\"║※8.画星星 ║\\n\"); printf(\"║※A.画一个箭头 ║\\n\"); printf(\"║※B.绘制钻石图案 ║\\n\"); printf(\"║※D.画一个安卓机器人 ║\\n\"); printf(\"║※E.画一朵四叶草 ║\\n\"); printf(\"║※Q.返回主菜单 ║\\n\"); printf(\"╚════════════════ ═╝\\n\"); } void menu()//主菜单 { printf(\" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\\n\"); printf(\"╔═══╧╧╧C语言程序╧╧╧═══╗\\n\"); printf(\"║※1.命令提示符 ║\\n\"); printf(\"║※2.小游戏 ║\\n\"); printf(\"║※3.更改背景及字体颜色 ║\\n\"); printf(\"║※4.打开注册表 ║\\n\"); printf(\"║※5.打开记事本 ║\\n\"); printf(\"║※6.查询本机IP地址 ║\\n\"); printf(\"║※7.系统类 ║\\n\"); printf(\"║※8.百度搜索引擎 ║\\n\"); printf(\"║※9.文件加密 ║\\n\"); printf(\"║※P.输出有趣图案 ║\\n\"); printf(\"║※G.定时关机、注销计算机 ║\\n\"); printf(\"║※Q.退出系统 ║\\n\"); printf(\"╚═════════════════╝\\n\"); } void xitong()//系统类菜单 {printf(\" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\\n\"); printf(\"╔═══╧╧╧C语言程序╧╧══╗\\n\"); printf(\"║※8.修改系统密码 ║\\n\"); printf(\"║※A.列出系统进程 ║\\n\"); printf(\"║※B.强行结束系统进程 ║\\n\"); printf(\"║※U.将U盘格式转化为NTFS ║\\n\"); printf(\"║※C.将程序写入开机自启 ║\\n\"); printf(\"║※D.计算器 ║\\n\"); printf(\"║※E.截图 ║\\n\"); printf(\"║※F.指定时间关闭指定程序 ║\\n\"); printf(\"║※Q.返回主菜单 ║\\n\"); printf(\"╚══════════════════╝\\n\"); } void main()//主函数 { system(\"title C语言程序--王熠\");//设置cmd窗口标题 system(\"mode con cols=45 lines=1000\");//窗口宽度高度 system(\"color 0C\");//窗口颜色 system(\"date /T\");//系统时间 system(\"TIME /T\"); char cmd[20]=\"shutdown -s -t \";//关机指令 char mima[30]=\"net user administrator \";//修改系统密码指令 char t[5]=\"0\";//自定义关机时间 char s[7]=\"0\";//自定义密码 char ch; p: menu(); printf(\"请输入选项(小写状态下请按enter执行命令):\\n\"); ch=getch(); printf(\"%c\\n\ while(ch!='@') { if(ch=='G'||ch=='g') {printf(\" ╪╪╪╪╪╪╧╧╧╧╧╧╧╪╪╪╪╪\\n\"); printf(\"║ 关机 ║\\n\"); printf(\"║※1.实现10分钟内的定时关闭计算机 ║\\n\"); printf(\"║※2.立即关闭计算机 ║\\n\"); printf(\"║※3.重启计算机 ║\\n\"); printf(\"║※4.取消关机 ║\\n\"); printf(\"║※Q.返回主菜单 ║\\n\"); printf(\"╚══════════════════╝\\n\"); ch=getch(); printf(\"%c\\n\ while(ch!='@') { if(ch=='1') {printf(\"你想在多少秒后自动关闭计算机?(0~600)\\n\"); scanf(\"%s\ system(strcat(cmd,t)); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\} else if(ch=='2') {system(\"shutdown -p\"); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\} else if(ch=='3') {system(\"shutdown -r -t 0\"); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='4') {system(\"shutdown -a\"); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='Q'||ch=='q') {goto p; } else {printf(\"输入错误,请重新输入:\\n\"); ch=getch(); printf(\"%c\\n\ } } } else if(ch=='1') {system(\"cmd\"); } else if(ch=='2') { printf(\"1.打字母游戏\\n\"); printf(\"Q.返回主菜单\\n\"); ch=getch(); printf(\"%c\\n\while(ch!='@') { if(ch=='Q'||ch=='q') {goto p; } if(ch=='1') {zimu(); } else {printf(\"输入有误,请重新输入:\\n\"); ch=getch(); printf(\"%c\\n\ } } } else if(ch=='3') { char yanse[8]=\"color \"; char m[3]=\"0\"; char n[3]=\"0\"; color(); printf(\"请选择背景色,按enter键结束:\\n\"); scanf(\"%s\ printf(\"请选择前景色,按enter键结束:\\n\"); scanf(\"%s\ system(strcat(yanse,strcat(m,n))); menu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='4') {system(\"regedit.exe\"); menu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='5') {system(\"notepad\"); menu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='6') {system(\"ipconfig\"); menu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='7') { xitong(); { printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\while(ch!='@') if(ch=='8') {printf(\"请输入密码(仅改变系统管理员账号administrator密码):\\n\"); scanf(\"%s\ system(strcat(mima,s)); xitong(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\} else if(ch=='A'||ch=='a') {system(\"tasklist\"); printf(\"请继续选择操作:\\n\"); xitong(); ch=getch(); printf(\"%c\\n\} else if(ch=='B'||ch=='b') {kill(); printf(\"请继续选择操作:\\n\"); xitong(); ch=getch(); printf(\"%c\\n\ } else if(ch=='U'||ch=='u') {char geshi1[]=\"convert \"; char geshi2[]=\": /fs:ntfs\"; char ee[2]=\"0\"; printf(\"请输入U盘所在的盘符(按enter键执行):\\n\"); scanf(\"%s\ printf(\"文件系统格式转化中\\n\"); system(strcat(strcat(geshi1,ee),geshi2)); xitong(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='C'||ch=='c') {ziqi(); xitong(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='D'||ch=='d') {system(\"calc\"); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='E'||ch=='e') {system(\"SnippingTool.exe\"); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='F'||ch=='f') {sd(); xitong(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='Q'||ch=='q') {goto p;} else {MessageBox(NULL,\"您输入的选项不正确,请重新输入\煌羽\ ch=getch(); printf(\"%c\\n\ } } } else if(ch=='8') { baidu(); menu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='9') { printf(\"1.文件加密or解密\\n\\n\"); password(); menu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='P'||ch=='p') {picmenu(); ch=getch(); printf(\"%c\\n\ while(ch!='@') { //图案中的while括号 if(ch=='7') {xing(); picmenu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='8') {stars(); picmenu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='A'||ch=='a') {arrow(); picmenu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='B'||ch=='b') {diamond(); picmenu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='D'||ch=='d') {andriod(); picmenu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\} else if(ch=='E'||ch=='e') {siyecao(); picmenu(); printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } else if(ch=='Q'||ch=='q') {goto p; } else {MessageBox(NULL,\"您输入的选项不正确,请重新输入\煌羽\ ch=getch(); printf(\"%c\\n\ } }//图案中的while括号 }//else if 图案的括号 else if(ch=='Q'||ch=='q') {exit(0); } else {MessageBox(NULL,\"您输入的选项不正确,请重新输入\煌羽\ printf(\"请继续选择操作:\\n\"); ch=getch(); printf(\"%c\\n\ } } } void kill() {char task[]=\"taskkill /f /t /im \"; char kill[]=\"0\"; printf(\"请输入进程名或者相应PID:\\n\"); scanf(\"%s\ system(strcat(task,kill)); } void welcome() { // 输出屏幕提示 cleardevice(); setcolor(RED); setfont(64, 0, \"黑体\"); outtextxy(160, 50, \"打字母游戏\"); setcolor(WHITE); setfont(16, 0, \"宋体\"); outtextxy(100, 200, \"就是很传统的那个掉字母然后按相应键就消失的游戏\"); outtextxy(100, 240, \"只是做了一个简单的实现\"); outtextxy(100, 280, \"功能并不很完善,比如生命数、分数等都没有写\"); outtextxy(100, 320, \"感兴趣的自己加进去吧\"); // 实现闪烁的“按任意键继续” int c=255; while(!kbhit()) { setcolor(RGB(c, 0, 0)); outtextxy(280, 400, \"www.baidu.com\"); c -= 8; if (c < 0) c = 255; Sleep(20); } getch(); cleardevice(); } // 退出界面 void goodbye() { cleardevice(); setcolor(YELLOW); setfont(48, 0, \"黑体\"); outtextxy(104, 180, \"多写程序 不老青春\"); getch(); } // 主函数 void zimu() { void welcome(); void goodbye(); q: initgraph(640, 480); welcome(); // 初始化屏幕为 640x480 // 显示欢迎界面 srand(time(NULL)); // 设置随机种子 setfont(16, 0, \"Arial\"); // 设置字母的字体和大小 setfillstyle(RED); // 设置清除字母的填充区域颜色 char target; char key; int x, y=0; // 主循环 while(y<=458) { target = 65 + rand() % 26; x = rand() % 620; for (y=0; y<460; y+=2) { // 产生任意大写字母,先产生0·25之间的随机// 产生任意下落位置,窗口最大长度620 // 目标字母 // 用户的按键 // 字母的位置 数。 setcolor(WHITE); // 设置字母的颜色 outtextxy(x, y, target); // 显示字母 if(kbhit()) { } key = getch(); // 获取用户按键 块擦除。 if((key == target) || (key == target + 32))//或者小写字母 { // 按键正确,“击落”字母(画黑色方块擦除) bar(x, y, x + 16, y + 16);//画一个左上右下的二维条形图,即画黑色方 break; } else if (key == 27) { goto EXIT; } // 跳出循环,进行下一个字母 // 如果按 ESC,退出游戏主循环 // 延时,并清除字母 Sleep(10); bar(x, y, x + 16, y + 16); } } y=0; setcolor(RED); outtextxy(120,120,\"你输了,是否继续啊?按Y继续\"); if(kbhit()) {key=getch(); if(key==89||key==121) goto q; else goto EXIT; } EXIT: // 退出部分 goodbye(); // 关闭图形界面 closegraph(); } void sd() { char shut[26]=\"taskkill /f /im \"; char delay[35]=\"ping -n \"; char t[5]=\"0\";//自定义结束程序时间 char a[10];//自定义关闭程序名 char s[15]=\" 127.0.1 >nul\"; printf(\"请输入想要关闭的程序名:\\n\"); scanf(\"%s\ printf(\"您想要在多少秒后关闭程序?\\n\"); scanf(\"%s\ system(strcat(strcat(delay,t),s)); system(strcat(shut,a)); } void baidu() {char baidu[40]=\"start www.baidu.com/s?wd=\"; char gjc[20]=\"0\"; printf(\"请输入需要查询的内容:(部分输入法无法输入,请尝试切换至系统输入法)\\n\"); scanf(\"%s\ system(strcat(baidu,gjc)); } void xing() {int i,j; printf(\" ****** ******\\n\" \" ********** **********\\n\" \" ************* *************\\n\"); for(i=0;i<3;i++) { for(j=0;j<29;j++) printf(\"*\"); printf(\"\\n\"); } for(i=0;i<7;i++) {for(j=0;j<2*(i+1)-1;j++) printf(\"\"); for(j=0;j<27-i*4;j++) printf(\"*\"); printf(\"\\n\"); } for(i=0;i<14;i++) printf(\"\"); printf(\"*\\n\"); printf(\" \\3王熠\\3\\n\" \" \\3情人节制作!!\\3\\n\\n\\n\"); printf(\" ★★★ ★★★ ★★★\\n\"); printf(\" ★ ★ ★ ★ ★ ★\\n\"); printf(\" ★ ★★ ★★ ★\\n\"); printf(\" ★ 情 人 节 快 乐! ★\\n\"); printf(\" ★ ★ ★\\n\"); printf(\" ★ ★ ★ ★\\n\"); printf(\" ★ ★ ★ ★\\n\"); printf(\" ★ ★\\n\"); } void arrow() {int gdriver,gmode; int arw[16]={200,102,300,102,300,107,330,100,300,93,300,98,200,98,200,102}; gdriver=DETECT; initgraph(&gdriver,&gmode,\"\"); setbkcolor(BLUE); cleardevice(); setcolor(12); drawpoly(8,arw); getchar(); closegraph(); } void ziqi(){ char add[200]=\"reg add HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run /v \"; char *tp=\" /t REG_SZ /d \"; char name[30]; char path[100]; printf(\"请输入新建启动项的名称(eg:program):\"); gets(name); printf(\"请输入该启动项的完整路径(360会误报为病毒程序,请允许操作)(eg:C:\\\\My document\\\\program.exe):\\n\"); gets(path); strcat(add,name); strcat(add,tp); strcat(add,path); system(add); } void password() { char password[10],len,i=0,ch,c; char infile[20]; FILE *in; FILE *out; q: printf(\"防止忘记,文件名与密钥均存放在E盘:密钥.txt中\"); printf(\"若想解密,可再次输入文件名及相同密钥\\n\"); printf(\"请输入文件名(包含文件路径,例如:E:\\abc.txt):\\n\"); gets(infile); out=fopen(\"e:\\\\密钥.txt\ fprintf(out,\"文件名:%s\\n\ if((in=fopen(infile,\"r+\"))==NULL) /* 打开文件 */ { } MessageBox(NULL,\"打开文件失败\煌羽\goto q; printf(\"输入密钥:\\n\"); scanf(\"%s\ fprintf(out,\"密码:%s\\n\ len=0; while(password[len]!=0) len++; /* 密钥长度len */ /* 文件未结束,轮流用密钥串中字符与当前字符异或 */ while((ch=fgetc(in))!=EOF) { if(ch=='\\n') { fseek(in,-2,SEEK_CUR); fputc(ch,in); } else { c=ch^password[i]; /* 加密读取的字符 */ if(c=='\\n'||c=='\\r'||c==EOF) c=ch; fseek(in,-1,1); fputc(c,in); /* 加密后字符写回文件 */ i++; if(i==len) i=0; /* 当前密钥字符已到结尾,从头再来 */ } fseek(in,ftell(in),0); } } void andriod() { // 创建大小为 800 * 600 的绘图窗口 initgraph(800, 600); // 设置原点 (0, 0) 为屏幕中央(Y轴默认向下为正) setorigin(400, 300); // 使用藏青色填充背景 setbkcolor(0x7c5731); cleardevice(); // 设置绘图样式 setlinecolor(WHITE); // 设置线条颜色为白色 setlinestyle(PS_SOLID | PS_ENDCAP_FLAT, 10); // 设置线条样式为宽度 10 的实线,端点是平的 setfillcolor(0x24c097); // 设置填充颜色为绿色 // 画身体 fillroundrect(-75, -111, 75, 39, 36, 36); // 画头 fillpie(-75, -166, 75, -30, 0, PI); circle(-31, -131, 3); circle( 31, -131, 3); // 脸 // 右眼 // 左眼 // 画天线 fillellipse(-52, -181, -38, -167); // 右天线 line(-50, -169, -41, -156); line(-38, -177, -28, -162); fillellipse( 52, -181, 38, -167); // 左天线 line( 50, -169, 41, -156); line( 38, -177, 28, -162); // 用绿色擦掉天线部分多余的线 setlinecolor(0x24c097); // 设置线条颜色为绿色 setlinestyle(PS_SOLID | PS_ENDCAP_ROUND, 5); // 设置线条样式为宽度 5 的实线,端点为圆形 line(-44, -174, -23, -142); // 画右天线内部的绿线 line( 44, -174, 23, -142); // 画左天线内部的绿线 setlinecolor(WHITE); // 恢复线条颜色为白色 setlinestyle(PS_SOLID | PS_ENDCAP_FLAT, 10); // 恢复线条样式为宽度 10 的实线,端点是平的 // 画胳膊 fillroundrect(-117, -99, -75, 7, 42, 42); // 右胳膊 fillroundrect( 117, -99, 75, 7, 42, 42); // 左胳膊 // 画腿 fillpie(-50, 49, -8, 91, PI, PI * 2); line(-50, 40, -50, 70); line(-8, 40, -8, 70); solidroundrect(-45, 0, -13, 86, 32, 32); fillpie( 50, 49, 8, 91, PI, PI * 2); line( 50, 40, 50, 70); line( 8, 40, 8, 70); solidroundrect( 45, 0, 13, 86, 32, 32); // 右腿 // 左腿 // 画字母 A arc(-185, 132, -144, 173, PI / 2, PI * 3 / 2); line(-165, 132, -135, 132); line(-165, 173, -154, 173); line(-140, 127, -140, 178); // 画字母 N arc(-118, 131, -78, 171, 0, PI); line(-118, 151, -118, 178); line(-78, 151, -78, 178); // 画字母 D arc(-57, 132, -16, 173, PI * 3 / 2, PI / 2); line(-60, 132, -37, 132); line(-60, 173, -37, 173); // 画字母 R arc(14, 132, 40, 158, PI * 3 / 2, PI / 2); arc(-2, 158, 38, 198, 0, PI / 2); line(1, 132, 27, 132); line(1, 158, 27, 158); // 画字母 O circle(81, 152, 21); // 画字母 I line(124, 127, 124, 178); // 画字母 D arc(144, 132, 185, 173, PI * 3 / 2, PI / 2); line(141, 132, 164, 132); line(141, 173, 164, 173); // 按任意键退出 _getch(); closegraph(); } void siyecao(void) { // 初始化绘图窗口 initgraph(640, 480); // 创建绘图窗口 setcolor(GREEN); // 设置绘图颜色 setorigin(320, 240); // 画花朵 double e; int x1, y1, x2, y2; // 设置原点坐标 for(double a = 0; a < 2 * PI; a += 2 * PI / 720) { e = 100 * (1 + sin(4 * a)); } x1 = (int)(e * cos(a)); y1 = (int)(e * sin(a)); x2 = (int)(e * cos(a + PI / 5)); y2 = (int)(e * sin(a + PI / 5)); line(x1, y1, x2, y2); Sleep(20); // 延迟函数,实现慢速绘制的动画效果 // 按任意键退出 _getch(); closegraph(); } void stars() {void initStar(); srand((unsigned)time(NULL)); // 随机种子 initgraph(640, 480); // 打开图形窗口 // 初始化所有星星 for(int i=0; i star[i].x += star[i].step; if (star[i].x > 640) InitStar(i); // 画新星星 putpixel((int)star[i].x, star[i].y, star[i].color); Sleep(20); } } _getch(); closegraph(); // 关闭图形窗口 } void diamond() { initgraph(640, 480); int x0=320,y0=240; int n=25,i,j,r=180; int x[50],y[50]; cleardevice(); setbkcolor(BLACK); setcolor(GREEN); for(i=0;i 因篇幅问题不能全部显示,请点此查看更多更全内容