标题:我的case语句有错吗?
只看楼主
test123ok
Rank: 1
等 级:新手上路
帖 子:19
专家分:9
注 册:2011-10-7
结帖率:80%
已结贴  问题点数:20 回复次数:14 
我的case语句有错吗?
# include <stdio.h>
 main()
{
    char w;

    printf("请输入您翻译的单词: ");
    scanf("%c", &w);

    switch (w)
    {
    case 'apple':
        printf("苹果\n");
        break;
    case 'dog':
        printf("狗 \n");
        break;
    case 'bannaner':
        printf("香蕉\n");
        break;
    default:
        printf("尚未收录该单词\n");
        break;
    }

   
}
搜索更多相关主题的帖子: 单词 翻译 default include apple 
2011-10-18 16:21
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:5 
有错误 而且错误还很多  

第一楼主没弄清楚字符与字符串 第二 楼主没弄清楚判断字符串相等的方法 所以错用了switch
程序代码:
#include <stdio.h>
#include <string>
using namespace std;
void main()
{
    char w[100] = {0};

    printf("请输入您翻译的单词: ");
    scanf("%s", w);

    if(0 == strcmp(w,"apple"))
        printf("苹果\n");
    else if(0 == strcmp(w,"dog"))
        printf("狗 \n");
    else if(0 == strcmp(w,"bananaer"))
        printf("香蕉\n");
    else
        printf("尚未收录该单词\n");  
} 



                                         
===========深入<----------------->浅出============
2011-10-18 16:35
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
得分:1 
先别玩switch了,倒回去,重新看字符型数据那节

学C的秘诀=每天都来泡论坛
2011-10-18 16:36
莫一阳
Rank: 1
等 级:新手上路
帖 子:38
专家分:6
注 册:2011-4-27
得分:0 
二楼讲的很明确,顶一个……
2011-10-18 16:40
test123ok
Rank: 1
等 级:新手上路
帖 子:19
专家分:9
注 册:2011-10-7
得分:0 
我想用switch语句怎么用啊?
2011-10-18 16:54
test123ok
Rank: 1
等 级:新手上路
帖 子:19
专家分:9
注 册:2011-10-7
得分:0 
我用的是C代码,上面的是C++,C的正确代码是什么啊?
2011-10-18 16:58
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:3 
回复 5楼 test123ok
自己写函数来做映射  其实还是先用if判断然后把返回值给switch去做判断

从而映射到字符串数组

                                         
===========深入<----------------->浅出============
2011-10-18 17:14
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:10 
程序代码:
#include <stdio.h>
#include <string.h>
char *base[] = {"苹果","","香蕉","尚未收录该单词"};
int jude(const char *str)
{
    if(0 == strcmp(str,"apple"))
        return 0;
    else if(0 == strcmp(str,"dog"))
        return 1;
    else if(0 == strcmp(str,"bananaer"))
        return 2;
    else
        return 3;
}
void main()
{
    char w[100] = {0};

    printf("请输入您翻译的单词: ");
    scanf("%s", w);

    switch(jude(w))
    {
    case 0:
        puts(base[0]);
        break;
    case 1:
        puts(base[1]);
        break;
    case 2:
        puts(base[2]);
        break;
    case 3:
        puts(base[3]);
        break;
    }
} 

                                         
===========深入<----------------->浅出============
2011-10-18 17:19
潇轩
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2011-10-18
得分:0 
回复 2楼 laoyang103
说的好棒啊!
2011-10-19 14:21
yeh2008
Rank: 2
等 级:论坛游民
帖 子:52
专家分:68
注 册:2011-10-11
得分:0 
高手太多了。。。

2011-10-19 14:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-352830-1-1.html




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

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