ホロライブ寝坊単位変換ツール

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> #include <string> #include <regex> #include <math.h> using namespace std; double rou(double); double change(double,string,string); int main(){ string tanni[]={"時間","えりぃと","ちょこ先生","ババ","まつり","ココ","きつ寝","ルーナ","ノエル","ポルカ","スバル","かなた","シオン"}; int time[]={60,251,274,240,225,125,100,90,90,60,50,30,120}; string inp; cin>>inp; regex rg("(\\d+\\.?\\d*)(.+)から(.+)"); smatch ma; double ans; if(regex_search(inp,ma,rg)){ ans = change(stod(ma[1].str()),ma[2].str(),ma[3].str()); cout<<ma[1].str()<<ma[2].str()<<"="<<ans<<ma[3].str()<<endl<<endl; main(); }else{ cout<<"単位の参考:https://seesaawiki.jp/hololivetv/d/\%A5\%DB\%A5\%ED\%A5\%E9\%A5\%A4\%A5\%D6\%C3\%B1\%B0\%CC\%B0\%EC\%CD\%F7"<<endl; cout<<"Inputに x(.x)単位から単位 (例:1えりぃとから時間)と書いて実行(Run)すると、指定した単位に変換されOutputに表示されます\n対応単位であれば全ての組み合わせで変換できます"<<endl; cout<<"注意:数字は半角でお願いします,単位のカタカナをひらがなにするなどの誤字があると動きません"<<endl; cout<<"有効数字は小数点以下2桁までです"<<endl; cout<<"\n対応単位一覧"<<endl; for(int i=0;i<13;i++){ cout<<tanni[i]<<" (1"<<tanni[i]<<"="<<rou((float)time[i]/60)<<"時間)"<<endl; } } } double rou(double time10){ double ret = round(time10*100); return ret/100; } double change(double val,string fr,string to){ string tanni[]={"時間","えりぃと","ちょこ先生","ババ","まつり","ココ","きつ寝","ルーナ","ノエル","ポルカ","スバル","かなた","シオン"}; int time[]={60,251,274,240,225,125,100,90,90,60,50,30,120}; double ret=0; for(int f=0;f<13;f++){ if(fr==tanni[f]){ for(int t=0;t<13;t++){ if(to==tanni[t]){ ret=rou(val*time[f]/time[t]); } } } } return ret; }
Editor Settings
Theme
Key bindings
Full width
Lines