• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:モジュール分割とユーザ関数)

モジュール分割とユーザ関数

このQ&Aのポイント
  • c言語初心者です。ユーザー関数を作って、n進数の四則演算プログラムをモジュール分割する方法を教えてください。
  • n進数の四則演算をするためのユーザー関数を作成し、それをモジュール分割してプログラムに組み込む方法を教えてください。
  • c言語の初心者です。n進数の四則演算をするプログラムをモジュール分割しようと思っています。具体的な分割方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★宿題っぽいですね。 ・とりあえず、単純に入力部、演算部、表示部の3つに分けてみる。 ・入力部とは、while 文で getchar() 関数で行っている処理です。  また、その入力部も  (1)n進数の入力  (2)数値1の入力  (3)数値2の入力  (4)演算子の入力  と4つに分けます。ただし、数値1と数値2はほぼ同じ処理なので、このような処理に  ユーザ関数を作成してモジュール化するのです。 ・演算部とは、switch(op) の計算部分です。 ・表示部とは、最後の1行の printf 文のことです。 ・下に大まかなユーザ関数とそのメイン関数を載せます。 サンプル: /* 関数のプロトタイプ宣言 */ int get_ntype( void ); ←n進数の入力 int get_number( void ); ←数値の入力 int get_operation( void ); ←演算子の入力 int calc_ntype( int num1, int num2, int ntype ); ←n進数の演算処理 void calc_print( int ans ); ←演算結果を表示 int main( void ) {  int ntype; ←n進数を表す変数名ならば、base とか、radix の名前が良いかも。  int num1;  int num2;  int op;  int ans;    if ( (ntype = get_ntype()) < 0 ){   printf( "エラーメッセージ(1)\n" );   return( 1 );  }  if ( (num1 = get_number()) < 0 ){   printf( "エラーメッセージ(2)\n" );   return( 2 );  }  if ( (op = get_operation()) < 0 ){   printf( "エラーメッセージ(3)\n" );   return( 3 );  }  if ( (num2 = get_number()) < 0 ){   printf( "エラーメッセージ(4)\n" );   return( 4 );  }  if ( (ans = calc_ntype(num1,num2,ntype)) < 0 ){   printf( "エラーメッセージ(5)\n" );   return( 5 );  }  calc_print( ans );  return( 0 ); } その他: ・メイン関数とユーザ関数のプロトタイプ宣言を紹介しました。  上記のを参考にユーザ関数の作成法を学んで下さい。  なお、すべてのユーザ関数がエラーを起こすと -1 を返すように作成して下さい。  エラーのチェックと表示は main 関数で行っています。→このように作成するとすっきり出来ます。 ・以上。参考に!

関連するQ&A