| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1749 人关注过本帖, 1 人收藏
标题:一段需要修改的C++程序,大家有兴趣的看看
取消只看楼主 加入收藏
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
结帖率:96.55%
收藏(1)
已结贴  问题点数:20 回复次数:3 
一段需要修改的C++程序,大家有兴趣的看看
今天有人问我这样一个问题,我把它放在这里大家一起看看吧。
程序代码:
#include <iostream>
#include <string>
int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
    using std::string;

    string str_c = "carnivore";
    string str_p = "pianist";
    string str_t = "tree";
    string str_g = "game";
    string str_prefix = "A maple is a ";
    string str_reInputInfo = "Please enter a c, p, t, or g: ";
    char ch;
    bool bool_hasInput = false;

    cout << "Please enter one of the following choices:" << endl;
    cout << "c) " << str_c << "\t\t\t"
        << "p) " << str_p << "\n"
        << "t) " << str_t << "\t\t\t\t"
        << "g) " << str_g << "\n";
    do
    {
        while (cin >> ch)
        {
            switch(ch)
            {
            case 'c':cout << str_prefix + str_c + '.'; goto label;
            case 'p':cout << str_prefix + str_p + '.'; goto label;
            case 't':cout << str_prefix + str_t + '.'; goto label;
            case 'g':cout << str_prefix + str_g + '.'; goto label;
            }
            cout << str_reInputInfo;
        }
        cin.clear();
    }while(1);
    label:

    return 0;
}
问题:(1)能否修改程序让程序不使用goto语句?
      (2)这个程序可以避免全部的数字、符号、无效字母和多数像ctrl+C这样的输入,可不能避免ctrl+Z的输入,当输入ctrl+Z后不能按预期的那样提示信息。如何修改程序?
搜索更多相关主题的帖子: 兴趣 
2010-12-08 23:10
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
你说的也可以,但我放在帖子里的程序是我把源程序(源程序是一个非常庞大的程序段)极度精简后的程序,如果在源程序中使用这样的修改,不利于阅读,而且稍有不慎会出现程序流程上的逻辑错误,所以我们一般不在程序的中间,尤其是在main()函数这样的重要函数的中间添加程序的出口。
2010-12-09 18:39
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
感谢各位朋友能够关注我提出的这个问题,谢谢大家。
2010-12-11 21:02
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
没有解决第二个问题,而且程序看起来有点不清晰
2010-12-18 18:39
快速回复:一段需要修改的C++程序,大家有兴趣的看看
数据加载中...
 
   



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

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