解決済みのQ&A
四則演算を行う電卓プログラムの作成 割り算は小数点以下切捨て +、-、×、÷の...
四則演算を行う電卓プログラムの作成
割り算は小数点以下切捨て
+、-、×、÷の全ての実行例を1つにまとめる。
演算に使用する整数はnum1,num2 演算記号{operator}
関数は4つ作成すること。
プロトタイプ宣言が必要です
計算はadd sub multi divでする
仮引数はn1,n2
関数名に応じた演算 ただし乗算と除算では*と/演算子を使用しない。
演算結果表示
こんな感じの問題文です。
あともう少しで出来るんですけどよくわからなくなってしまったのでお力添えをお願いします・・・・
-
- 質問日時:
- 2010/5/18 16:31:00
-
- 解決日時:
- 2010/5/19 02:24:50
-
- 回答数:
- 3
-
- お礼:
- 知恵コイン
- 50枚
-
- 閲覧数:
- 836
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
jiheiさん
あと少しでできるのであれば頑張って下さい。 ソースを提示してもらえれば修正ができますので、補足をお願いできないでしょうか?
あと、私なりにシンプルなプログラムを作成してみました。 スッキリしており行数が少ないです。
チェックリスト
・割り算は小数点以下切捨て
OK:割り算の結果は切り捨てています
・+、-、×、÷の全ての実行例を1つにまとめる。
?:良く意味が分かりませんでした
・演算に使用する整数はnum1,num2 演算記号{operator}
?演算に使用したのはnum1 num2 を使いました、演算記号とは?
・関数は4つ作成すること。
?:Main関数を含めると5つになってしまいますが問題は無いでしょうか?
・プロトタイプ宣言が必要です
OK:しました。 関数の実体はMain関数の後に定義しています
・計算はadd sub multi divでする
OK:上記関数を定義
・仮引数はn1,n2
OK:仮引数はn1 n2
・関数名に応じた演算 ただし乗算と除算では*と/演算子を使用しない。
OK:関数名に応じた演算を行っています、また乗算と除算には*/演算子は使用していない
・演算結果表示
OK:表示しています
--------------------------------
#include<stdio.h>
int add(int n1,int n2);
int sub(int n1,int n2);
int multi(int n1,int n2);
int div(int n1,int n2);
int main(void){
char buf[20];
int inp,mode=0,p=0,num1=0,num2;
buf[0]=0;
while(1){
inp = getchar();
if(inp=='.' || inp>='0'&&inp<='9') buf[p]=inp,buf[p+1]=0,p=p<18?p+1:p;
else if(!(inp == '+' ||inp == '-' ||inp == '*' ||inp == '/'|| inp == '\n'));
else num2=atoi(buf),p=0,buf[0]=0,num1=mode==0?num2:num1,num1=mode=='+'?add(num1,num2):num1,num1=mode=='-'?sub(num1,num2):num1,num1=mode=='*'?multi(num1,num2):num1,num1=mode=='/'?div(num1,num2):num1,mode=inp;
if(inp=='\n'){
printf("%d\n",num1);
break;
}
}
return 0;
}
int add(int n1,int n2){
return n1+n2;
}
int sub(int n1,int n2){
return n1-n2;
}
int multi(int n1,int n2){
int i=0,m=0;
for(;i<n2;m+=n1,i++);
return m;
}
int div(int n1,int n2){
int i=0,d=n1;
if(n2!=0) {
n2=n2>0?n2:-n2;
for(;d>0;d-=n2,i++);
i=d<0?i-1:i;
}
return i;
}
--------------------------------
- 回答日時:2010/5/18 19:23:26
このQ&Aはまだナイス!されていません。
役に立ったと思った回答に、ナイス!してみよう!
ベストアンサー以外の回答
(2件中1〜2件)
- 並べ替え:回答日時の
- 新しい順
- |
- 古い順
あなたにおすすめの解決済みの質問
- 数字が混在した文字列を2個入力して、それぞれの文字列から2個の整数を切り出し、それら2個の整数に対し...
- 情報(C言語とかのやつ)のレポート課題が出ましたが、問題がムズすぎてわかりません。(1)実行画面ど...
- actionscript3.0での質問です。 テキストフィールドを2つ作成し(インスタンス名はnum1,num2)、、 num1と...
あなたにおすすめの知恵ノート
- JScript Sample VBScriptの関数を使う
- 【表計算術】Excelで創る…SORT機能より関数で部分SORT
- クラスとインスタンス、コンストラクタとメソッドと関数

質問した人からのコメント
ありがとうございました!