条件がいくつかあるようですが、その条件をヒントにできそうです
コード:  
//引数はchar型の計算方法を示す変数と、double型の計算に用いる値を格納する変数
void cal(char keisan_houhou, double keisan_atai) {
    //最初は0の結果を保持しており、指定された計算方法と値で計算を実行する
    //static,continue,brakeを用いる。
    //値を保持するならstaticがつかえる?
    static double kekka = 0;
    どうにかしてkekkaを計算する
}
//main関数は計算したい内容の入力を終了の指示があるまで無限に繰り返す。
//main関数を無限に繰り返すのではなく、main関数の中の処理を無限に繰り返す?
int main() {
    //char型とdouble型の変数が使われるっぽいから宣言
    char keisan_houhou ;
    double keisan_atai ;
    //while無限ループを用いる
    while(1) {
        どうにかしてkeisan_houhouに値を代入
        
         //リセットの時は、計算に用いられる変数は無視される
         //static,continue,brakeを用いる。
         //ここでcontinueが使えそう
         if(keisan_houhou == '0') continue ;
         どうにかしてkeisan_ataiに値を代入
        //cal関数は多分無限ループの中で使う?
        //引数はchar型の計算方法を示す変数と、double型の計算に用いる値を格納する変数
        cal(keisan_houhou, keisan_atai);
    }
}
出された条件をヒントにしてここまで書けました。
(何も考えていないので間違っている部分があるかも^^;)
これで大体の条件を満たしたつもりですが、まだ不完全な部分があります。
ここまで書いておいてあれですが、
めんどくさいので質問者様の実力向上のためにもご自身で書き上げてみてください^^
今回は条件というヒントがあったので何も考えませんでしたが、将来的には自分でどのようなコードを書けばいいか考えられるようになりたいですね^^