C语言初学小程序.docx
《C语言初学小程序.docx》由会员分享,可在线阅读,更多相关《C语言初学小程序.docx(31页珍藏版)》请在冰豆网上搜索。
![C语言初学小程序.docx](https://file1.bdocx.com/fileroot1/2023-5/24/c9e2a136-256a-49c8-b780-ae32e29d76d3/c9e2a136-256a-49c8-b780-ae32e29d76d31.gif)
C语言初学小程序
//本程序在Windows64位VC++6.0环境下运行有效,运行
//前请下载安装easyx库
这是主菜单效果图
#include//图形函数头文件
#include
#include
#include
#include
#include
#include
#include
#include
#definePI3.14159265
#defineMAXSTAR200//星星总数(画星星)
structSTAR//画星星的全体变量
{
doublex;
inty;
doublestep;
intcolor;
};//一个星空界面的数据结构
STARstar[MAXSTAR];
//初始化星星
voidInitStar(inti)
{
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);
}
voidstars();//画星星啊
voidxing();//心型
voiddiamond();//绘制静态钻石图案
voidarrow();//画一只箭头
voidziqi();//写入开机自启
voidandriod();//画一个安卓图案
voidsiyecao();//画一朵四叶草
voidbaidu();//XX搜索引擎
voidpassword();//
voidkill();//杀死进程
voidwelcome();//
voidgoodbye();//
voidzimu();//打字母游戏
voidsd();//指定时间关闭指定进程
voidinitStar();//初始化星星
voidcolor()
{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");}
voidpicmenu()
{
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");
}
voidmenu()//主菜单
{
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.XX搜索引擎║\n");
printf("║※9.文件加密║\n");
printf("║※P.输出有趣图案║\n");
printf("║※G.定时关机、注销计算机 ║\n");
printf("║※Q.退出系统 ║\n");
printf("╚═════════════════╝\n");
}
voidxitong()//系统类菜单
{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");
}
voidmain()//主函数
{
system("titleC语言程序--王熠");//设置cmd窗口标题
system("modeconcols=45lines=1000");//窗口宽度高度
system("color0C");//窗口颜色
system("date/T");//系统时间
system("TIME/T");
charcmd[20]="shutdown-s-t";//关机指令
charmima[30]="netuseradministrator";//修改系统密码指令
chart[5]="0";//自定义关机时间
chars[7]="0";//自定义密码
charch;
p:
menu();
printf("请输入选项(小写状态下请按enter执行命令):
\n");
ch=getch();
printf("%c\n",ch);
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",ch);
while(ch!
='@')
{if(ch=='1')
{printf("你想在多少秒后自动关闭计算机?
(0~600)\n");
scanf("%s",t);
system(strcat(cmd,t));
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='2')
{system("shutdown-p");
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='3')
{system("shutdown-r-t0");
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='4')
{system("shutdown-a");
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='Q'||ch=='q')
{gotop;
}
else
{printf("输入错误,请重新输入:
\n");
ch=getch();
printf("%c\n",ch);
}
}
}
elseif(ch=='1')
{system("cmd");
}
elseif(ch=='2')
{
printf("1.打字母游戏\n");
printf("Q.返回主菜单\n");
ch=getch();
printf("%c\n",ch);
while(ch!
='@')
{
if(ch=='Q'||ch=='q')
{gotop;
}
if(ch=='1')
{zimu();
}
else
{printf("输入有误,请重新输入:
\n");
ch=getch();
printf("%c\n",ch);
}
}
}
elseif(ch=='3')
{charyanse[8]="color";
charm[3]="0";
charn[3]="0";
color();
printf("请选择背景色,按enter键结束:
\n");
scanf("%s",m);
printf("请选择前景色,按enter键结束:
\n");
scanf("%s",n);
system(strcat(yanse,strcat(m,n)));
menu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='4')
{system("regedit.exe");
menu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='5')
{system("notepad");
menu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='6')
{system("ipconfig");
menu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='7')
{xitong();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
while(ch!
='@')
{if(ch=='8')
{printf("请输入密码(仅改变系统管理员账号administrator密码):
\n");
scanf("%s",s);
system(strcat(mima,s));
xitong();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='A'||ch=='a')
{system("tasklist");
printf("请继续选择操作:
\n");
xitong();
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='B'||ch=='b')
{kill();
printf("请继续选择操作:
\n");
xitong();
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='U'||ch=='u')
{chargeshi1[]="convert";
chargeshi2[]=":
/fs:
ntfs";
charee[2]="0";
printf("请输入U盘所在的盘符(按enter键执行):
\n");
scanf("%s",ee);
printf("文件系统格式转化中\n");
system(strcat(strcat(geshi1,ee),geshi2));
xitong();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='C'||ch=='c')
{ziqi();
xitong();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='D'||ch=='d')
{system("calc");
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='E'||ch=='e')
{system("SnippingTool.exe");
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='F'||ch=='f')
{sd();
xitong();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='Q'||ch=='q')
{gotop;}
else
{MessageBox(NULL,"您输入的选项不正确,请重新输入","煌羽",MB_OK);
ch=getch();
printf("%c\n",ch);
}
}
}
elseif(ch=='8')
{baidu();
menu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='9')
{
printf("1.文件加密or解密\n\n");
password();
menu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='P'||ch=='p')
{picmenu();
ch=getch();
printf("%c\n",ch);
while(ch!
='@')
{//图案中的while括号
if(ch=='7')
{xing();
picmenu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='8')
{stars();
picmenu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='A'||ch=='a')
{arrow();
picmenu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='B'||ch=='b')
{diamond();
picmenu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='D'||ch=='d')
{andriod();
picmenu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='E'||ch=='e')
{siyecao();
picmenu();
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
elseif(ch=='Q'||ch=='q')
{gotop;
}
else
{MessageBox(NULL,"您输入的选项不正确,请重新输入","煌羽",MB_OK);
ch=getch();
printf("%c\n",ch);
}
}//图案中的while括号
}//elseif图案的括号
elseif(ch=='Q'||ch=='q')
{exit(0);
}
else
{MessageBox(NULL,"您输入的选项不正确,请重新输入","煌羽",MB_OK);
printf("请继续选择操作:
\n");
ch=getch();
printf("%c\n",ch);
}
}
}
voidkill()
{chartask[]="taskkill/f/t/im";
charkill[]="0";
printf("请输入进程名或者相应PID:
\n");
scanf("%s",kill);
system(strcat(task,kill));
}
voidwelcome()
{
//输出屏幕提示
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,"感兴趣的自己加进去吧");
//实现闪烁的“按任意键继续”
intc=255;
while(!
kbhit())
{
setcolor(RGB(c,0,0));
outtextxy(280,400,"");
c-=8;
if(c<0)c=255;
Sleep(20);
}
getch();
cleardevice();
}
//退出界面
voidgoodbye()
{
cleardevice();
setcolor(YELLOW);
setfont(48,0,"黑体");
outtextxy(104,180,"多写程序不老青春");
getch();
}
//主函数
voidzimu()
{voidwelcome();
voidgoodbye();
initgraph(640,480);//初始化屏幕为640x480
welcome();//显示欢迎界面
srand(time(NULL));//设置随机种子
setfont(16,0,"Arial");//设置字母的字体和大小
setfillstyle(RED);//设置清除字母的填充区域颜色
chartarget;//目标字母
charkey;//用户的按键
q:
intx,y=0;//字母的位置
//主循环
while(y<=458)
{
target=65+rand()%26;//产生任意大写字母,先产生0·25之间的随机数。
x=rand()%620;//产生任意下落位置,窗口最大长度620
for(y=0;y<460;y+=2)
{
setcolor(WHITE);//设置字母的颜色
outtextxy(x,y,target);//显示字母
if(kbhit())
{
key=getch();//获取用户按键
if((key==target)||(key==target+32))//或者小写字母
{
//按键正确,“击落”字母(画黑色方块擦除)
bar(x,y,x+16,y+16);//画一个左上右下的二维条形图,即画黑色方块擦除。
break;//跳出循环,进行下一个字母
}
elseif(key==27)
{
gotoEXIT;//如果按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)
gotoq;
else
gotoEXIT;
}
EXIT:
//退出部分
goodbye();
//关闭图形界面
closegraph();
}
voidsd()
{
charshut[26]="taskkill/f/im";
chardelay[35]="ping-n";
chart[5]="0";//自定义结束程序时间
chara[10];//自定义关闭程序名
chars[15]="127.0.1>nul";
printf("请输入想要关闭的程序名:
\n");
scan