Link_Ray 2017-07-30 14:12 采纳率: 60%
浏览 2744
已采纳

C++为什么我的代码没错,却无法编译呢

图片说明

 #include <iostream>
#include <string>
using namespace std;
string s;
string ori;
int cnt = 0;
bool expression_value();
bool term_value();
bool factor_value();


bool expression_value()
{
    bool result = term_value();
    char next;
    bool more = true;
    while(more)
    {
        next = ori[cnt];
        if(next == '&')
        {
            cnt++;
            bool next_expression = term_value();
            result = next_expression && result;
        }
        else if(next == '|')
        {
            cnt++;
            bool next_expression = term_value();
            result = next_expression || result;
        }
        else
            more = false;
    }
    return result;
}
bool term_value()
{
    bool result = factor_value();
    char next;
    bool more = false;
    while(more)
    {
        next = ori[cnt];
        if(next == ' ')
            continue;
        if(next == '&')
        {
            cnt++;
            bool next_expression = term_value();
            result = next_expression && result;
        }
        else if(next == '|')
        {
            cnt++;
            bool next_expression = term_value();
            result = next_expression || result;
        }
        else
            more = false;
    }
    return result;
}
bool factor_expression()
{
    bool result = false;
    char c;
    c=ori[cnt];
    if(c == '!')
    {
        cnt++;
        result = !result;
    }
    if(c == '(')
    {
        cnt++;
        result = expression_value();
        cnt++;
    }
    if(c == 'V')
        return true;
    if(c== 'F')
        return false;
    return result;
}
int main()
{
    string s,ori;
    int ncase=0;
    while(getline(cin,s))
    {
        ncase++;
        for(int i = 0;i<s.size();i++)
        {
            char ch = s[i];
            if(s[i]!=' ')
                ori+=ch;
        }
        bool result = expression_value();
        if(result)
            cout<<"Expression "<<ncase<<": V"<<endl;
        else
            cout<<"Expression "<<ncase<<": F"<<endl;
        ori.clear();
        cnt=0;
    }
    return 0;
}![图片说明](https://img-ask.csdn.net/upload/201707/30/1501423942_674742.png)

提交到OJ上面显示我的三个函数无定义,这是为什么??

  • 写回答

4条回答 默认 最新

  • shen_wei 2017-07-31 07:20
    关注

    bool factor_value();

    bool factor_expression()

    确定这两个那个是正确的。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能