吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2745|回复: 20
收起左侧

[C&C++ 转载] 新人练手——编写批处理

[复制链接]
浅暮丶千殇 发表于 2020-3-31 13:28
本帖最后由 浅暮丶千殇 于 2020-4-2 12:48 编辑

switch 分支 忘了个重要的命令 就是 default:  这个命令是在 case 匹配失败时用到的  原代码中的 if 判断可以用这个代替,为了好比较 保留原代码  ,下面放出修改后的代码 ,在原代码下面
本人刚学C语言,根据某代码园的教程自己编写了一个快捷打开Windows内置应用的小工具,通过Windows命令进行编写,原理同批处理
下面放出代码,如有需要,可自行修改,ennnn 本代码所有跳转用了goto 来进行跳转  不喜勿喷
[C] 纯文本查看 复制代码
#include <iostream>
#include <windows.h>
#include <stdlib.h>

int main (void)
{
        int x;
        //设置窗口颜色,标题,大小
        system("color 1F");
        system("title Windows 快捷方式 ");
        system("mode con:cols=50 lines=25");
        //启动页面
        printf("\t    欢迎使用Windows快捷方式\n");
        printf("\n");
        printf("  本应用能快捷打开系统各程序,无须手动输入命令行\n");
        printf("\n");
        printf("\t    按任意键进入主菜单......\n");
        system("pause > nul");
        //菜单,添加了跳转标志
        MENU:
        system("cls");
        printf("\n");
        printf("----------------------主菜单----------------------\n");
        printf("\t\t   1.命令提示符\n"); 
        printf("\n");
        printf("\t\t   2.本地计算机管理\n");
        printf("\n");
        printf("\t\t   3.组策略\n");
        printf("\n");
        printf("\t\t   4.注册表\n");
        printf("\n");
        printf("\t\t   5.系统配置\n");
        printf("--------------------------------------------------\n");
        printf("请输入选项:"); 
        scanf("%d",&x);
        //判断输入值,未加入空值判断,不会
        if ( x < 6) {
                //分支判断
                switch (x)
                {
                    case 1:
                            system("start cmd.exe");
                            goto MENU;        
                    
                    case 2:
                            system("start compmgmt.msc");
                            goto MENU;
                    
                    case 3:
                            system("start gpedit.msc");
                            goto MENU;
                    
                    case 4:
                            system("start regedit.exe");
                            goto MENU;
                    
                    case 5:
                            system("start msconfig.exe");
                            goto MENU;
                }
        } else {
                printf("超出范围值,请重新输入\n"); 
                system("pause > nul");
                goto MENU;
        }                
        return 0;
}

修改后的代码:
[C] 纯文本查看 复制代码
#include <iostream>
#include <windows.h>
#include <stdlib.h>

int main (void)
{
        int x;
        //设置窗口颜色,标题,大小
        system("color 1F");
        system("title Windows 快捷方式 ");
        system("mode con:cols=50 lines=25");
        //启动页面
        printf("\t    欢迎使用Windows快捷方式\n");
        printf("\n");
        printf("  本应用能快捷打开系统各程序,无须手动输入命令行\n");
        printf("\n");
        printf("\t    按任意键进入主菜单......\n");
        system("pause > nul");
        //菜单,添加了跳转标志
        MENU:
        system("cls");
        printf("\n");
        printf("----------------------主菜单----------------------\n");
        printf("\t\t   1.命令提示符\n"); 
        printf("\n");
        printf("\t\t   2.本地计算机管理\n");
        printf("\n");
        printf("\t\t   3.组策略\n");
        printf("\n");
        printf("\t\t   4.注册表\n");
        printf("\n");
        printf("\t\t   5.系统配置\n");
        printf("--------------------------------------------------\n");
        printf("请输入选项:"); 
        scanf("%d",&x);
         //分支判断
         switch (x) {
                case 1:
                        system("start cmd.exe");
                goto MENU;
                    
            case 2:
                    system("start compmgmt.msc");
                     goto MENU;
            
            case 3:
                    system("start gpedit.msc");
                     goto MENU;
            
            case 4:
                    system("start regedit.exe");
                     goto MENU;
            
            case 5:
                    system("start msconfig.exe");
                     goto MENU;
            
            default:
                    printf("超出范围值,请重新输入\n"); 
                    system("pause > nul");
            goto MENU;
        }       
        return 0;
}

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Mr.Xuan + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

素问何问 发表于 2020-3-31 13:36
把goto MENU改成 main();
醉情的大叔 发表于 2020-4-2 19:41
浅暮丶千殇 发表于 2020-4-2 11:51
看看C:\Windows\System32 这个路径有没有msconfig.exe 没有的话去win7以上的操作系统拷贝一个 有的话 修 ...

这个方法我知道的,但是我希望本身这个成品本身能做到这一点.不用说是一个快捷方式需要我去自己安装东西,感谢告知哈
流年丶 发表于 2020-3-31 13:37
pzyxiao 发表于 2020-3-31 13:42
请问,是什么软件编译的,初学者,谢谢
latvro 发表于 2020-3-31 13:43
这不是批处理文件吧bat的
wysyz 发表于 2020-3-31 13:45
不是批处理bat
 楼主| 浅暮丶千殇 发表于 2020-3-31 13:46
本帖最后由 浅暮丶千殇 于 2020-3-31 17:21 编辑
素问何问 发表于 2020-3-31 13:36
把goto MENU改成 main();

测试了下  因为我加了个开屏说明 所以此处不适合这样改 只能通过跳转进行
 楼主| 浅暮丶千殇 发表于 2020-3-31 13:47
latvro 发表于 2020-3-31 13:43
这不是批处理文件吧bat的

不是bat   但是执行代码跟批处理同理   
kenxy 发表于 2020-3-31 13:54
素问何问 发表于 2020-3-31 13:36
把goto MENU改成 main();

为什么要改?
 楼主| 浅暮丶千殇 发表于 2020-3-31 14:00
pzyxiao 发表于 2020-3-31 13:42
请问,是什么软件编译的,初学者,谢谢

Dev  C++ 5.11    下载链接:https://qianmuqianshang.lofter.com/post/1f884d81_1c82e843b
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-6 08:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表