求大神,一个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;
}
}

图片说明
图片说明

#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;
}