I'm creating a command line symbols generator. The idea is when you call the program with a symbol name it outputs the symbol. I wonder if I can pass the input string as a command to cout.
For every symbol I add I have to manually add "else if" statement.
#include <bits/stdc++.h>
using namespace std;
string const notfound = R"~(
______
_________ .---""" """---.
:______.-': : .--------------. :
| ______ | | : : |
|:______B:| | | Little Error: | |
|:______B:| | | | |
|:______B:| | | Symbol not | |
| | | | found. | |
|:_____: | | | | |
| == | | : : |
| O | : '--------------' :
| o | :'---...______...---'
| o |-._.-i___/' \._
|'-.____o_| '-. '-...______...-' -._
:_________: .____________________ -.___.-.
.'.eeeeeeeeeeeeeeeeee.'. :___:
.'.eeeeeeeeeeeeeeeeeeeeee.'.
:____________________________:
)~";
string const butterfly = R"~(
$¶¶$¶¶$¶$
$¶¶$ø¢¢øø17¶$
¶¢1 7oøoø o7¶1
11¶¶¶¶¶¶¶¶¶ø ø¶ø 1oø¢o1ø o¶¢
¶¶¢¶ø¢¢¢¢77oø¶¶¶ ¶¢7ø$øoo7o$77¶o
¶¶7 7o77177777oø¶¶1 ¶øooo77777oø7¶¶
¶¶¶7o¢øø77ø¢ooooø¶¶¶¶¶¶¢oooo7177¢7o¶7
¶¶7 oooooooo77177o7øø¢¢ø¢ooooøø¢¶
7¶¢o7¢øoo7717oøø¶¶øoø¢ooo¢¢ooooo$7
7¶¶ø17oo7oø¶øøooøooooo777o¢oo71 o¶1
1¶¶$oø$$¢111¢1o¶¶ø7oøøo7ooooø7¢1¶
ø177 o1 ooo ¢ø ¶ø7oooø¢oo1¢1ø7¶
¶¢¢7o7oo¢oøo ø¶ ¶¶ooo77o7ø¶1 o¶
1ø$oøo1øø¢¢7o ¶ø ø¶¢$$¢$¶77oø¶7
7¶17ø77¢7711¶7¶ ¢¢ø 71¢¶1
ø¶$¢øø71oøø¢¢¶ øø¶¶¶¶¶o
7¶oø¶¶¶¢77¶¶
$¶¶ø¢¶¶¶7
)~";
void Print_Symbol(string x){
if(x == "butterfly")
cout<<butterfly<<endl;
// Add else if for every new symbol
else
cout<<notfound<<endl;
}
int main(int argc,char* argv[]){
if(argc < 2){
cout<<"To get a symbol enter: sym Symbol_Name"<<'\n';
cout<<"Available Symbols: "<<'\n';
cout<<"hello, hi,butterfly,.."<<'\n';
}
for(int i=1;i<argc;i++){
string x = argv[i];
Print_Symbol(x);
}
return 0;
}
With few symbols this isn't a problem. But when I move the symbols to another file, I want to be able to add a symbol without recompiling the main program
Is it possible to do it like this
int main(int argc,char* argv[]){
if(argc < 2){
cout<<"To get a symbol enter: sym Symbol_Name"<<'\n';
cout<<"Available Symbols: "<<'\n';
cout<<"hello, hi,butterfly,.."<<'\n';
}
for(int i=1;i<argc;i++){
string x = argv[i];
// pass the string to cout
cout<<x<<'\n';
}
return 0;
}