| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2552 人关注过本帖, 1 人收藏
标题:呀,郁闷了!这个switch怎么用啊!各位大哥帮忙看看!
取消只看楼主 加入收藏
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
结帖率:80%
收藏(1)
 问题点数:0 回复次数:6 
呀,郁闷了!这个switch怎么用啊!各位大哥帮忙看看!
各位大哥帮帮忙啊!这里的问题已经有2天没解决出来!实在没办法才到论坛问下!谢谢各位了!
问题如下:
#include"stdio.h"
#include"malloc.h"
#define E 欢迎您的到来!
void main()
{
    char *shuru,shuru2,str[8],*a="进入",*b="退出";           这里我一开始没有str数组!以至于后来的输入不没解决的办法,就使用了一个数组,然后使指针指向它……不知道我这里这样处理对不对!(请看@这里)
    printf("%s\t%s\n",a,b);
    shuru=str;
    scanf("%s",shuru);   @   就是这里!还有比这样高效的吗?
    switch(*shuru)      我问的问题,就在这里,这里使用switch,判断*shuru……
    {
    case '进入':printf("调用进入软件的函数");break;   //*调用进入软件的函数*//
    case '*b':printf("再见");break;  //*这里需要加入goto命令!*//
    default:printf("您输入错误");break;
    }
}
case '进入':printf("调用进入软件…………
这里我一开始时是“case '*a':printf……”的!能编译出来,可是无论输入什么都出现“您输入错误”
我把*a改为a,然后在编译(能编译出来),然后输入a,竟然能输入“调用进入软件的函数”……
这里我搞了几天了,不知道怎么解决才能输入“进入”,然后才在“case '进入':printf("调用进入软件的……”这里调用以后写好的函数……各位大哥帮帮忙啊!谢谢了!
搜索更多相关主题的帖子: switch shuru str printf break 
2008-06-18 16:47
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
#include"stdio.h"
#include"malloc.h"
#define E 欢迎您的到来!
void main()
{
    char *shuru,shuru2,str[8],*a="进入",*b="退出";
    printf("%s\t%s\n",a,b);
    shuru=str;
    scanf("%s",shuru);
    switch(*shuru)
    {
    case '*a':printf("调用进入软件的函数");break;   //*调用进入软件的函数*//
    case '*b':printf("再见");break;  //*这里需要加入goto命令!*//
    default:printf("您输入错误");break;
    }
}


啊,我的问题是不是出在DOS下输入中文的没处理好?
switch这里没处理好是吧!我在修改下……谢谢……


回2楼的:
#include<stdio.h>
#include<string.h>
int main(void)
{
         char a[10];
         char jinru[6]="jinru";
         char tuichu[7]="tuichu";
         int i,j=0;
         while(j!= 1 && j!= 2 )
         {
                printf("请输入:“jinru”或者“tuichu”\n");
                gets(a);
                for(i=0;i<strlen(a)&&a[0]=='j';i++)  //这里,strlen(a)那里来的啊?啥意思?
                {
                        if(jinru[i]==a[i]&&strlen(jinru)==strlen(a))    j=1;
                        else  {j=0;   break;}
                }
……………………………………
2008-06-20 15:13
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
晕,怎么回事,帖沉了!大家帮帮忙啊!
2008-06-20 16:18
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
……我只是想和*a对比,然后在选择输出的……不知道怎么办?我这个程序是不是在DOS下中文不行,程序如果用英文就OK呢?!
2008-06-20 16:23
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
#include"stdio.h"
#include"malloc.h"
#define E 欢迎您的到来!
void main()
{
    char *shuru,shuru2,str[8],*a="进入",*b="退出";
    printf("%s\t%s\n",a,b);
    shuru=str;
    scanf("%s",shuru);
         if(shuru=*a)               //可能写错了……
         printf("调用进入软件的函数");  //*调用进入软件的函数*//
         else
         if(shuru=*b)
    printf("再见"); //*这里需要加入goto命令!*//
         else
    default:printf("您输入错误");    }
}
不知道这样对不对?
2008-06-20 16:36
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
回复 14# flyue 的帖子
呵呵,不好意思,应该是==吧!
(!strcmp(shuru,a)!必须加string.h头文件吧!了解了!
问下,如果是不同类型的,不知道能不能比较?
比如,shuru是个INT,*a,不知道这样还能不能比较?
2008-06-20 16:49
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
呵呵,谢谢LS的了!虽然说话有点损,不过还是学到东西了!今天晚上回家实践一下!


结论:12和17楼正解!知道C语言中switch功能不是很行,在确定这一类时还是使用strcmp比较不错!
又学到东西了!先实践下,如果有问题在来请教!
谢谢给本帖回复帖子的所有朋友!非常感谢!
2008-06-20 16:59
快速回复:呀,郁闷了!这个switch怎么用啊!各位大哥帮忙看看!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032803 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved