本帖最后由 浅暮丶千殇 于 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;
}
|