C/C++の宿題片付けます 138代目

このエントリーをはてなブックマークに追加
334デフォルトの名無しさん
[1] 授業単元: 情報(C++)
[2] 問題文:2つの値 x と y の差を(非負の整数として)返す関数形式マクロ diff(x, y) を定義し, main関数で
4つの整数 a, b, c, d をキーボードから読み込み, diff(a, b) * diff(c, d) を出力するようなプログラムを作成せよ。
また, 出力結果が正しいことを確認するため, 関数として diff2(x, y) も作成し, 結果が同じになることを同じソースコード内で確認できるようにしなさい。

ここまで作りました↓
#define diff(x, y) (diff((a), (b)) * diff((c), (d))
#include <stdio.h>
int main(void)
{
int a,b,c,d=0;
printf("整数aを入力してください:");
scanf("%d",&a);
printf("整数bを入力してください:");
scanf("%d",&b);
printf("整数cを入力してください:");
scanf("%d",&c);
printf("整数dを入力してください:");
scanf("%d",&d);
printf("%d",diff(x,y));
return 0;
}
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名:visual studio 2008
 [3.3] 言語:C++
[4] 期限: 明日(2010年7月23日(金))まで
[5]条件:特にありません。
よろしくお願いします。