Brian_L 2020-09-13 10:27 采纳率: 100%
浏览 65
已采纳

求大神,一个C++的题(第一次提问不规范,抱歉了)

求大神,一个C++的题,怎么完善 get_token,实现运行示例中的输出
这是一个在Linux控制板里的一个main.cc 文件

很急!!谢谢!!

Input Format                
The input will be any number of lines, containing tokens. Here are the valid tokens:                 

1: +=
2: -=
3: *=
4: /=
5: =
6: !=
7: <
8: >
9: <=
10: >=
11: if
12: fi
13: print
14: return
15: a variable: the 26 single letters a through z.
16: an integer: a non-empty series of digits (0 … 9).

运行示例:
图片说明

图片说明

图片说明

#include
#include
#include

using namespace std;
string progarm_name;

bool get_token(string &input, string &sym){

}

void analyze(istream &in){
for(string line; getline(in, line);)
analyze(line);
}
}
void analyze(string input){
for(string token; get_token(input, token):){
cout << token << '\n';
}
}

int main(int, char *argv[]){
program_name = argv[0];
analyze(cin);
return 0;
}
}

图片说明
图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-09-13 10:47
    关注
    #include <iostream>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string>
    
    using namespace std;
    string program_name;
    bool get_token(string &input, string &sym){
        cout << input << endl;
        return 0;
    }
    void analyze(string input){
        for(string token; get_token(input, token);){
            cout << token << '\n';
        }
    }
    void analyze(istream &in){
        string line;
        while (!in.eof())
        {
            if (!getline(in, line)) break;
            analyze(line);
        }
    }
    int main(int, char *argv[]){
        program_name = argv[0];
        analyze(cin);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?