関数電卓とは?
関数電卓というと、「(複数の演算を含んだ)数式を入力し、最後に1度だけ計算を実行」するタイプがやや一般的かと思われます。
一方普通の電卓は「(連続で入力したとしても)1度の計算で1つの演算のみ」といった操作になりますが
質問で言われている関数電卓はどちらの方向性でしょうか?
(『拡張』がどういう意図なのか……)
以降、次のように呼び分けるとして
①数式の関数電卓
②普通の電卓
例えば 1 + 2 * 3 =
のように入力した場合
①では 1 + (2 * 3)
と演算子の優先順位を考慮した計算となり結果は 7
ですが
②では (1 + 2) * 3
と入力順に1つずつ計算が実行されて結果は 9
です。
①数式の関数電卓の場合
実装するには構文解析が必要になります
②普通の電卓に演算を追加するだけの場合
参考にされている電卓スクショを見る限りは、現状対応しているのは四則演算のみだけのようなので
これは「中置記法の二項演算」のみに対応している、一番シンプルなタイプの電卓だと思われます。
中身までは読んでないですが、一般的に「入力中の数値」だけでなく内部で「1つ前の数値」「演算子」も保持するような
簡易の状態遷移機械(ステートマシン)として扱うのが普通です。
拡張したいという sin,cos などの三角関数は四則演算と異なり「単項演算」ですので
そのまま同じ処理では対応できず、まず「電卓操作としてどうあるべきか」の考察が必要となります。
進め方
質問者さんのレベル感が分からないのですが、まず元のソースがよく分からないレベルであれば
四則演算の延長線上にある「% 剰余計算」のようなものを追加実装してみればよいでしょう。
そういうレベルは既にクリアできている、というのであれば
どちらの方向性なのかそもそも逆に何が分からないのかも不明なので
改めて自分でどこまでやれたかなどを示し、より詳細な質問を追記すると回答しやすくなるでしょう。
(仮に前述の通り「電卓操作としてどうあるべきか」が定まってない場合、どこにコードを追加するか以前の問題です)