| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1374 人关注过本帖
标题:我看着书上的例子。这个程序按什么键结束
只看楼主 加入收藏
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:18 
我看着书上的例子。这个程序按什么键结束
#include <stdio.h>

int main ()
{
    int grade;
    int aCount = 0, bCount = 0;

    printf("Enter the letter grades.\n");
    printf("Enter the EOF character to end input.\n");
    while ((grade = getchar ()) != EOF)
    {
        switch (grade)
        {

        case 'A': case 'a':
            ++aCount;
            break;
        case 'B': case 'b':
            ++bCount;
            break;


        case '\n' :case' ':
            break;

        default:
            printf("Incorrect letter grade entered.");
            printf("Enter a new grade.\n");
            break;
        }
    }
    printf("\nTotals for each letter grade are: \n");
    printf("A:%d\n", aCount);
    printf("B:%d\n", bCount);

    return 0;
}

搜索更多相关主题的帖子: case include character default letter 
2012-11-19 20:30
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
程序代码:
switch (grade)
        {

        case 'A': case 'a':  //如果是字符'A'或'a'的话就跳出循环(也就是结束了)
            ++aCount;
            break;
        case 'B': case 'b':  //同理
            ++bCount;
            break;


        case '\n' :case' ':  //如果到了输入行的结尾,也就是遇到了'\n'换行符就结束,跳出循环(因为有些输入函数如gets会在输入后删除'\n',所以我个人觉得是不是改成'\0'更保险,个人意见
            break;  //break就是跳出循环的意思

        default:  //默认值
            printf("Incorrect letter grade entered.");
            printf("Enter a new grade.\n");
            break;
        }

I have not failed completely
2012-11-19 20:38
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3452
专家分:19340
注 册:2012-3-31
收藏
得分:0 
Enter

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-11-19 20:40
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
哦,忘了你这个是字符不是字符串了...你的是对的('\n')检测字符不能用'\0'....

I have not failed completely
2012-11-19 20:41
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
case '\n' :case' ':  //如果到了输入行的结尾,也就是遇到了'\n'换行符就结束,跳出循环(因为有些输入函数如gets会在输入后删除'\n',所以我个人觉得是不是改成'\0'更保险,个人意见
如果用户输入回车的话就直接跳出,如果输入的不是a也不是b或空格就输出默认值

I have not failed completely
2012-11-19 20:42
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
如果按我原来那个样子的话怎么结束呢。什么是EOF
2012-11-19 20:43
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
回复 3楼 青春无限
好像不可以耶。。。
2012-11-19 20:44
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
如果输入的不是a也不是b或空格就输出默认值
或回车就输出默认值......不好意思啊,习惯了粗心...

I have not failed completely
2012-11-19 20:44
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
EOF好像是读入失败后getchar才会返回的吧?把EOF改成'\0'就行了

I have not failed completely
2012-11-19 20:47
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
不懂呀,。。我是看着书上的例子来写的。。。不知道怎么结束输入
2012-11-19 20:57
快速回复:我看着书上的例子。这个程序按什么键结束
数据加载中...
 
   



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

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