搜索
查看: 2233|回复: 9
打印 上一主题 下一主题

如何解决switch case不能使用字符串

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-28 17:02:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
139啊哈币
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
printf("C-Command Prompt命令提示符 [版本 1.0.2409]\n");
printf("版权所有(c) 4k-Rn 保留所有权利。\n\n");
char cmd[10];
while(1>0)
{
printf("ME>");
scanf("%s",&cmd);
if(cmd=='cls')
{
system("cls");
getch();
}
if(cmd=='assoc')
{
system("assoc");
getch();
}
if(cmd=='pause')
{
system("pause");
getch();
}
if(cmd=='help')
{
help();
getch();
}
}
}


help()
{
printf("ASSOC    显示或修改文件扩展名关联。\n");
printf("AT       计划在计算机上运行的命令和程序。\n");
printf("ATTRIB   显示或更改文件属性。\n");
printf("BREAK    设置或清除扩展式 CTRL+C 检查。\n");
printf("CACLS    显示或修改文件的访问控制列表(ACLs)。\n");
printf("CALL     从另一个批处理程序调用这一个。\n");
printf("CD       显示当前目录的名称或将其更改。\n");
printf("CHCP     显示或设置活动代码页数。\n");
printf("CHDIR    显示当前目录的名称或将其更改。\n");
printf("CHKDSK   检查磁盘并显示状态报告。\n");
printf("CHKNTFS  显示或修改启动时间磁盘检查。\n");
printf("CLS      清除屏幕。\n");
printf("CMD      打开另一个 Windows 命令解释程序窗口。\n");
printf("COLOR    设置默认控制台前景和背景颜色。\n");
printf("COMP     比较两个或两套文件的内容。\n");
printf("COMPACT  显示或更改 NTFS 分区上文件的压缩。\n");
printf("CONVERT  将 FAT 卷转换成 NTFS。\n");
printf("COPY     将至少一个文件复制到另一个位置。\n");
printf("DATE     显示或设置日期。\n");
printf("DEL      删除至少一个文件。\n");
printf("DIR      显示一个目录中的文件和子目录。\n");
printf("DISKCOMP 比较两个软盘的内容。\n");
printf("DISKCOPY 将一个软盘的内容复制到另一个软盘。\n");
printf("DOSKEY   编辑命令行、调用 Windows 命令并创建宏。\n");
printf("ECHO     显示消息,或将命令回显打开或关上。\n");
printf("ENDLOCAL 结束批文件中环境更改的本地化。\n");
printf("ERASE    删除至少一个文件。\n");
printf("EXIT     退出 CMD.EXE 程序(命令解释程序)。\n");
printf("FC       比较两个或两套文件,并显示不同处。\n");
printf("FIND     在文件中搜索文字字符串。\n");
printf("FINDSTR  在文件中搜索字符串。\n");
printf("FOR      为一套文件中的每个文件运行一个指定的命令\n");
printf("FORMAT   格式化磁盘,以便跟 Window 使用。\n");
printf("FTYPE    显示或修改用于文件扩展名关联的文件类型。\n");
printf("GOTO     将 Windows 命令解释程序指向批处理程序中某个标明的行。\n");
printf("GRAFTABL 启用 Windows 来以图像模式显示扩展字符集。\n");
printf("HELP     提供 Windows 命令的帮助信息。\n");
printf("IF       执行批处理程序中的条件性处理。\n");
printf("LABEL    创建、更改或删除磁盘的卷标。\n");
printf("MD       创建目录。\n");
printf("MKDIR    创建目录。\n");
printf("MODE     配置系统设备。\n");
printf("MORE     一次显示一个结果屏幕。\n");
printf("MOVE     将文件从一个目录移到另一个目录。\n");
printf("PATH     显示或设置可执行文件的搜索路径。\n");
printf("PAUSE    暂停批文件的处理并显示消息。\n");
printf("POPD     还原 PUSHD 保存的当前目录的上一个值。\n");
printf("PRINT    打印文本文件。\n");
printf("PROMPT   更改 Windows 命令提示符。\n");
printf("PUSHD    保存当前目录,然后对其进行更改。\n");
printf("RD       删除目录。\n");
printf("RECOVER  从有问题的磁盘恢复可读信息。\n");
printf("REM      记录批文件或 CONFIG.SYS 中的注释。\n");
printf("REN      重命名文件。\n");
printf("RENAME   重命名文件。\n");
printf("REPLACE  替换文件。\n");
printf("RMDIR    删除目录。\n");
printf("SET      显示、设置或删除 Windows 环境变量。\n");
printf("SETLOCAL 开始批文件中环境更改的本地化。\n");
printf("SHIFT    更换批文件中可替换参数的位置。\n");
printf("SORT     对输入进行分类。\n");
printf("START    启动另一个窗口来运行指定的程序或命令。\n");
printf("SUBST    将路径跟一个驱动器号关联。\n");
printf("TIME     显示或设置系统时间。\n");
printf("TITLE    设置 CMD.EXE 会话的窗口标题。\n");
printf("TREE     以图形模式显示驱动器或路径的目录结构。\n");
printf("TYPE     显示文本文件的内容。\n");
printf("VERIFY   告诉 Windows 是否验证文件是否已正确写入磁盘。\n");
printf("VOL      显示磁盘卷标和序列号。\n");
printf("XCOPY    复制文件和目录树。\n");
}

最佳答案

查看完整内容

??????????????
沙发
发表于 2013-2-28 17:02:11 | 只看该作者

??????????????
板凳
 楼主| 发表于 2013-2-28 17:02:25 | 只看该作者
??????????????
地板
发表于 2013-2-28 18:50:31 | 只看该作者
最直接的方法用if else if吧
5#
发表于 2013-2-28 20:20:27 | 只看该作者
你试试。。。。。。。。。。。。
6#
发表于 2013-2-28 20:20:39 | 只看该作者
rosynirvana 发表于 2013-2-28 18:50
最直接的方法用if else if吧


你试试。。。。。。。。。。。。
7#
发表于 2013-2-28 21:14:05 | 只看该作者
4k-Rn 发表于 2013-2-28 20:20
你试试。。。。。。。。。。。。

我不知道你要做什么

如果你要比较字符串,应该用strcmp
如果要忽略大小写,还要自己写一个
8#
发表于 2013-2-28 22:06:47 | 只看该作者
rosynirvana 发表于 2013-2-28 21:14
我不知道你要做什么

如果你要比较字符串,应该用strcmp

C语言cmd
9#
发表于 2013-2-28 22:20:01 | 只看该作者
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int prime(int a);

  4. int main()
  5. {
  6.     printf("Dummy Console\n");
  7.     printf("Anyone can do whaterver he wants to the source code\n");
  8.     char line[200];
  9.     while(1)
  10.     {
  11.         printf("%% ");
  12.         scanf("%s",line);
  13.         system(line);
  14.     }

  15.     return 0;
  16. }
复制代码
直接这么不就好了

字符串中的某些字符需要转义
写个函数处理一下就行
fully-functioning需要做到什么程序就不清楚了
10#
发表于 2013-3-3 10:41:36 | 只看该作者
rosynirvana 发表于 2013-2-28 22:20
直接这么不就好了

字符串中的某些字符需要转义

汗。。。
谢谢了
为什么ifelse用不了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表